如何将__device__数组(不是cudaArray)绑定到CUDA中的3D纹理

时间:2013-06-23 02:35:08

标签: cuda

我有一个数组:

__device__ float4 data[64];

现在我希望将这个数组绑定到3D纹理,我怎么能这样做?

我只知道如何将cudaArray绑定到3D纹理。我应该将数据[64]数组复制到主机内存,然后将该内存复制到cudaArray吗?或者有没有办法直接将此数组复制到cudaArray?

提前致谢。

1 个答案:

答案 0 :(得分:0)

不,您只能将3D-cudaArrays绑定到3D纹理。您可以直接使用cudaMemcpy3D(const struct cudaMemcpy3DParms *p);将普通设备内存复制到cudaArray,而无需查看主机。但另一方面,为什么要使用普通的扁平阵列呢?如果您需要写入阵列,可能需要查看cuda曲面并避免复制。