cuTile转Triton内核转换Skill tilegym-converting-cutile-to-triton

本技能用于将 cuTile GPU 内核(@ct.kernel)高效转换为 Triton 内核(@triton.jit),覆盖 API 映射、TMA 优化、双内核布局处理以及性能调优和调试。适用于 GPU 内核移植、优化和问题修复。关键词:cuTile、Triton、GPU内核转换、TileGym、TMA、性能优化、调试

TileGym内核优化 0 次安装 0 次浏览 更新于 9/7/2026
名称 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.mdoptimizing-reference.md 中的 EVEN_K、自动调优等模式优化。

完成标准

  • 所有 pytest 通过;
  • 2D+ 加载均使用 TMA;
  • Triton 性能 ≥ cuTile 的 80%;
  • 记录对比数据。