CUDA的纹理记忆结构
我有一个数组,包含两个元素的结构,我将其发送到全局内存中的CUDA,并从全局内存中读取值 当我阅读一些书籍和帖子时,由于我只从结构中读取值,我想如果可以将数组存储在纹理内存中,我会很感兴趣。我在内核之外使用了以下代码:CUDA的纹理记忆结构,c,cuda,nvidia,C,Cuda,Nvidia,我有一个数组,包含两个元素的结构,我将其发送到全局内存中的CUDA,并从全局内存中读取值 当我阅读一些书籍和帖子时,由于我只从结构中读取值,我想如果可以将数组存储在纹理内存中,我会很感兴趣。我在内核之外使用了以下代码: texture<node, cudaTextureType1D, cudaReadModeElementType> textureNode; 在我的内核中,我使用了以下内容: printf("Here %d\n",tex1Dfetch(texture
texture<node, cudaTextureType1D, cudaReadModeElementType> textureNode;
在我的内核中,我使用了以下内容:
printf("Here %d\n",tex1Dfetch(textureNode, 0 ));
但是我确实有一个编译错误,在第一行中使用“node”,但是如果我用int替换它,它会编译,但我的重点是通过使用以下内容访问我的结构数组中的元素:
tree[i].left;
我尝试了很多方法,但都没能成功,所以我想知道这是否可行
谢谢纹理仅支持CUDA内置类型。无法将用户结构绑定到纹理 如果您的结构恰好与CUDA内置向量类型具有相同的大小和对齐方式,则可以假装它是内置类型并绑定它,但这只是空想
tree[i].left;