title: 什么是流水线利用率?
流水线利用率衡量的是内核 (kernel)在每个流式多处理器 (Streaming Multiprocessor, SM)内使用执行资源的效率。
每个流式多处理器 (SM)包含多个独立的执行流水线,这些流水线针对不同的指令类型进行了优化——CUDA 核心 (CUDA Cores)用于通用浮点运算,张量核心 (Tensor Cores)用于张量收缩,加载/存储单元 (load/store units)用于内存访问,以及用于分支的控制流单元。流水线利用率显示了当某个流水线至少有一个线程束 (warp)在执行时,该流水线达到其峰值速率 (peak rate)的百分比,这个值是所有活跃流式多处理器 (SM)上的平均值。
在从流水线利用率层面调试应用程序性能之前,GPU 程序员应首先考虑GPU 内核利用率和流式多处理器利用率 (SM utilization)。
流水线利用率可以通过 NSight Compute (ncu) 中的 sm__inst_executed_pipe_*.avg.pct_of_peak_sustained_active 指标获取,其中星号代表特定的流水线,例如 fma、tensor、lsu 或 adu(地址)。