gap?Nsight Systems的timeline分析?如何识别gap?
Nsight Systems:NVIDIA 的系统级性能分析工具,采集 CPU、GPU、CUDA API、kernel、内存拷贝、NCCL 等在同一时间轴上的活动,生成 timeline。可看到 CPU 与 GPU 的并行与串行关系、kernel 起止、拷贝与计算重叠情况,是定位「GPU 等 CPU、等数据、等通信」的首选。
Gap:timeline 上 GPU 没有 kernel 或拷贝在执行 的空白段,表示 GPU 在该段时间空闲。常见原因:(1)等 CPU:数据未准备好或下一批未提交;(2)等通信:all-reduce 等未完成、同步点;(3)等 kernel 启动:launch 延迟、小 kernel 过多;(4)调度/驱动:上下文切换、排队。识别方法:在 timeline 上找连续空白区间,看其前后是 CPU 活动、NCCL 调用还是 CUDA API;对应到代码的 dataloader、通信或 launch 位置,再针对性优化(如加 prefetch、重叠通信、kernel 融合)。
| 返回模块 | 返回总览 |