0
我試圖將已映射爲零拷貝的主機內存綁定到紋理,但看起來不可能。在CUDA中綁定固定映射內存的紋理
下面是一個代碼示例:
float* a;
float* d_a;
cudaSetDeviceFlags(cudaDeviceMapHost);
cudaHostAlloc((void **)&a, bytes, cudaHostAllocMapped);
cudaHostGetDevicePointer((void **)&d_a, (void *)a, 0);
texture<float, 2, cudaReadModeElementType> tex;
cudaBindTexture2D(0, &tex, d_a, &channelDesc, width, height, pitch);
它是建議您所使用的固定內存和剛剛超過它複製到被綁定到紋理設備內存?
全局定義紋理嗎?如果您從主機內存中讀取紋理,也可以使用cudaHostAllocWriteCombined – fabrizioM 2010-04-15 07:36:32
是的,它是全局定義的。 cudaHostAllocWriteCombined通過避免緩存使得設備端的讀取效率更高。 – sjchoi 2010-04-15 15:43:59