我正在使用具有6.0计算能力的Tesla P100。 我想找到一个可以自动为我的内核代码提供最佳网格和块大小的工具。
我最近发现了 CUDA占用率计算器(。xls电子表格)。 但是当我下载该文件时,我意识到它有点过时了,因为Capability一直到2.1。
我试图搜索该电子表格的较新版本,该版本可以计算出更高的抄送,但未显示任何内容。
因此,我尝试寻找替代方法,发现从CUDA 6.5开始引入了Occupancy APIs。 这是电子表格的更新替代品吗?
此外,我发现tool 来自GitHub。 这是一个好工具吗?我可以考虑将其替代吗?还是使用前面提到的“占用API”更好?
我也在问自己: CUDA分析器( nvprof 或 Nsight )可以对占用率做出一些估算并给出最佳的块/网格大小吗?
我对那些工具不太熟练,所以如果我问一些琐碎的问题,我感到很抱歉。
答案 0 :(得分:4)
CUDA工具包随附了CUDA占用计算器电子表格的更新版本,因此,当您安装CUDA工具包时,您的计算机上还将安装excel电子表格。也许最简单的方法是为您的OS使用文件查找实用程序来找到它。
CUDA occupancy API允许您在运行时进行相同的计算。
NVIDIA分析器提供了一些检查已占用空间的功能。例如,nvvp可以显示已达到的占用率,您可以使用nvprof收集一个metric for achieved occupancy。您可能希望仅在the profiler docs中搜索单词“ occupancy”。这些工具无法估计最佳的块和网格大小,但可以指示占用率是否可能限制应用程序的性能。这些工具还可以报告每次内核启动的实际块和网格大小。
答案 1 :(得分:-1)
有一个非常完整的工具,可以帮助您找到最佳的配置 检查我的配置和图表 您希望红点位于每个图的峰上