paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Tilus: A Tile-Level GPGPU Programming Language for Low-Precision Computation

Tilus:一种面向低精度计算的 Tile 级 GPGPU 编程语言
ASPLOS Proceedings of the 31st ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 12025匹配度 3/10 · 论文属于面向 LLM 低精度计算的 GPU DSL 与编译器优化,与用户关注的 PL 与 AI 交叉有边缘关联,但不涉及静态分析、Agentic 程序分析、浮点程序分析或贝叶斯程序分析。其核心是低精度 GPU 内核生成与性能优化,而非用户研究画像中的核心问题。引用 6 inbox
Yaoyao Ding, Bohan Hou, Xiao Zhang, Allan Lin, Tianqi Chen, Cody Hao Yu, Yida Wang, Gennady Pekhimenko
crossref: 2026-09-12dblp: 2026-09-12arxiv: 2026-09-12

AI 速览

一句话:提出支持 1–8 位任意位宽低精度类型的 Tile 级 GPGPU 编程语言 Tilus,经自动向量化与指令选择生成高效 GPU 内核。

LLM 推理对内存带宽与算力需求巨大,低精度计算是提升效率的关键,但现有低精度内核生成方法仅支持 2 的幂位宽,且受高层 GPU 编程抽象限制,难以进行细粒度寄存器管理与优化访存模式。为此,作者提出领域特定语言 Tilus,面向 GPGPU 计算,支持 1 至 8 位任意位宽的低精度数据类型,同时保持可编程性;其特性包括线程块级编程模型、分层内存空间、新颖的代数化布局系统以及对多种低精度类型的广泛支持。Tilus 程序通过自动向量化与指令选择被编译为高效 GPU 程序。实验表明,Tilus 能有效覆盖完整位宽谱系的低精度类型,性能较 Triton、Ladder、QuantLLM 与 Marlin 分别提升 1.75x、2.61x、1.29x 与 1.03x,并已开源。

问题
现有低精度内核生成方法只支持 2 的幂位宽,且高层 GPU 抽象限制了细粒度寄存器管理与访存模式优化,导致性能次优。
方法
设计并实现 Tile 级 GPGPU 领域特定语言 Tilus,提供线程块级编程模型、分层内存空间、代数化布局系统与 1–8 位任意位宽类型,并通过自动向量化与指令选择将程序编译为高效 GPU 代码。
评估
在多种低精度数据类型与内核上开展实验,与 Triton、Ladder 等编译器及 QuantLLM、Marlin 等手工优化内核对比,Tilus 分别取得 1.75x、2.61x、1.29x 与 1.03x 的性能提升。
原文摘要(Abstract)

Serving Large Language Models (LLMs) is critical for AI-powered applications, yet it demands substantial computational resources, particularly in memory bandwidth and computational throughput. Low-precision computation has emerged as a key technique to improve efficiency while reducing resource consumption. Existing approaches for generating low-precision kernels are limited to weight bit widths that are powers of two and suffer from suboptimal performance because of high-level GPU programming abstractions. These abstractions restrict critical optimizations, such as fine-grained register management and optimized memory access patterns, that are essential for efficient low-precision computations. In this paper, we introduce Tilus, a domain-specific language designed for General-Purpose GPU (GPGPU) computing that supports low-precision data types with arbitrary bit widths from 1 to 8 while maintaining GPU programmability. Tilus features a thread-block-level programming model, a hierarchical memory space, a novel algebraic layout system, and extensive support for diverse low-precision data types. Tilus programs are compiled into highly efficient GPU programs through automatic vectorization and instruction selection. Extensive experiments demonstrate that Tilus efficiently supports a full spectrum of low-precision data types, and outperforms state-of-the-art low-precision kernels. Compared to existing compilers such as Triton and Ladder, as well as hand-optimized kernels such as QuantLLM and Marlin, Tilus achieves performance improvements of: 1.75x, 2.61x, 1.29x and 1.03x, respectively. We open-source Tilus at https://github.com/NVIDIA/tilus.

链接与引用

DOI 原文 · arXiv · PDF(开放获取) · DBLP

BibTeX
@inproceedings{DingHZL0Y0P26,
  title = {Tilus: A Tile-Level GPGPU Programming Language for Low-Precision Computation},
  author = {Yaoyao Ding and Bohan Hou and Xiao Zhang and Allan Lin and Tianqi Chen and Cody Hao Yu and Yida Wang and Gennady Pekhimenko},
  booktitle = {ASPLOS},
  year = {2025},
  doi = {10.1145/3760250.3762219}
}