mcpField
T
triton-operator-design

triton-operator-design

github.com/ascend开发52145 次安装25 周前更新
代码仓库

关于 triton-operator-design

用于生成 Triton 算子需求与设计文档的技能,覆盖需求分析、API 原型、规格约束和实现方案。它要求明确 Tiling 计算、硬件限制、数据流类型及精度策略。

主要功能

  1. 01分析需求并定义功能与公式
  2. 02设计 API 接口原型
  3. 03整理输入输出及硬件约束
  4. 04制定 Tiling 策略与 Kernel 方案
  5. 05明确数据流、对齐和精度要求

适用场景

  1. 01为新 Triton 算子编写设计文档
  2. 02规划 Ascend NPU 算子的 Tiling 方案
  3. 03评估 UB 容量与内存对齐约束

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/triton-operator-design确认已加载。

附带文件references/triton-operator-template.md

详细介绍

来自项目 README

Triton 算子需求文档生成

工作流

  1. 需求分析 → 产出:功能定义、数学公式、竞品对比
  2. 原型设计 → 产出:API 接口定义
  3. 规格约束 → 产出:输入输出约束、硬件限制
  4. 特性实现 → 产出:Tiling 策略、Kernel 实现方案

参考资源加载

阶段必须加载不要加载
需求分析ascend-terminology.mdtemplate, tiling-strategies
原型设计triton-api-reference.mdtiling-strategies
特性实现tiling-strategies.md, triton-operator-template.mdascend-terminology

MANDATORY:阶段 4 前,完整阅读 tiling-strategies.md 和 triton-operator-template.md,不设行数限制。按模板格式输出文档。

关键术语

  • GM:全局内存(DDR),UB:Vector Core 高速缓存(192KB),L1:Cube Core 缓存(~1MB)
  • AI Core:A2/A3 有 24 个,含 1 Cube + 2 Vector
  • 归约操作必须升精度到 FP32

绝对不要做的事

  • ❌ 使用模糊术语("适当切分"、"合理分配")— 必须给出具体计算方法
  • ❌ 忽略 UB 大小(192KB)和对齐要求(32B)
  • ❌ 不区分 Vector Core(向量计算)和 Cube Core(矩阵计算)
  • ❌ 不标注数据流图中的数据类型和 GM↔UB 传输
  • ❌ 归约操作不说明升精度策略

常见陷阱

陷阱症状解决
UB 超限方案不可实现计算缓冲区总大小 < 192KB
内存未对齐硬件报错UB 缓冲区 32B 对齐,单值缓冲区分配 32B
精度损失FP16 结果不准归约前升 FP32,完成后降精度
Tiling 不合理性能差/大 shape 不支持按维度切分,避免跨 Core 数据依赖

评论

支持 Markdown