1
有什麼方法可以在2維中分配和複製CUDA常量內存區域? __constant__的cudaMemcpyToSymnbol
似乎不是一個選項。CUDA常量內存2維
有什麼方法可以在2維中分配和複製CUDA常量內存區域? __constant__的cudaMemcpyToSymnbol
似乎不是一個選項。CUDA常量內存2維
在CUDA SDK(或樣品)的quasirandomGenerator示例顯示了一個二維表中恆定存儲器被分配與相應的cudaMemcpyToSymbol來填充該表中quasirandomGenerator_kernel.cuh二維表的
聲明:
static __constant__ unsigned int c_Table[QRNG_DIMENSIONS][QRNG_RESOLUTION];
cudaMemcpyToSymbol呼叫:
//Table initialization routine
static void initTableGPU(unsigned int tableCPU[QRNG_DIMENSIONS][QRNG_RESOLUTION]){
cutilSafeCall(cudaMemcpyToSymbol(
c_Table,
tableCPU,
QRNG_DIMENSIONS * QRNG_RESOLUTION * sizeof(unsigned int)
));
}
表被引擎蓋下在處理一個一維的方式(如pQB所建議的),所以我不知道這是OP究竟在尋找什麼。 安裝CUDA SDK(或CUDA 5.0 RC工具包中調用的示例)時會自動安裝該示例,但您可以在網絡上單獨找到它here. 選擇右側的相應下載鏈接以獲取存檔與示例代碼。然後打開存檔並查找文件quasirandomGenerator_kernel.cuh
爲什麼不在1維中分配它並按行優先級訪問它? – pQB
在CUDA SDK或示例中的quasirandomGenerator示例顯示在常量內存中使用相應的cudaMemcpyToSymbol分配的二維表來填充quasirandomGenerator_kernel.cuh中的表 –
@RobertCrovella:您會添加一個答案,其中包含一些來自示例的選擇部分,參考這個例子本身? –