关于 triton-skill
triton-skill 面向开发 Triton、Gluon 内核或编译器内部功能的人员,指导其利用本地 Triton 源码开展工作。它强调核对当前源码、示例和生成行为,而非依赖记忆中的 API。
主要功能
- 01Triton 与 Gluon 源码导航
- 02核对当前 API 和示例
- 03内核正确性测试指导
- 04性能调优流程指导
适用场景
- 01查找 Triton 操作的当前实现范例
- 02核对适用于特定架构的 Gluon 布局
- 03调优前验证内核边界情况
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ slowlyc/ agent-gpu-skills --skill triton-skill安装后在 Claude Code 中输入/triton-skill确认已加载。
附带文件quick-reference.md
详细介绍
Triton 和 Gluon 开发
将本地 Triton 检出版本作为 API 和实现模式的主要依据。优先参考当前教程和源代码,而不是凭记忆使用函数签名,因为 Triton 和 Gluon 的变化很快。
定位检出目录
解析此 SKILL.md 所在的目录,然后使用其子目录 repos/triton/。安装程序会将该路径链接到 agent-gpu-skills/third_party/triton/,或链接到通过 TRITON_REPO 提供的检出目录。
在下面的命令中,将 TRITON_REPO 替换为解析出的绝对路径:
TRITON_REPO=/absolute/path/to/triton-skill/repos/triton
如果缺少检出目录,请在 agent-gpu-skills 仓库中运行以下命令,然后重新安装该 Skill:
bash update-repos.sh triton
bash install.sh --skill triton-skill
选择源代码范围
| 任务 | 从这里开始 |
|---|---|
| Triton 语言语法和入门模式 | python/tutorials/ |
| Gluon 布局和架构级模式 | python/tutorials/gluon/ |
| 完整示例内核 | python/examples/ |
| 生产级 matmul、reduction、top-k 和 SwiGLU | python/triton_kernels/triton_kernels/ |
tl.* 定义和语义 | python/triton/language/ |
| JIT、自动调优和运行时行为 | python/triton/runtime/ |
| Python 编译器入口点 | python/triton/compiler/ |
| Triton 和 GPU 方言定义 | include/triton/Dialect/ |
| 编译器分析、转换和降级 | lib/ |
选择教程、完整示例或生产级内核实现时,请阅读 quick-reference.md。
查询工作流
- 确定任务涉及 Triton、Gluon 还是编译器内部实现。
- 找到与该操作和架构最接近的当前教程或实现。
- 根据定义或其他当前调用位置核实所用的每个 API。
- 保持目标工作负载的形状、数据类型、步长、布局、掩码和数值约定不变。
- 在更改启动参数或优化策略之前,先确保正确性。
在依赖记忆中的文件名之前,先查找当前示例:
find "$TRITON_REPO/python/tutorials" -maxdepth 2 -type f | sort
find "$TRITON_REPO/python/examples" -type f | sort
查询 Triton 语言用法和定义:
rg -n 'tl\.dot|tl\.dot_scaled' "$TRITON_REPO/python/tutorials"
rg -n '@triton\.autotune' "$TRITON_REPO/python/tutorials"
rg -n '^def (load|store|dot|dot_scaled)' \
"$TRITON_REPO/python/triton/language"
查询 Gluon 架构模式:
rg -n '@gluon\.jit' "$TRITON_REPO/python/tutorials/gluon"
rg -n 'wgmma|tcgen05|mbarrier|tma' \
"$TRITON_REPO/python/tutorials/gluon" \
"$TRITON_REPO/python/examples"
追踪生产级内核:
rg -n 'persistent|TensorDescriptor' \
"$TRITON_REPO/python/triton_kernels/triton_kernels/matmul_details"
rg -n 'mxfp|flexpoint' \
"$TRITON_REPO/python/triton_kernels/triton_kernels/numerics_details"
追踪编译器定义和降级:
rg -n 'def.*Op' "$TRITON_REPO/include/triton/Dialect/Triton/IR"
rg -n 'Encoding' "$TRITON_REPO/include/triton/Dialect/TritonGPU/IR"
rg -n 'wgmma|tma|tcgen05' \
"$TRITON_REPO/include/triton/Dialect/TritonNvidiaGPU"
rg -n 'Pattern|Rewrite' "$TRITON_REPO/lib/Conversion/TritonGPUToLLVM"
实现规范
诊断期间,请将以下层次分开:
Python kernel and launch metadata
→ Triton/Gluon IR and compiler transforms
→ generated GPU code on the selected target
源代码级模式并不能证明编译后的内核使用了预期的指令或内存路径。在这一区别很重要时,请检查编译器输出或性能分析数据。有关 PTX 语义、计算能力、Nsight 或 Compute Sanitizer 的详细信息,请添加 cuda-skill。
正确性工作:
- 针对有代表性的形状和边界形状,与独立参考实现进行比较;
- 测试掩码尾部、非 2 的幂次维度、步长和数据类型转换;
- 区分编译失败、运行时正确性问题和数值容差问题;
- 在缩减问题范围之前,复现原始的分发和启动元数据。
性能工作:
- 固定基准测试的形状集合和测量方法;
- 确认自动调优键涵盖所有会影响最佳配置的维度;
- 每次只更改一个分块、warp、阶段、持久化或特化选项;
- 在将结果归因于 TMA、WGMMA、tcgen05 或 warp specialization 之前,先核实生成的执行路径。
更新源代码
在 agent-gpu-skills 仓库中运行:
bash update-repos.sh triton
python3 scripts/validate_repo.py --require-sources
该检出目录跟随 Triton main 分支,而 third_party/UPSTREAMS.toml 记录了此 Skill 上次接受的提交。在更新该记录之前,请检查源代码映射的偏差。