本月初,NVIDIA 在发布 CUDA 13.1 时宣布了 CUDA Tile 编程模型,称其为“自 CUDA 平台诞生二十年来规模最大、最全面的更新”。如今,CUDA Tile 的中间表示 (intermediate representation,IR) 已在 Apache 2.0 协议下开源。
![]()
CUDA Tile IR 基于 LLVM 项目中的 MLIR 中间表示。CUDA Tile IR 源自 Multi-Level Intermediate Representation (MLIR) 意义重大,有助于在非 NVIDIA 环境中实现 CUDA Tile IR 的支持。
AMD 在其 AI/计算环境中不同程度地使用了 MLIR,谷歌的 IREE 在不同厂商中发挥着重要作用,英特尔也为其硬件开发了 MLIR 方言等等。此外,还有 ONNX-MLIR、MLIRE-AIE、Torch-MLIR 等各种 IR 框架。CUDA Tile IR 基于 MLIR,有助于降低其门槛,最终推动 CUDA Tile IR 目标软件向其他 GPU/加速器扩展。至少,CUDA Tile IR 的开源特性最终将有助于 ZLUDA 等项目的开展。
CUDA Tile 代码由 Tile MLIR 方言、Python API 绑定、字节码表示和一致性测试套件组成。
CUDA Tile IR 是一个基于 MLIR 的 CUDA 内核优化中间表示和编译器基础架构,专注于基于分块的计算模式和针对 NVIDIA 张量核心单元的优化。该项目提供了一个全面的生态系统,用于表达和优化 NVIDIA GPU 的分块计算,通过对常见分块模式、内存层次结构管理和 GPU 特定优化的抽象,简化高性能 CUDA 内核的开发。