资讯

TileLang 是什么?更容易写出高性能 AI 内核的编程语言

2026-11-052 分钟阅读百科
TL;DRTileLang 是北京大学、帝国理工学院和微软研究院等在 2025 年 4 月提出的数据块编程模型,把线程绑定、内存布局、张量化和流水线等调度与数据流解耦,让开发者专注描述计算本身,其余优化交给编译器。

TileLang 是一种用来编写 AI 计算内核的数据块(tile)编程模型,由北京大学、帝国理工学院、微软研究院等机构的研究人员在 2025 年 4 月提出,论文标题是《TileLang:面向 AI 系统的可组合数据块编程模型》。DeepSeek 在 2025 年的开源项目中也使用了 TileLang 来编写高性能算子,让它受到了更多关注。

为什么需要它

现代 AI 的训练和推理都高度依赖经过优化的计算内核。这些内核遵循很清晰的数据流模式:把一块块数据(tile)从显存搬到片上的高速缓存,对这些数据块做一系列计算,再写回去。模式虽然清楚,但写出高性能的内核依然很复杂:要达到硬件的峰值性能,需要针对硬件做大量精细的优化,比如怎么分配线程、数据在内存里怎么排布、怎么调用张量核心、怎么让数据搬运和计算重叠起来。已有的领域专用编译器试图减轻这个负担,但往往在灵活性和性能之间难以兼顾。

TileLang 的设计

TileLang 的核心思想是把“调度空间”和“数据流”解耦。调度空间包括线程绑定、内存布局、张量化(调用专用的矩阵计算单元)和流水线(让搬运和计算并行)等优化手段。TileLang 把这些封装成一组可定制的注解和原语。开发者只需要专注于描述内核的数据流本身:数据块怎么划分、怎么搬运、怎么计算;大部分其他的优化交给编译器自动完成。如果开发者想要更精细的控制,也可以通过注解手动指定。

这种设计用类似 Python 的简洁语法,让写一个高性能内核所需的代码量大幅减少,降低了编写 GPU 内核的门槛。

效果

论文报告,在多种常见的 AI 内核上,用 TileLang 编写的实现能达到和手工高度优化的库相当甚至更好的性能,同时代码更简洁、更容易修改和移植到不同的硬件上。随着新的注意力变体、量化方法层出不穷,能快速写出高效内核的工具,对 AI 系统的研发效率至关重要。