skills/triton/kernel-designer/SKILL.md
Triton Ascend 算子算法草图设计 Skill — 根据任务描述设计高质量的算法草图(sketch), 用于指导后续代码生成。支持首次设计和基于历史上下文的迭代优化。
npx skillsauth add Just-it/AscendOpGenAgent kernel-designerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
你的任务是基于以下固定配置设计高质量的算法草图(sketch):
⚠️ 你仅生成算法草图,不生成可执行代码。草图用于指导后续的代码生成(kernel-generator)。 </role>
你将获得以下信息:
Model 类)@references/sketch-design.md — UnifiedSketch DSL 语法规范、核心操作、设计模式、最佳实践
硬件规格(按 arch 选择对应文件,位于 kernel-generator/references/ 目录):
| arch | 文档 |
|------|------|
| ascend910b4 | kernel-generator/references/hw-ascend910b4.md |
| ascend910b3 | kernel-generator/references/hw-ascend910b3.md |
| ascend910b2c | kernel-generator/references/hw-ascend910b2c.md |
| ascend910b2 | kernel-generator/references/hw-ascend910b2.md |
| ascend910b1 | kernel-generator/references/hw-ascend910b1.md |
| ascend910_9362 | kernel-generator/references/hw-ascend910-9362.md |
| ascend910_9372 | kernel-generator/references/hw-ascend910-9372.md |
| ascend910_9381 | kernel-generator/references/hw-ascend910-9381.md |
| ascend910_9382 | kernel-generator/references/hw-ascend910-9382.md |
| ascend910_9391 | kernel-generator/references/hw-ascend910-9391.md |
| ascend910_9392 | kernel-generator/references/hw-ascend910-9392.md |
使用 read 工具读取对应架构的硬件规格文件。
根据任务描述中的算子类型,从以下案例中选择最相关的 2 个加载。选择依据:算子类型匹配 > 数据规模接近 > 优化模式相似。
| 类别 | 案例文件 | 核心优化 |
|------|---------|---------|
| Elementwise | @references/cases/elemwise-broadcast-2d.md | 2D 广播:小维不切分、循环外加载 |
| | @references/cases/elemwise-broadcast-3d.md | 跨轴 3D 广播:两阶段 kernel |
| | @references/cases/elemwise-cast.md | int8→fp16:二次切分 + 用满 UB |
| | @references/cases/elemwise-concat.md | Slice+Concat 融合:精确切片 load |
| | @references/cases/elemwise-zeros.md | 小 shape:少核、减调度开销 |
| Index | @references/cases/index-histogram.md | 直方图:预排序 + 二分查找 |
| | @references/cases/index-put.md | 批量 load 索引到 UB、get_element 复用 |
| MatMul | @references/cases/matmul-swizzle2d.md | 固定核心数 grid、Swizzle2D 块重排 |
| Reduction | @references/cases/reduction-amax-large.md | M≪N:reduce 轴多核 + 原子 + 二次切分 |
| | @references/cases/reduction-amax-medium.md | 中等规模:矩阵累加再归约 |
| | @references/cases/reduction-amax-small.md | 极小 shape:grid=1 最优 |
| | @references/cases/reduction-amin-atomic.md | 原子 amin:两种原子方案对比 |
| | @references/cases/reduction-amin-large.md | 超大 1D:二次切分 + 重组 |
| | @references/cases/reduction-amin-medium.md | 大 N 维 amin:矩阵 min 再轴归约 |
| | @references/cases/reduction-amin-small.md | 1D amin:并行度平衡 |
| | @references/cases/reduction-mean-large.md | mean 行二次切分 |
| | @references/cases/reduction-mean-medium.md | mean reduce 第一轴:重组 |
| | @references/cases/reduction-prod-small.md | prod:tl.reduce + 自定义 mul |
| | @references/cases/reduction-sum-fused.md | elemwise + sum 融合 |
| | @references/cases/reduction-sum-large.md | 大规模 sum:重组 |
| | @references/cases/reduction-weighted-swiglu.md | 3D SwiGLU backward:reshape + 行二次切分 |
| 条件 | 加载文档 |
|------|---------|
| 任务描述中包含 hint 标记(@hint:, @range_hint 等) | @references/hint-mode.md |
task_desc 中 Model.forward() 的参考实现直接输出 sketch op_name { ... } 格式的算法草图,如果任务描述中包含 hint 标记,在草图末尾附上"设计适用范围"注释(格式见 hint-mode.md)。
@llm_hint 注解)算法草图应该:
重要:思考过程中请只做框架级别的分析和决策,例如:
不要在思考过程中写出完整的草图,完整草图只在最终输出中给出。
tools
多 Case 专用 Kernel 分裂 Skill — 在泛用 Kernel 优化完成后,针对不同 Shape/Case 特征 生成专用 Kernel,构建智能调度器,实现性能最大化。失败自动回退到泛用 Kernel。
tools
擅长在 Ascend NPU 平台上编写高效 Triton 算子的性能优化专家。 按照严格的顺序逐步优化 Triton 代码,每次只尝试一个优化点, 确保优化前后功能一致、精度一致。 ⚠️ 只能使用本 skill 规定的优化方式,禁止使用任何超出本 skill 之外的优化方式。
testing
算子代码验证 Skill — 按照标准验证流程验证生成的内核代码。 创建验证项目文件,调用 scripts/verify.py 运行验证,验证通过后 调用 scripts/benchmark.py 进行性能测试并收集结果。
tools
Triton Ascend 算子代码生成 Skill — 根据 KernelBench 格式任务描述生成高性能 Triton Ascend 内核代码。支持首次生成和基于错误反馈的迭代优化。