0

Pascal SM 每个 SM 有 4 个调度程序,当我们得到类似 3 作为 IPC 的东西时,这是否意味着 SM 在一个周期中调度了 3 条指令?此外,NVPROF 是否考虑该内核的所有 SM 的平均 IPC 并报告它?

如果一个 SM 的 IPC 为 3,那么具有 2 个 SM 的 GPU 应该给我们 6 的 IPC,对吗?

另外,我正在使用一个名为 GPGPU sim 的模拟器,它报告更高范围 (80-120) 的 IPC 我假设他们正在计算每个内核的 IPC 并将指标缩放到整个模拟 GPU,但我不确定。

有人可以验证IPC指标吗?

4

1 回答 1

4

NVPROF ipc 指标计算为 SUM(sm_inst_executed) / SUM(sm_active_cycles)

这导致单个 SM 的平均 IPC。Maxwell/Pascal SM 的最大 SM IPC 为 6。Volta/Turing SM 的最大 SM IPC 为 4。

sm_inst_executed - 在指令必须完成的点计算的已执行扭曲指令的数量(由于推测性执行而无法回滚)。计算完全断定的关闭指令。

sm_active_cycles - SM 至少有 1 个活动/驻留扭曲的周期数。

NVIDIA Perfworks 提供以下指标:

sm[sp]__inst_executed_{avg, sum}{活动,经过}_周期。

_sum 变量是总 IPC(最大值是 SM_COUNT * SM_MAX_IPC) _avg 变量是平均 IPC (SUM(sm__inst_executed) / SUM(sm__{active, elapsed}_cycle)) elapsed_cycles 变量包括 SM 不活动的周期。

于 2018-07-13T06:10:38.877 回答