自2006年问世以来最大革新:英伟达CUDA 13.1发布

自2006年问世以来最大革新:英伟达CUDA 13.1发布
2025年12月07日 15:44 IT之家

IT之家 12 月 7 日消息,英伟达本周四发布了全新的 CUDA 13.1,这是自 2006 年 CUDA 平台问世以来规模最大的一次功能扩展更新。

英伟达介绍称,本次更新的重点在于引入了一种名为 CUDA Tile 的全新 GPU 编程方式,旨在让更广泛的开发者群体能够更轻松地运用强大的 AI 与加速计算能力。

NVIDIA CUDA Tile 引入了一套用于基于 Tile(数据块)的并行编程的虚拟指令集,其侧重点在于让开发者能够更高层次地编写算法,并屏蔽诸如张量核心等专用硬件的实现细节。

为何要为 GPU 引入 Tile 编程?

英伟达表示,CUDA 向开发者暴露的是单指令多线程硬件与编程模型。这就要求(同时也使得)开发者能以最大的灵活性和精确度来细致控制代码的执行方式。然而,编写出高性能、尤其是能在多种 GPU 架构上均有优异表现的代码,也可能需要付出相当大的努力。虽然存在众多辅助开发者挖掘性能的函数库,例如 NVIDIA CUDA-X 和 NVIDIA CUTLASS,但 CUDA Tile 引入了一种比 SIMT 更高级别的 GPU 编程新范式。

随着计算负载,特别是 AI 领域的演进,张量(Tensor)已成为一种基础数据类型。NVIDIA 开发了专门操作张量的专用硬件,例如 NVIDIA 张量核心(TC)和张量内存加速器(TMA),它们已成为每一代 GPU 架构不可或缺的部分。

再加上硬件日趋复杂,就需要更多软件来帮助驾驭这些能力。CUDA Tile 抽象了张量核心及其编程模型,使得采用 CUDA Tile 编写的代码能够兼容当前及未来的张量核心架构。

据英伟达介绍,基于 Tile 的编程使开发者能够通过指定数据块(即 Tile),进而定义在这些 Tile 上执行的计算来编写算法。如此一来,开发者就无需设定算法的执行方式,而是让编译器与运行时自动处理这些细节。

▲ Tile 模型(左)将数据划分为块,编译器将其映射到线程。SIMT 模型(右)将数据映射到块和线程

上图展示了随 CUDA Tile 引入的 Tile 模型与 CUDA SIMT 模型在概念上的差异。这种编程范型在 Python 等语言中很常见,其中像 NumPy 这样的函数库可以让人指定矩阵等数据类型,然后用简单的代码指定并执行批量运算。

CUDA Tile IR:Tile 编程的基础

CUDA Tile 的基础是 CUDA Tile IR(intermediate representation,中间表示)。Tile IR 引入了一套虚拟指令集,使得能够以 Tile 操作的方式对本机硬件进行编程。开发者可以编写更高级别的代码,只需最小改动即可在多代 GPU 上高效执行。

尽管 NVIDIA Parallel Thread Execution(PTX)确保了 SIMT 程序的可移植性,但 CUDA Tile IR 通过新增对基于 Tile 的程序的原生支持,扩展了 CUDA 平台。开发者专注于将其数据并行程序划分为 Tile 和 Tile 块,而由 CUDA Tile IR 负责处理到线程、内存层次结构和张量核心等硬件资源的映射。

通过提升抽象级别,CUDA Tile IR 使得用户能够为 NVIDIA 硬件构建更高级别的硬件专用编译器、框架以及领域专用语言。就 Tile 编程而言,CUDA Tile IR 的地位类似于 SIMT 编程中的 PTX。

需要指出的是,这并非强制选择。GPU 上的 Tile 编程只是编写 GPU 代码的一种可选方式,开发者不必在 SIMT 和 Tile 编程之间二选一(它们是共存的)。当需要 SIMT 时,开发者可以像往常一样编写内核;当希望利用张量核心进行操作时,则可以编写 Tile 内核。

▲ Tile 编译路径嵌入到完整的软件栈中,位于 SIMT 路径旁边

上图展示了 CUDA Tile 如何融入一个典型的软件栈,以及 Tile 路径如何作为一条独立但互补的路径,与现有的 SIMT 路径并存。

开发者如何运用 CUDA Tile 编写 GPU 应用

英伟达表示,CUDA Tile IR 位于大多数程序员与 Tile 编程交互的层面之下。“除非你正在编写编译器或函数库,否则很可能不需要关心 CUDA Tile IR 的软件细节。”

  • NVIDIA cuTile Python:大多数开发者将通过类似 NVIDIA cuTile Python 这样的软件与 CUDA Tile 编程进行交互 —— 这是一个使用 CUDA Tile IR 作为后端的 NVIDIA Python 实现。
  • CUDA Tile IR:对于那些希望构建自己的领域专用语言编译器或函数库的开发者,CUDA Tile IR 将是您与之交互的层面。其文档与规范包含了关于 CUDA Tile IR 编程抽象、语法和语义的信息。如果您正在开发的工具 / 编译器 / 函数库目前以 PTX 为目标,那么您可以调整您的软件,使其也能以 CUDA Tile IR 为目标。

参考地址:

  • https://developer.nvidia.com/cuda/tile

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部