【发布时间】:2012-06-29 23:18:49
【问题描述】:
“cuda c 编程指南”给出了使用 cuda 数组的示例。 这些示例仅限于 2D。因此,对于 2D cuda 数组,我只需执行以下操作 将主机数据复制到设备内存:
// Copy to device memory some data located at address h_data in host memory
// cuInputArray is a 2D cuda array
cudaMemcpyToArray(cuInputArray, 0, 0, host_data, size_bytes, cudaMemcpyHostToDevice);
// with e.g. size_bytes := size_arr_x * size_arr_y * sizeof(float)
我尝试了相同的方法,将 cuInputArray 作为 3D cuda 数组,但没有取得多大成功, 得到无效的参数错误。
那么如何将我的主机数据获取到设备内存并返回?
【问题讨论】:
-
要复制到全局内存吗?还是纹理内存?
-
@pQB:在 CUDA 中没有复制到纹理内存之类的东西。
-
@talonmies (时刻注意 :) 你是对的。我的意思是,如果他想从全局内存或纹理内存中读取输入数据。
-
目前全局内存就足够了。
标签: c multidimensional-array cuda