ai-infra-interview-305

第 183 题:Nsight Compute的roofline model分析?

题目

Nsight Compute的roofline model分析?


完整讲解

一、Roofline model 概念

Roofline:以 算术强度(Arithmetic Intensity,AI = FLOPs/Byte,即每字节数据能做的浮点运算数)为横轴、可达性能(GFLOPS 等)为纵轴;曲线由算力上限(ridge point 左侧)和带宽上限(右侧)组成,形成「屋顶」。AI 小时受内存带宽限制(带宽 bound);AI 大时受算力限制(compute bound)。用于判断 kernel 或算子落在哪一侧、优化方向是省带宽还是提算力。

二、Nsight Compute 中的 roofline

Nsight Compute(ncu)可对单 kernel 做详细分析,并给出 Roofline 图:标出该 kernel 的 AI实际达到的吞吐在屋顶上的位置。若在带宽 roof 下方,说明内存受限,优化方向为减少全局内存访问、合并访问、用共享内存等;若在算力 roof 下方,说明计算受限,可考虑提高 occupancy、更多算术等。ncu 还提供 Memory Workload AnalysisCompute Workload Analysis 与具体瓶颈建议。

三、工程用法

先跑 ncu --set full -o report python train.py 等采集 kernel;在 Nsight Compute 中打开,看 Roofline 与 Top Recommendations。结合 Nsight Systems 的 timeline 确定要重点看的 kernel(热点或 gap 附近),再用 ncu 做单 kernel roofline 与建议优化。

面试要点


记忆要点

  1. Roofline:横轴 AI,纵轴性能;左带宽右算力。
  2. ncu 给单 kernel Roofline + 瓶颈建议。
  3. 带宽 bound → 减访存;算力 bound → 提算力利用。
返回模块 返回总览