有没有办法在二维中分配和复制 CUDA 常量内存区域?cudaMemcpyToSymnbol
__constant__ 似乎不是一个选择。
问问题
1004 次
1 回答
3
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 工具包中调用的示例)时,该示例会自动安装,但您可以在此处单独在 Web 上找到它。 选择右侧的相应下载链接以获取包含示例代码的存档。然后打开存档并查找文件 quasirandomGenerator_kernel.cuh
于 2012-09-26T19:48:46.470 回答