2013-06-23 32 views
0

我有一个数组:如何将__device__阵列(未cudaArray)绑定到一个3D纹理CUDA

__device__ float4 data[64]; 

现在我希望这个数组3D纹理结合,我怎么能做到这一点?

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

在此先感谢。

回答

0

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

+0

感谢您的帮助。我以前没有用过cuda表面。我要去看看它。 – shenxian