我有一个具有以下设计的数组:color[100][3]
. 我想在内核中填充这个数组,然后在主机代码中使用它。我怎样才能做到这一点?我只需要cudaMemcpy()
调用发送和获取。
这是我必须发送到设备的内容:
err = cudaMallocPitch(&d_color, &pitch, 3 * sizeof(unsigned char),100);
这就是我现在必须从设备中获取的内容(已编辑):
err = cudaMemcpy2D(color,100*3,d_color,pitch,3 *sizeof(unsigned char),3, cudaMemcpyDeviceToHost);
cudaMemcpy2D 的最后一次调用会引发以下错误:
“无效的论点”
如何获得color[100][3]
阵列的间距?我应该假设它是3+1
填充的吗?