之间有什么区别
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 *”类型的参数不兼容
答案 0 :(得分:9)
devAddXdir
必须是该代码工作的指针。此外,您必须通过addXdir
引用cudaMemcpy
而不是值{}。像这样:
int addXdir = 1;
int * devAddXdir;
cudaMalloc((void**)&devAddXdir, sizeof(int));
cudaMemcpy(devAddXdir, &addXdir, sizeof(int), cudaMemcpyHostToDevice);