SuperAPI AI 工具集

tilegym-converting-cutile-to-triton

编程与开发

查看项目

更新于 10-16 04:34

技能介绍

用途:把 cuTile 编写的 GPU 内核(@ct.kernel)转换为 Triton 的 @triton.jit 内核,适用于 TileGym 仓库内已有算子的移植、TMA、双布局标志、autotune、MLA 等场景,并提供调试与性能分析支持。

主要能力:按“分析→转换→验证→测试→基准”的阶段门控流程执行;提供 cuTile 到 Triton 的 API 映射(如 ct.astype(x,dtype)→x.to(dtype)、ct.mma(a,b,acc=acc)→tl.dot(a,b,acc)、ct.launch 改为括号式启动);对 2D 及以上块状 load/store 强制使用 tl.make_tensor_descriptor(TMA),避免原始指针加掩码带来的 5–20 倍回退;针对 GEMM/BMM/attention、Gemma FMHA/GQA、transpose 布局标志、Blackwell 等给出专门优化路径与规避 10–50 倍性能回退的清单。

使用方式:先对 cuTile 源码运行 pre-flight 的 grep 命令统计 @ct.kernel、检查 ct.transpose、ct.load/store、ct.Constant 等模式;随后按转换检查表逐步改写,主机端用 grid 元组或 lambda META 方式启动,使用 triton.set_allocator 支持 TMA;用 pytest tests/ops/test_<op>.py -k "triton" -vs 验证,再跑 perf 测试与 cuTile 对比。

完成标准:四个门——正确性(pytest 0 失败)、TMA 优化(2D+ 均为 tensor descriptor)、性能(Triton TFLOPS ≥0.8×cuTile)、性能对比记录。

限制:资料仅描述流程与规则,未提供具体算子支持范围、收费或平台信息,均暂未提供;该技能不编造未给出的功能、价格或效果。