我声明了共享内存并尝试使用Nsight 2.2跟踪visual studio 2010.我正在使用带有quadro 5000的CUDA 4.2。
在我的kernel.cu中:
extern __shared__ ushort2 sampleGatheringSM[];
在我的函数中调用内核:
sampleGathering_SM_size =dimBlock.x*dimBlock.y*4*sizeof(ushort2)*2; // = 10240
sampleGatheringKernel<<<dimGrid, dimBlock, sampleGathering_SM_size >>>(dev_image, dev_gradient, width, height);
当我看到Nsight上的analisys活动然后“CUDA推出”时,它告诉我:
我是否正确分配了共享内存? 我不明白如何分配注册。
编辑:
它还告诉我:
答案 0 :(得分:1)
动态共享内存的声明是正确的。 Nsight 2.2分析跟踪报告存在仅针对CUDA跟踪活动的错误。分析跟踪活动使用 Nsight |选项运行的选项 | 分析 | CUDA内核跟踪模式 = 序列化和Analysis Profiler CUDA活动显示正确的值。此错误将在下一版本的Nsight中修复。