| 名称 | tilegym-converting-cutile-to-triton |
| 版本 | 1.0.0 |
| 描述 | 将 cuTile GPU 内核 (@ct.kernel) 转换为 Triton (@triton.jit),处理标准转换、调试与 API 映射。 |
| 开源协议 | CC-BY-4.0 AND Apache-2.0 tools: - Read - Write - Grep - Glob - Bash metadata: |
| 作者 | TileGym Team TileGym@nvidia.com tags: - cutile - triton - conversion - gpu - kernel |
cuTile → Triton 转换
本技能用于将 @ct.kernel 内核转换为 @triton.jit,提供工作流、API 映射、TMA 优化和性能调试。
转换规则
- 对 2D+ 块状 tile 加载/存储必须使用 tl.make_tensor_descriptor(TMA),避免原始 ptr+mask 导致 5–20× 回归。
- ct.astype(x, dtype) 改为 x.to(dtype),ct.mma 改为 tl.dot。
- 主机端使用 kernelgrid 形式,并通过 lambda META 实现自动调优。
- 若源使用 transpose/transpose_v 布局标志,应实现双内核,而非单个内核加 tl.trans。
调试与性能
遇到 cudaErrorIllegalAddress、形状不匹配、数值差异等错误,可参考 debugging.md;若 Triton 明显慢于 cuTile,可按 optimization-strategy.md 和 optimizing-reference.md 中的 EVEN_K、自动调优等模式优化。
完成标准
- 所有 pytest 通过;
- 2D+ 加载均使用 TMA;
- Triton 性能 ≥ cuTile 的 80%;
- 记录对比数据。