SuperAPI AI 工具集

torch-profiler-layer-track

通用与其它

查看项目

更新于 10-15 17:24

技能介绍

用途:在已有的 Torch Profiler Chrome JSON trace 上,添加经核验的层号导引,并把每个设备的 GPU 活动压缩为至多十条合成显示通道,方便按 L0、L1……逐层浏览。压缩只改变事件摆放,原始内核名、时间戳、时长与 args.stream 保持不变,CPU 事件不变。输出应标注为“压缩视图”,而非运行时流优化。

主要能力:先用模型配置或源码确定层数,识别 rank/GPU、执行阶段,并在计数前认定一次完整前向。投机解码需区分 target verify 与 draft。选取在该阶段每层恰好出现一次的 GPU 内核,核验调用点并用另一地标或 CPU 模块作用域交叉验证,记录证据与代码版本。脚本仅需 Python 3.10+ 标准库,命令相对本技能目录执行。会用 add_layer_track.py 添加辅助轨道,用 compact_gpu_tracks.py 压缩已有导引,默认 --max-gpu-lanes 10,可用 --pid、--device、--first-layer、--end-anchor-regex 等参数;输出必须是新文件,并生成映射报告。

使用方式:示例命令为 python3 scripts/add_layer_track.py --trace ... --output ... --anchor-regex ... --num-layers 40 --anchor-offset 0 --passes 1 --max-gpu-lanes 10 --phase target-verify --evidence '...';压缩命令为 python3 scripts/compact_gpu_tracks.py --trace ... --output ... --max-gpu-lanes 10。可用 Perfetto 的 Open trace file 打开,将 Layer guide 固定在 GPU lane N 旁。本地 URL 无法获取时,用 python3 scripts/serve_local_trace.py --trace ... 启动回环查看器。

适用场景与限制:适合需要按层导航或压缩 GPU 轨道的 trace 分析。锚点偏移须指向经核验的首层,不能仅凭整除推断;名称、流号与层数依赖模型与构建,不可盲目复用旧锚点。导引区间是从本层锚点到下一层锚点,不是完整层边界、独占内核归属或每层延迟测量;编号自 L0 起。合成通道数不等于真实 CUDA 流数,原始 trace 仍是分析流调度与同步所必需。证据不足时应说明歧义,不发布确定标签。更多细节见 navigation.md。