0
我有一个数组包含两个元素的结构,我发送到全局内存中的CUDA,并从全局内存读取值。CUDA上的纹理内存结构
当我阅读了一些书和帖子,并且由于我只是从结构中读取值,我认为如果可以将我的数组存储在纹理内存中,我会很感兴趣。我使用的内核之外下面的代码:
texture<node, cudaTextureType1D, cudaReadModeElementType> textureNode;
,并在主要以下行()
gpuErrchk(cudaMemcpy(tree_d, tree, n * sizeof(node), cudaMemcpyHostToDevice));
gpuErrchk(cudaBindTexture((size_t)0,textureNode, tree_d, n*sizeof(node)));
,并在我的内核我用下面的:
printf("Here %d\n",tex1Dfetch(textureNode, 0));
,但我做的有一个编译错误,通过使用第一行中的“节点”,但它编译如果我用int替换它,但我的观点将通过使用类似于访问我的结构数组中的元素:
tree[i].left;
我已经试过许多东西,但一直没能使其工作,所以我不知道这是否可能。
感谢