使用NVIDIA分析器进行分析
并行性不足
条件
如果内核所做的工作很少,那么memcpy
内核启动可以抵消任何性能提升。考虑处理更大的样本集(从而增加循环大小)。要检测这种情况,请查看nvvpreport
.
行动
在循环中做更多的工作还是增加样本集的大小
太多的本地线程寄存器
条件
如果在循环体中使用了太多的local/temp变量,则会在每个线程的寄存器文件中导致较高的寄存器压力。在GPU安全构建模式下运行可以检测到这种情况。或者,nvvp
报告了这一事实。
行动
考虑使用不同的块大小coder.gpu.kernel
编译指示。