为了测量 CUDA 程序的指标/事件,我尝试使用如下命令行:
nvprof --metrics <<metric_name>>
我还在 Visual profiler 上测量了相同的指标nvvp
。我注意到我得到的值没有区别。
当我选择像achieved_occupancy
. 但这会随着每次执行而变化,这可能就是为什么我每次运行它都会得到不同结果的原因,无论我使用的是nvvp
还是nvprof
.
问题:
我的印象是nvvp
和nvprof
完全一样,那nvvp
只是一个建立在上面的GUI,nvprof
以便于使用。但是我得到了这个建议:
始终使用视觉分析器。永远不要使用命令行。
另外,这个问题说:
我不想使用命令行分析器,因为我需要全局加载/存储效率、回放和 DRAM 利用率,这些在可视分析器中更加明显。
除了 '动态' 指标achieved_occupancy
,我从未注意到结果有任何差异。那么,这个建议有效吗?工作方式是否存在某种缺陷nvprof
?我想知道在命令行表单上使用可视化分析器的优势(如果有的话)。
更具体地说,是否存在nvprof
给出错误结果的指标?
笔记: