
12月9日消息,英伟达近日正式发布了“NVIDIA CUDA Toolkit 13.1”,其中“CUDA Tile”是最核心的更新,这是英伟达基于 Tile 的编程模型,可用于抽象化专用硬件,包括张量核心。 英伟达表示,这是自 2006 年 CUDA 平台诞生以来规模最大的升级。
在这次更新之前,CUDA为程序员提供了微调参数的杠杆,如 Tile 大小、共享内存加载数据以及GPU执行所需计算资源方面拥有优势,但有了CUDA Tile,情况则完全不同。
英伟达CUDA 13.1 带来了两个用于 Tile 编程的组件:1、Tile IR,一种用于 NVIDIA GPU 编程的全新虚拟指令集架构(ISA),它将 GPU 视为Tile处理器。这使得程序员能够更多地关注核心逻辑,而非GPU复杂性;2、cuTile Python,一种新的领域特定语言(DSL),用于在 Python 中编写基于数组和 Tile 的核函数。
得益于CUDA 13.1 优化,英伟达成功减少了手动优化,转而专注于结构化矩阵和卷积等高度规律的作。这样做的主要好处是 CUDA Tile 使 GPU 编程能够被更广泛的受众访问,且由于算法是抽象表达的,因此板载编译器决定GPU参数。当然,与底层实现相比,CUDA Tile的性能不会很好,但它是英伟达让每个人都能使用AI的方法之一。
Jim Keller认为CUDA Tile将使代码移植到其他GPU(如AMD的GPU)上变得更加容易的原因之一是,平铺方法在业界已经广泛使用,被Triton等框架使用,因此它最终增加了将CUDA代码移植到Triton,然后移植到AMD AI芯片的可能性。其次,当提高抽象级别时,开发人员就不必再担心编写特定于架构的CUDA代码了,因此可以认为代码移植会变得容易得多。
“英伟达是不是打破了CUDA的‘护城河’?如果他们像大多数其他硬件一样转向分块式架构,AI内核的移植就会更容易。”Jim Keller在“X”平台上写到。
然而,也有观点认为,CUDA Tile实际上加强了英伟达的护城河,主要是因为其背后的专有技术,如Tile IR,针对英伟达硬件语义进行了优化。因此,虽然移植可能会变得更容易,但实现仍然很复杂。最终,通过使CUDA编程更容易,英伟达实际上正在巩固其对CUDA堆栈的控制,这也是为什么最新的CUDA更新被吹捧为GPU编程领域的“革命”的原因之一。
编辑:芯智讯-浪客剑



