英伟达近日正式推出CUDA 13.1版本,这是自2006年CUDA平台问世以来最具突破性的功能扩展。此次更新引入名为CUDA Tile的全新GPU编程范式,旨在降低AI与加速计算的应用门槛,让更多开发者能够高效利用GPU的强大算力。
传统CUDA编程基于单指令多线程(SIMT)模型,要求开发者精细控制线程执行细节。虽然这种方式提供了最大灵活性,但编写跨多代GPU架构的高性能代码需要深厚经验。尽管已有CUDA-X、CUTLASS等工具库辅助优化,英伟达仍通过CUDA Tile引入更高层次的抽象编程模型。该技术将张量核心等专用硬件细节封装在虚拟指令集后,开发者只需关注数据块(Tile)级别的计算定义,编译器会自动处理线程映射、内存层次等底层实现。
随着AI计算需求激增,张量已成为核心数据类型。英伟达为每代GPU配备的张量核心(TC)和内存加速器(TMA)虽提升了性能,但也增加了编程复杂度。CUDA Tile通过抽象硬件特性,使代码能够自动适配不同架构的张量核心,解决了跨代兼容性问题。这种编程方式类似于Python中NumPy库的操作模式——开发者指定矩阵运算逻辑,无需手动管理底层执行细节。
技术实现层面,CUDA Tile基于全新的中间表示(IR)架构。该虚拟指令集将数据划分为Tile单元,开发者通过定义Tile间的计算关系构建算法。相比传统SIMT模型需要将数据映射到线程层级,Tile模型直接操作数据块,显著简化了编程逻辑。英伟达提供的对比图显示,Tile模型(左)将数据划分为块后交由编译器处理线程分配,而SIMT模型(右)需要开发者直接指定块与线程的映射关系。
CUDA Tile的引入并未取代现有编程模式,而是与SIMT路径形成互补。开发者可根据需求选择:传统内核编写仍可使用SIMT模型,涉及张量核心运算时则可采用Tile内核。这种双轨设计确保了既有代码库的兼容性,同时为新应用开发提供更高效的实现路径。完整的软件栈集成方案显示,Tile编译路径与SIMT路径并行存在,共同构成完整的GPU编程生态。
对于普通开发者,英伟达推出了cuTile Python库作为主要交互接口。该工具封装了CUDA Tile IR的后端实现,允许通过Python代码直接调用Tile编程能力。专业开发者则可通过CUDA Tile IR的规范文档,构建自定义编译器或领域专用语言,其编程抽象层级与SIMT时代的PTX指令集相当。已有工具链若以PTX为目标,可快速调整支持CUDA Tile IR,实现跨代代码优化。










