TileLang 是什么:以 Tile 为单位编写 AI 算子
TileLang 性能与成本:测完整的内核生命周期
把编译、热路径、正确性和模型收益分开
TileLang 性能与成本:测完整的内核生命周期知识学习CN编辑简报更新 2026-10-04
你将学会
- 保证参考公平
- 区分冷与热
- 计入工程时间
开始前需要
- 一个目标算子与设备
- 正确的框架参考实现
- 兼容的编译器与运行时
从 README 示例走向真实模型瓶颈的证据
先看结论
- 上游表格不是本地测量。
- 罕见形状会显露 JIT 成本。
- 算子加速不必然带来模型加速。
保证参考公平
TileLang 与参考实现必须使用相同形状、类型、布局和硬件。计时前先过数值容差;注意力算子还要匹配掩码和序列长度条件。
项目的基准表属于上游选定结果,我们没有复现。它们有自己的脚本和环境,不能直接当成本服务的数据。
区分冷与热
分别报告导入、首次编译、热内核延迟、模型端到端延迟和峰值显存。若线上充满罕见形状,再快的热内核也可能被不断编译的成本抵消。
自动调优会额外搜索分块组合。要固定搜索空间与次数,保存获选配置,才能解释结果并重跑实验。
计入工程时间
手写内核增加了跨形状、工具链和设备的验证成本。单算子微小提升可能被框架开销或模型其他瓶颈吞掉。
采用与否应看已接受的模型级目标,不只看一个微基准。本系列没有执行 GPU 基准或成本研究。
如何选择
| 比较维度 | 方案 A | 方案 B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
实施步骤
- 1
匹配参考实现的形状、类型、布局和后端。
- 2
分开记录编译、热路径、模型和显存。
- 3
计入自动调优及维护时间。
可复制示例
csv
shape,dtype,device,reference_ok,compile_ms,warm_ms,model_ms,peak_mb
,,,,not-run,,,常见问题
第一个有用指标是什么?
先确认目标设备和形状上的正确性,再分别报告冷、热计时。
自动调优一定改善线上服务吗?
不一定;搜索成本和特化结果要适合真实形状分布。
资料来源
- TileLang / README.md来源核查 2026-10-04
- TileLang / docs/tutorials/auto_tuning.md来源核查 2026-10-04
- TileLang / examples/gemm/README.md来源核查 2026-10-04
- TileLang / examples/flash_attention/README.md来源核查 2026-10-04
- TileLang / docs/get_started/Installation.md来源核查 2026-10-04