news 2026/11/5 12:48:31

聚焦算法:深入解析NVIDIA CUDA Tile硬件抽象技术

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
聚焦算法:深入解析NVIDIA CUDA Tile硬件抽象技术

随着自2006年NVIDIA CUDA平台发明以来最大的一次进步,CUDA 13.1推出了NVIDIA CUDA Tile。这项激动人心的创新引入了一个用于基于图块的并行编程的虚拟指令集,其核心在于能够以更高的层次编写算法,并抽象掉专用硬件(如张量核心)的细节。

为何为GPU引入图块编程?

CUDA为开发者提供了一个单指令多线程(SIMT)的硬件和编程模型。这要求(并使得)开发者能够以最大的灵活性和特异性,对代码的执行方式进行细粒度控制。然而,这也可能需要投入大量精力来编写性能优良的代码,尤其是在跨越多个GPU架构时。

市面上有许多库可以帮助开发者挖掘性能,例如某中心的CUDA-X和某中心的CUTLASS。CUDA Tile引入了一种在比SIMT更高层次上对GPU进行编程的新方法。

随着计算工作负载(尤其是AI领域)的演进,张量已成为一种基本数据类型。某中心开发了用于处理张量的专用硬件,例如某中心张量核心(TC)和某中心张量内存加速器(TMA),这些现已集成到每一个新的GPU架构中。

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

基于图块的编程使你能够通过指定数据块(即图块),然后定义在这些图块上执行的计算,来编程你的算法。你无需在逐个元素的层面设定算法如何执行:编译器与运行时会为你处理这一切。

图1展示了我们随CUDA Tile引入的图块模型与CUDA SIMT模型在概念上的差异。

图1. 图块模型(左)将数据划分为块,由编译器映射到线程。SIMT模型(右)将数据映射到块和线程。

这种编程范式在Python等语言中很常见,像NumPy这样的库使你能够指定矩阵等数据类型,然后用简单的代码指定和执行批量操作。在底层,正确的事情会发生,而你的计算对你来说是完全透明的。

CUDA Tile IR:图块编程的基础

CUDA Tile的基础是CUDA Tile IR(中间表示)。CUDA Tile IR引入了一个虚拟指令集,支持将硬件作为图块操作进行原生编程。开发者可以编写更高级别的代码,这些代码只需最少改动就能在数代GPU上高效执行。

虽然某中心并行线程执行(PTX)确保了SIMT程序的可移植性,但CUDA Tile IR通过原生支持基于图块的程序,扩展了CUDA平台。开发者专注于将其数据并行程序划分为图块和图块块,而让CUDA Tile IR处理到硬件资源(如线程、内存层次结构和张量核心)的映射。

通过提升抽象层次,CUDA Tile IR使用户能够为某中心硬件构建更高级别的硬件特定编译器、框架和领域特定语言(DSL)。CUDA Tile IR对于图块编程的意义,类似于PTX对于SIMT编程。

需要指出的是,这并非非此即彼的情况。GPU上的图块编程是编写GPU代码的另一种方法,但你无需在SIMT和图块编程之间做出选择;它们可以共存。当你需要SIMT时,你可以像往常一样编写你的内核。当你想使用张量核心进行操作时,你可以编写图块内核。

图2展示了CUDA Tile如何融入一个典型的软件栈的高层示意图,以及图块路径如何作为与现有SIMT路径分离但互补的路径而存在。

图2. 编译的图块路径融入完整的软件栈中,与SIMT路径相邻。

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

CUDA Tile IR是绝大多数程序员与图块编程交互的层面之下的一层。除非你在编写编译器或库,否则你可能不需要关心CUDA Tile IR软件的细节。

  • 某中心cuTile Python:大多数开发者将通过诸如某中心cuTile Python这样的软件与CUDA图块编程交互——这是一个使用CUDA Tile IR作为后端的某中心Python实现。有一篇博客文章解释了如何使用cuTile-python,并附带了示例代码和文档链接。
  • CUDA Tile IR:对于那些希望构建自己的DSL编译器或库的开发者,CUDA Tile IR将是你们与CUDA Tile交互的地方。CUDA Tile IR文档和规范包含了关于CUDA Tile IR编程抽象、语法和语义的信息。如果你正在编写一个当前以PTX为目标的工具/编译器/库,那么你可以调整你的软件,使其也能以CUDA Tile IR为目标。

视频1. 解析CUDA Tile的核心概念

如何获取CUDA Tile软件

CUDA Tile随CUDA 13.1一同发布。所有信息,包括文档链接、GitHub仓库和示例代码,均可在CUDA Tile页面找到。FINISHED
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/2 14:15:36

宏智树AI:告别论文内耗!新手也能轻松拿捏期刊论文撰写全流程

写期刊论文,大概是所有学术人、新手小白的“共同噩梦”——选题卡壳、框架混乱、文献难查、格式磨人,明明熬了无数个通宵,初稿却还是被打回重写;要么查重率超标,要么专业度不够,连普刊门槛都够不着。 很多…

作者头像 李华
网站建设 2026/11/4 23:17:35

【基于Hadoop的购物趋势分析系统】(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

【基于Hadoop的购物趋势分析系统】(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码完整源码样例数据,包含前端代码、后端代码、SQL文件! 核心优势: ✅ 源码完整:前后端代码齐全&a…

作者头像 李华
网站建设 2026/11/3 3:39:56

专科生也能用!万众偏爱的AI论文网站 —— 千笔·专业论文写作工具

你是否曾为论文选题而发愁?是否在深夜面对空白文档无从下笔?是否反复修改却总对表达不满意?对于自考学生来说,论文写作不仅是一项学术任务,更是一场与时间的较量。选题难、框架乱、查重高、格式错……这些问题让无数人…

作者头像 李华
网站建设 2026/11/5 10:47:20

解决 VS Code Claude Code 插件「Allow this bash command_」弹窗问题

解决 VS Code Claude Code 插件「Allow this bash command?」弹窗问题 本文针对 VS Code 中使用 Claude Code 插件时,每次执行任务(如代码生成、文件分析、命令调用)均弹出「Allow this bash command?」(或对应终端类型的授权提…

作者头像 李华