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;
我已經試過許多東西,但一直沒能使其工作,所以我不知道這是否可能。
感謝