【问题标题】:cudaMemcpy always returns me cudaErrorInvalidValuecudaMemcpy 总是返回我 cudaErrorInvalidValue
【发布时间】:2016-05-06 09:34:18
【问题描述】:

我对使用 cudaMalloc 函数有疑问。事实上,即使在像下面这个例子这样非常简单的情况下,它也总是返回一个“cudaErrorInvalidValue”错误:

cudaError_t error;
int hostTest = 12;
int* deviceTest = NULL;
error = cudaMemcpy(deviceTest, &hostTest, sizeof(int), cudaMemcpyHostToDevice);

但是,cudaMalloc 运行良好。这很奇怪。 我的构建配置为计算能力 v5.0 (compute_50,sm_50),我的显卡是 Geforce GTX 960M。

【问题讨论】:

    标签: cuda gpu gpgpu


    【解决方案1】:

    在此示例中,您需要使用 cudaMalloc 分配内存并将其返回的指针分配给 deviceTest,因为此变量是指向设备中的内存。

    这样的事情应该可以解决问题

     int hostTest = 12;
     int *deviceTest;
     cudaMalloc((void **)&deviceTest,sizeof(int));
     cudaMemcpy(deviceTest, &hostTest,sizeof(int),cudaMemcpyHostToDevice);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多