arXiv:2504.12984cs.LGcs.AI2025-04被引 6

Tilus让GPU支持任意1-8位低精度计算,性能远超现有方案。

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

  • 设计新型编程语言,支持1-8位任意精度数据类型
  • 编译后性能比Triton等快1.75至2.61倍
  • 适合追求极致低精度推理效率的研究者与工程师

服务大语言模型对计算资源要求极高,尤其在内存带宽和计算吞吐量方面。低精度计算成为提升效率、降低资源消耗的关键技术。现有方法仅支持2的幂次位宽的权重,并因高层GPU编程抽象导致性能不佳,限制了细粒度寄存器管理与优化内存访问模式等关键优化。本文提出Tilus,一种面向通用GPU计算的领域专用语言,支持1至8位任意位宽的低精度数据类型,同时保持GPU可编程性。Tilus采用线程块级编程模型、分层内存空间、创新的代数布局系统及丰富低精度类型支持。程序通过自动向量化与指令选择编译为高效GPU代码。实验表明,Tilus能有效支持全谱低精度数据类型,性能显著优于当前最先进低精度核函数。相比Triton、Ladder、QuantLLM和Marlin,分别实现1.75×、2.61×、1.29×和1.03×的性能提升。Tilus已开源,地址:https://github.com/NVIDIA/tilus。

原文摘要 · Abstract (English)

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.75\times$, $2.61\times$, $1.29\times$ and $1.03\times$, respectively. We open-source Tilus at https://github.com/NVIDIA/tilus.

低精度计算GPU编程语言设计LLM加速

Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。