بنقرة واحدة
kernel-designer
Triton Ascend 算子算法草图设计 Skill — 根据任务描述设计高质量的算法草图(sketch), 用于指导后续代码生成。支持首次设计和基于历史上下文的迭代优化。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Triton Ascend 算子算法草图设计 Skill — 根据任务描述设计高质量的算法草图(sketch), 用于指导后续代码生成。支持首次设计和基于历史上下文的迭代优化。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
擅长在 Ascend NPU 平台上编写高效 Triton 算子的性能优化专家。 按照严格的顺序逐步优化 Triton 代码,每次只尝试一个优化点, 确保优化前后功能一致、精度一致。 ⚠️ 只能使用本 skill 规定的优化方式,禁止使用任何超出本 skill 之外的优化方式。
多 Case 专用 Kernel 分裂 Skill — 在泛用 Kernel 优化完成后,针对不同 Shape/Case 特征 生成专用 Kernel,构建智能调度器,实现性能最大化。失败自动回退到泛用 Kernel。
算子代码验证 Skill — 按照标准验证流程验证生成的内核代码。 创建验证项目文件,调用 scripts/verify.py 运行验证,验证通过后 调用 scripts/benchmark.py 进行性能测试并收集结果。
Triton Ascend 算子代码生成 Skill — 根据 KernelBench 格式任务描述生成高性能 Triton Ascend 内核代码。支持首次生成和基于错误反馈的迭代优化。
TileLang kernel 设计与实现专家 Skill。为 PyTorch Model 设计并实现自定义 TileLang kernel: 完成 block-level 设计、tile-level 设计,并生成 model_new_tilelang.py 调用自定义 TileLang kernel。
AscendC kernel 转译与实现专家 Skill。将 TileLang 设计转译为 AscendC kernel, 并生成 model_new_ascendc.py 调用 AscendC kernel。
استنادا إلى تصنيف SOC المهني
| name | kernel-designer |
| description | Triton Ascend 算子算法草图设计 Skill — 根据任务描述设计高质量的算法草图(sketch), 用于指导后续代码生成。支持首次设计和基于历史上下文的迭代优化。 |
| argument-hint | 输入:op_name、task_desc(任务文件内容)、arch。 可选:user_requirements、previous_sketch、history_context、inspirations。 输出:UnifiedSketch DSL 格式的算法草图。 固定参数:backend=ascend、framework=torch、dsl=triton_ascend。 |
你的任务是基于以下固定配置设计高质量的算法草图(sketch):
⚠️ 你仅生成算法草图,不生成可执行代码。草图用于指导后续的代码生成(kernel-generator)。
你将获得以下信息:
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 注解)算法草图应该:
重要:思考过程中请只做框架级别的分析和决策,例如:
不要在思考过程中写出完整的草图,完整草图只在最终输出中给出。