SuperAPI AI 工具集

sglang-torch-profiler-analysis

数据与分析

查看项目

更新于 10-15 17:25

技能介绍

用途:分析 SGLang 的 torch.profiler 轨迹或 profile 目录,定位 prefill/decode 中占主导的 kernel 家族,判断代码路径是否还有重叠(overlap)空间,以及已知融合或重叠路径是否本应生效。

主要能力:唯一公开工作流为 triage,统一入口是 scripts/analyze_sglang_torch_profile.py。triage 固定输出三张表:kernel 表、overlap-opportunity 表、fuse-pattern 表;默认只显示累计 GPU 时间占比不低于 1.0% 的行,低于此值视为噪声,除非用户明确要求更低阈值。fuse-pattern 表保持基于源码、确定性匹配,不内置模糊字符串匹配;若精确匹配较弱但语义接近已知模式,可在表后附一条 AI 相似度判断,标注 high、medium 或 low。

使用方式:单轨迹分析用 python3 scripts/analyze_sglang_torch_profile.py --input /path/to/profile_dir_or_trace.json.gz;对运行中服务用 --url http://127.0.0.1:30000 --num-steps 5 --profile-by-stage;双轨迹用 triage 子命令,分别传 --mapping-input 与 --formal-input,或 --mapping-url 与 --formal-url。mapping 轨迹需用 --disable-cuda-graph --disable-piecewise-cuda-graph 生成,用于恢复 kernel 到 cpu_op 再到 python scope 的映射;formal 轨迹保留真实服务优化。

适用场景:检查已有轨迹、对在线服务采样并即时分析、总结主导 kernel、将 kernel 映射回 Python 代码路径、评估重叠余量、核对已知融合/重叠路径。单轨迹适合快速诊断,双轨迹适合更强的重叠结论。

限制:扩散基准或分析仅接受原生 SGLang diffusion 后端产生的轨迹;若日志出现 Falling back to diffusers backend、Using diffusers backend 或 Loaded diffusers pipeline,应停止分析并视为后端选择问题。PD 分离服务要求 prefill 与 decode worker 分别采样。判断新优化前应先对照 references/fuse-overlap-catalog.md 与 references/overlap-catalog.md。输出需包含轨迹路径、模型/服务参数、三张表、可选相似度判断、主导结论及结论来源。