我有問題綁定到紋理內存全局設備內存的一個子部分。CUDA紋理內存綁定全局內存的子部分
我有充滿存儲器的大全球裝置陣列如下:
雙* device_global; ((** **)& device_global,sizeof(double)* N));
cudaMemcpy(device_global,host,sizeof(double)* N,cudaMemcpyHostToDevice));
我在for循環中運行多個內核。
每個內核所需其我綁定到紋理通過device_global
一小部分(INT偏移量= 100):
cudaBindTexture(0,texRef的,device_global,channelDesc,的sizeof(雙)* 10) ;
但是,我面臨的問題是,我無法使用指針算術來僅通過循環偏移來綁定循環部分device_global
。
我想這樣做:
cudaBindTexture(0,將texRef,device_global + offsett * 1,channelDesc,的sizeof(雙)* 10);
應該指出的是,如果偏移量設置爲0,上述方法可以工作,但某種程度上指針算術不起作用。
任何幫助或其他指導方針將不勝感激。
IIRC指針算法是確定的,即使是設備指針。您是否在循環結束時解除了紋理?什麼是錯誤? – LumpN 2011-03-30 17:07:52