用途:profile-kernel 是面向 GPU 内核实现的性能分析(profiling)工作流,用于测量内核耗时、吞吐、占用率与瓶颈,并给出优化线索。
主要能力:支持四种分析模式——annotation(默认首轮,输出 roofline、NCU 指标与对比表)、event(快速 A/B 计时,含 Python 开销)、ncu(深入 NCU 分段、源码注解与优化建议)、nsys(流水线重叠、流并发与启动顺序分析)。文档提供指标健康阈值(TC Util>60%、DRAM 吞吐>70%、占用率>25%、L2 命中率>80%、Local Spilling=0、Waves/SM>1.0)与瓶颈分类表,并规定向编排器回传结果的固定格式和开发日志性能模板。
使用方式:分析前先锁定时钟并逐个运行:bash scripts/lock-gpu-clock.sh,完成后 bash scripts/reset-gpu-clock.sh。命令行入口为 python -m mla_var3.kernel <kernel_package> [<version>] --b=32 --s=16 --t=4096 --prof_type=<mode>;也可用 Python API(annotation_profile_plan、ncu_profile_plan、nsys_profile_plan)调用。结果默认写入 out/profiles/<mode>/<kernel>/<params>/<timestamp>/,含 params.json、tiling、compiled 等产物。
适用场景:kernel 性能首轮评测、快速 A/B 对比、源码级优化分析、并发与重叠排查。
限制:event 模式不适用于 KernelPipeline/ConcurrentKernels;设备峰值不可硬编码,需从 params.json、运行时产物与 src/mla_var3/conf/devices.json 读取;自动调优后偶发错误可重跑(配置已缓存);文档未提供支持平台、收费等信息。