我有一个数组:
__device__ float4 data[64];
现在我希望将这个数组绑定到3D纹理,我怎么能这样做?
我只知道如何将cudaArray绑定到3D纹理。我应该将数据[64]数组复制到主机内存,然后将该内存复制到cudaArray吗?或者有没有办法直接将此数组复制到cudaArray?
提前致谢。
答案 0 :(得分:0)
不,您只能将3D-cudaArrays绑定到3D纹理。您可以直接使用cudaMemcpy3D(const struct cudaMemcpy3DParms *p);
将普通设备内存复制到cudaArray,而无需查看主机。但另一方面,为什么要使用普通的扁平阵列呢?如果您需要写入阵列,可能需要查看cuda曲面并避免复制。