【发布时间】:2021-11-29 23:37:51
【问题描述】:
我正在分析内核(nsight 2021.2.1,计算能力 8.3,cuda 11.4)并查看为源代码行执行的度量平均线程。我的理解是这个值可以在 0 到 32 之间。但是,在我的分析中,它要高得多。
显然,我对基于指令的指令度量标准了解甚少,因此我对平均线程执行的含义了解甚少。我应该如何解释这个值,我能从中得出什么结论吗?
【问题讨论】:
标签: cuda
我正在分析内核(nsight 2021.2.1,计算能力 8.3,cuda 11.4)并查看为源代码行执行的度量平均线程。我的理解是这个值可以在 0 到 32 之间。但是,在我的分析中,它要高得多。
显然,我对基于指令的指令度量标准了解甚少,因此我对平均线程执行的含义了解甚少。我应该如何解释这个值,我能从中得出什么结论吗?
【问题讨论】:
标签: cuda
这是源视图中的错误。源视图列从汇编指令汇总到源代码行。这适用于执行的指令和执行的预测线程指令,但不适用于平均。线程已执行。
正确的值是
Predicated-On Thread Instructions Executed / Instructions Executed = Avg Thread Executed
91,714,560,000 / 2,866,080,000 = 32
如果您单击 Source Line 并在 SASS 视图中查看相关的汇编代码,您可能会发现 7 条指令。
224 / 32 = 7.
【讨论】: