mcpField
T
triton-operator-precision-eval

triton-operator-precision-eval

github.com/ascendテスト・品質52141 回インストール25 週間前に更新
リポジトリ

triton-operator-precision-eval について

triton-operator-precision-eval は、NPU 上の Triton オペレーターの精度を評価するテストスキルです。Torch の参照実装と MERE、MARE の基準で結果を比較し、標準レポートを作成します。

主な機能

  1. 01Torch 参照実装とテストケースの作成
  2. 02複数の shape、dtype、境界条件を網羅
  3. 03NPU 上で Triton と Torch の結果を比較
  4. 04dtype ごとの MERE・MARE 閾値で判定
  5. 05precision_report.md と評価スクリプトを作成

活用シーン

  1. 01新しい Triton オペレーターの数値的正しさを検証
  2. 02shape と dtype ごとの誤差を確認
  3. 03性能最適化前に精度基準を評価

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/ascend/agent-skills --skill triton-operator-precision-eval

インストール後、Claude Code で/triton-operator-precision-evalを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

examples/
generate_layer_norm_report.py
layer_norm_precision_report.txt
scripts/
test_common.py

詳細

プロジェクトの README より

Triton 算子精度评估

核心原则

精度是算子正确性的底线。验证通过前不做性能优化。

工作流

  1. 编写 Torch 参考实现(标杆)
  2. 编写测试用例(覆盖多种 shape × dtype × 边界情况)
  3. 在 NPU 上执行 Triton 算子和 Torch 参考实现
  4. 用 test_common.validate_cmp() 比对,生成精度报告

MANDATORY - READ ENTIRE FILE:编写测试前,完整阅读 scripts/test_common.py。

误差阈值

判定条件:MERE < 阈值 且 MARE < 10 × 阈值

数据类型阈值MERE 上限MARE 上限
float162⁻¹⁰ ≈ 9.77e-49.77e-49.77e-3
float322⁻¹³ ≈ 1.22e-41.22e-41.22e-3
bfloat162⁻⁷ ≈ 7.81e-37.81e-37.81e-2
int8/uint8/int16/uint16/int32/uint32/int64/uint64完全相等——
bool完全相等——

其中:

  • MERE = mean(|y_cal - y_ref| / |y_ref|),即平均相对误差
  • MARE = max(|y_cal - y_ref| / |y_ref|),即最大相对误差

报告必须包含

  • 验证配置:算子名称、测试形状、dtype、核心数
  • 精度标准:所有 dtype 的阈值及判定条件(MERE < 阈值 且 MARE < 10 × 阈值)
  • 验证结果:通过/失败总数
  • 误差指标:MERE(平均相对误差)、MARE(最大相对误差)
  • 判定条件

输出约定

  • 精度报告写入算子目录下 precision_report.md(Markdown 格式)
  • 精度评估脚本写入算子目录下 precision_eval.py
  • 参考 examples/ 目录下的示例脚本和报告格式

反模式清单(NEVER)

  • ❌ 不提供 Torch 参考实现就做精度验证
  • ❌ 用错误阈值(如 FP16 用 FP32 的阈值)
  • ❌ 不用 MERE/MARE 判定条件(仅用 rtol/atol 不够严格)
  • ❌ 归约操作不升精度到 FP32
  • ❌ 只测一种 dtype/shape 就断言正确
  • ❌ 跳过边界情况(非对齐维度)
  • ❌ 精度通过前做性能优化

检查清单

  • Torch 参考实现正确且在 NPU 上验证
  • 覆盖多种 shape × dtype
  • 归约操作用 FP32
  • 生成标准化精度报告

コメント