SuperAPI AI 工具集

external-gitcode-ascend-triton-operator-performance-eval

数据与分析

查看项目

更新于 10-15 17:19

技能介绍

用途:评估 Ascend NPU 上 Triton 算子的性能,定位性能瓶颈并生成报告,为后续优化提供数据依据。

核心原则:只采信 msprof 数据。性能比 Ratio = torch_npu 耗时 / Triton 耗时,Ratio > 1.0 表示 Triton 更快,目标通常为 Ratio ≥ 1.0x。仅 msprof(函数级)和 msprof op(算子级)可信,time.time()、torch.npu.Event、do_bench 等含 Host 开销且精度不足,不可用于性能评估。

主要能力:函数级用 msprof --application="python x.py",适合多算子对比与全链路分析;算子级用 msprof op --kernel-name=K python x.py,适合硬件利用率与 Bank Conflict 分析。先 msprof 定位热点,再 msprof op 深度分析。可诊断 Memory-Bound、Compute-Bound、Latency-Bound,并输出基本信息、性能指标、瓶颈诊断与优化建议;利用率低于 30% 标记为重点关注。

使用方式与限制:需按任务加载对应参考文档(函数级对比加载 msprof-function-level.md,算子级分析加载 msprof-op-level.md 与 performance-data-analysis.md,术语加载 ascend-terminology.md)。不得用非 msprof 方式计时,必须同硬件对比,需预热至少 5 次后采集,覆盖小中大 shape 并固定 dtype,采集时避免打印或日志干扰。kernel-name 需与 Triton 函数定义一致。函数级 msprof 含 JIT 编译时间,op_statistic 中 Avg 可能远高于 msprof op 的 Task Duration,应仅看稳态调用或以 Task Duration 为基准。Triton 为 AI_VECTOR_CORE,torch_npu 为 MIX_AIC,后端与引擎不同会影响对比结果。本技能只负责诊断与输出数据,优化手法由 triton-operator-performance-optim 负责。