-2

我正在 cuda 4.2 中制作一个程序,我遇到了这个问题......

我需要对 2 个图像执行相同的代码。所以我把代码放在一个for循环中,我cudaMalloc在 for 循环之前调用了一次。循环中的代码使用cudaMemcpy(..,..,..,cudaMemcpyHostToDevice)相同的设备数组指针。所以我认为新值(来自第一张图像)将在第二个循环中替换旧值(来自第二张图像)。但是cudaMemcpy(..,..,..,cudaMemcpyHostToDevice)失败了...

我必须使用其他功能吗?

非常感谢!

4

1 回答 1

1

我有一个可能类似的问题,原来我在循环结束时在内部调用 cudaFree() 但 cudaMalloc() 在循环之前只调用了一次。这意味着当我在第一次不再分配内存后尝试将值复制到 GPU 上时,我最终确保 CudaMalloc 和 CudaFree 都在循环之外并且工作正常。

于 2015-03-25T16:54:59.110 回答