cudaMemcpy - 将int从主机复制到设备错误

时间:2011-06-06 08:26:28

标签: cuda

之间有什么区别
 cudaMemcpy and cudaMemset??

如何将int值从主机复制到设备? 这是我正在使用的代码

int addXdir = 1;
int devAddXdir;
cudaMalloc((void**)&devAddXdir, sizeof(int));
cudaMemcpy(devAddXdir, addXdir, sizeof(int), cudaMemcpyHostToDevice);

它会出现以下错误     错误:类型“int”的参数与类型“void *”的参数不兼容     error:类型“int”的参数与“const void *”类型的参数不兼容

1 个答案:

答案 0 :(得分:9)

devAddXdir必须是该代码工作的指针。此外,您必须通过addXdir引用cudaMemcpy而不是值{}。像这样:

int addXdir = 1;
int * devAddXdir;
cudaMalloc((void**)&devAddXdir, sizeof(int));
cudaMemcpy(devAddXdir, &addXdir, sizeof(int), cudaMemcpyHostToDevice);