Skip to content

性能分析(Performance Analysis) ​

专题类型:基础支撑 能力出口:把性能现象转化为可复查的测量、归因与回归证据

训练变慢、首 Token 延迟升高、显存峰值抬升或多卡扩展效率下降时,首先要确定变化发生在哪个阶段、由哪些对象造成,以及测量结果是否超过正常波动。本专题沿着“问题与指标 → 可重复基线 → 时间线与性能剖析 → 瓶颈归因 → 回归判断”建立取证能力。

性能分析回答“时间和资源去了哪里”;具体策略的机制由训练、推理、量化、通信与算子专题讲解,候选选择、组合复测和工程决策进入性能优化。

学习路线 ​

按 Task 顺序学习时使用下表;需要连续完成一次排查时进入性能分析问题链,已有现象或结果时使用性能分析判断手册。

性能分析学习路线

Task / 主题本阶段要回答的问题学习入口与验证出口学习顺序主要正文入口
Task0 · 测量问题与指标“慢、占显存或扩展差”对应哪个阶段、指标和质量门槛?核心:Part 00 · 19 异常定位 → Part 00 · 20 性能证据与实验设计现象 → 阶段 → 指标 → 质量门槛 → 可证伪假设专题正文 · 01 测量问题与证据链
Task1 · 可重复基线环境和工作负载怎样固定,才能区分真实性能变化与测量波动?核心:Part 00 · 17 Profiling 基础 → Part 00 · 20 性能证据与实验设计环境快照 → 工作负载 → 预热 / 重复测量 → 失败运行 → 基线分布专题正文 · 02 可重复基线
Task2 · 时间线与关键路径总耗时由计算、启动、输入搬运、同步还是等待主导?核心:Part 00 · 17 Profiling 基础 → Part 02 · PERF-TRACE Trace 依赖与关键路径;基础:Part 01 · 07 CPU/GPU 异构调度阶段计时 → CPU / GPU 时间线 → 依赖图 → 关键路径 → 暴露等待专题正文 · 03 时间线、I/O 与关键路径
Task3 · 性能剖析与对象驻留哪些算子、状态和缓冲区主导时间或容量,它们何时进入和离开关键路径?核心:Part 00 · 17 Profiling 基础 → Part 00 · 18 显存分析 → Part 02 · 43 训练内存账本算子剖析 → 对象账本 → 生命周期 → 峰值重叠专题正文 · 04 性能剖析与对象驻留
Task4 · 瓶颈归因关键路径受计算、带宽、容量、通信、I/O 还是排队约束?核心:Part 01 · 13 性能分析 → Part 02 · 47 NCCL Profiling候选归因 → 判别实验 → 反例检查 → 主约束专题正文 · 05 瓶颈归因
Task5 · 回归、噪声与阈值baseline 与 candidate 的差异是否超过波动并满足质量门槛?核心:Part 00 · 20 性能证据与实验设计 → Part 02 · PERF-REGRESSION 配对基准与回归阈值;项目:Part 02 · 66 推理性能比较、Part 02 · 73 训练性能分析配对条件 → 失败分母 → 比率分布 → 回归阈值 → 失败与回退专题正文 · 06 Benchmark 与回归验证
Task6 · 证据与行动当前证据支持继续测量、进入优化、保留候选还是回退?项目:Part 02 · 74 Profiling 驱动优化;扩展:Part 02 · 79–81 多卡项目汇总证据 → 标记证据等级 → 选择行动 → 记录复查条件专题正文 · 07 从归因到行动

性能分析同时使用指标、执行轨迹和性能剖析结果,三者回答的问题不同。指标确认现象是否存在,执行轨迹定位事件先后与等待关系,性能剖析再把时间或资源归到算子、内核、状态和调用栈;三者都不能单独替代瓶颈归因。

证据对象主要回答典型内容对应 Task
指标(Metric)发生了多大变化?延迟、吞吐、峰值显存、失败率、扩展效率Task0–1、Task5
执行轨迹(Trace)事件何时发生,谁在等待谁?CPU / GPU 时间线、stream、同步、通信、I/OTask2
性能剖析(Profile)时间和资源集中在哪些对象?operator、kernel、调用栈、内存对象与驻留Task3
瓶颈归因(Attribution)哪个约束正在限制目标指标?计算、带宽、容量、通信、I/O、排队及判别实验Task4
性能回归(Regression)变化是否超过噪声且未破坏守护条件?baseline / candidate 分布、阈值、失败与回退Task5–6

下图将指标、时间线、性能剖析、归因和回归放到同一条证据链中。单次热点或单项指标变化只能形成候选解释,不能直接证明某项优化有效。

性能分析证据链

扩展与跨专题入口 ​

按需回补 ​

需要解释的对象回补入口性能分析使用的证据
理论计算量与硬件资源上界Part 01 · 02 参数量与 FLOPs → Part 01 · 03 GPU 架构与显存理论计算量、带宽、容量和硬件利用率上界
CPU/GPU 搬运、Kernel 启动与异步时间线Part 01 · 07 CPU/GPU 异构调度 → Part 01 · 15 CUDA 执行模型 → Part 01 · 17 CUDA Stream搬运、启动、同步和可重叠区间
拓扑、集合通信与等待Part 01 · 05 通信拓扑 → Part 01 · 20 NCCL 与 AllReducepayload、通信时间、暴露通信与扩展效率
训练计算图、activation 与优化器状态反向传播与训练机制forward / backward / update 时间线、状态驻留与峰值
请求阶段、KV Cache 与调度推理优化TTFT、TPOT、吞吐、并发、队列和状态容量
低精度、并行与计算内核量化与压缩、通信与并行、算子优化量化执行、并行等待、算子时间与机制前后对照

性能分析提供通用测量与归因方法;当证据已经定位主约束,需要比较具体候选或组合策略时,进入性能优化。

实验与项目出口 ​

性能证据按测量深度逐级升级。工具等级不是结论强度的替代品;即使使用系统级工具,也需要固定 workload、质量门槛和配对条件。

证据阶段主要工具能回答的问题典型出口
轻量测量perf_counter、CUDA Event、显存 API总耗时、阶段耗时、峰值和波动Part 00 · 20、Part 02 · 66 / 73
框架追踪torch.profiler、显存快照算子、CPU/GPU 时间线、输入搬运和对象驻留Part 00 · 17 / 18、Part 02 · PERF-TRACE
系统追踪Nsight Systemsstream、同步、通信、I/O 和重叠Part 02 · 47 / 74
计算内核 / 多卡证据Nsight Compute、NCCL trace访存、occupancy、collective 和扩展等待Part 02 · 79–81
配对回归配对重复测量、Bootstrap 区间性能变化是否超过噪声并满足质量门槛Part 02 · PERF-REGRESSION

实验记录至少包含环境、工作负载、质量门槛、预热、重复次数、失败运行和基线 / 候选分布;跨专题的软件版本、环境配置(Profile)与硬件快照查询GPU 环境资产表。

Released under the MIT License.