致电
cudaError_t cuda_error;
int device;
cuda_error = cudaGetDevice(&device);
assert(cudaSuccess == cuda_error);
cudaDeviceProp prop;
cuda_error = cudaGetDeviceProperties(&prop, device);
assert(cudaSuccess == cuda_error);
在带有
的GTX 970上用
编译-gencode=arch=compute_52,code="compute_52,sm_52"
我得到以下内存属性:
prop.totalGlobalMem == 0
和
prop.sharedMemPerBlock == 49152 (48k).
我预计总内存约为4GB 每块96kB共享内存,因为GTX 970使用GM204。
我错过了什么吗?
预先感谢任何支持,
米歇尔
答案 0 :(得分:4)
我主要担心的是(或者是)每个块的共享内存
SM_52(和SM_37)设备每个多处理器(每个SM)有96KB shared memory个可用,但单个线程块只能使用48KB。因此,每块48MB的共享内存报告是正确的。
引自上述链接博客:
"嗯,GM204更好,每个SMM增加到96KB的专用共享内存。你真的不需要改变以利用这个功能:每个线程块的最大共享内存仍然是48KB ,"