前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >意外诞生的CUDA内核:当你的测试数据突然变成速度狂魔

意外诞生的CUDA内核:当你的测试数据突然变成速度狂魔

作者头像
GPUS Lady
发布于 2025-06-09 12:35:30
发布于 2025-06-09 12:35:30
530
举报
文章被收录于专栏:GPUS开发者GPUS开发者

想象一下,你正在烤饼干。你按照食谱操作,但突然烤箱开始自动调节温度和时间——结果烤出来的饼干不仅更快出炉,还比你亲手做的任何一次都更美味。这正是斯坦福大学一群AI研究人员经历的事情。他们原本的目标是生成合成数据来训练更好的GPU代码生成模型,但没想到他们的测试数据生成器居然直接“吐”出了超快的CUDA内核代码,而且这些代码的运行速度竟然超过了PyTorch中人类专家优化的版本。

他们当时的反应大概是:“等等,这不该现在发生啊!”但既然AI送了份大礼,那当然得收下。

于是就有了这篇论文:

这个文章的地址:
https://crfm.stanford.edu/2025/05/28/fast-kernels.html(点击阅读原文)
意外诞生的速度狂魔

事情是这样的:

  • 研究团队原本的目标是生成合成数据,用来训练更好的AI模型来编写GPU代码。
  • 但后来,他们的测试数据生成器开始生成实际可用的CUDA内核代码,这些代码不仅好用,而且比PyTorch中经过人类专家调优的版本还要快
  • 他们当时的心情大概是:“这剧本不对啊!”但既然AI已经给出了惊喜,那当然要继续研究下去。
实验结果:AI vs. 人类专家(剧透:AI赢麻了)

研究团队在NVIDIA L40S GPU上测试了AI生成的内核,并与PyTorch的标准实现进行了对比。以下是AI的表现:

(没错,LayerNorm的速度快了384.4%。这不是笔误,AI一定是找到了GPU的隐藏捷径。)

 那么AI是如何做到的?揭秘“速度狂魔”背后的黑科技
AI的“脑回路”:自然语言生成优化思路
AI的秘诀其实很简单,但效果却很炸裂:

1.AI不写代码,它“说人话” AI不会直接敲代码,而是用自然语言生成优化思路。比如它会说:“兄弟,试试用共享内存吧!”或者“内存访问顺序改一改,说不定能起飞!”(当然,实际是更专业的术语,比如“分块加载”“矩阵转置”)。

2.思路变代码,AI自己“试错” 这些思路会被转化为CUDA代码,然后AI会疯狂测试多个版本,保留最快的那个。就像你做菜时试了十种调料配比,最后只保留最好吃的那一版。

3.并行搜索:速度狂热的“蜜蜂AI” AI会同时探索多种优化路径,就像一群蜜蜂同时飞向不同的花丛。它不会一条路走到黑,而是同时试十种、百种方法,最后挑出最快的那个。

关键技术解析:AI的“火箭配方”

AI的优化策略可不是乱来的,它用了一些GPU的“隐藏黑科技”。以下是它的核心配方:

-矩阵乘法优化:分块加载+并行计算

分块加载:AI会把矩阵分成小块,像拼图一样一块块加载到GPU的共享内存中,减少全局内存的访问延迟(就像你拼图时不会一次性把所有碎片倒出来,而是分批处理)。

并行计算:AI会最大化GPU的线程数,让更多线程同时干活,就像一群工人同时搬砖,效率直接拉满。

-卷积优化:矩阵乘法+Tensor Core加速

卷积转矩阵乘法(GEMM):AI会把卷积操作偷偷转换成矩阵乘法,然后利用NVIDIA的Tensor Core加速(就像把复杂问题简化成小学生都会的乘法)。

异步传输+计算重叠:AI会让内存传输和计算同时进行,避免GPU“闲着发呆”(就像你一边做饭一边听歌,时间管理大师)。

减少重复计算:比如Softmax中的指数运算,AI会尽量避免重复计算(就像你做菜时不会反复称盐,而是直接记住用量)。

寄存器缓存:AI会把中间结果存到寄存器里,减少内存访问(就像你做饭时把调料放在手边,而不是每次都要去柜子里)。

-多操作融合:一个内核搞定所有 AI会把卷积、ReLU激活和池化合并成一个CUDA内核,减少数据传输开销(就像你做菜时把洗菜、切菜、炒菜一步到位,而不是分三步)。

优化策略:AI如何利用CUDA的“黑科技”?

AI的优化策略可以用四个字概括:“榨干GPU”。以下是它的具体操作:

-内存访问优化:分清“仓库”和“快递”

全局内存:GPU的“大仓库”,但访问慢。

共享内存:GPU的“小快递站”,访问快但容量小。

寄存器:GPU的“手边工具”,最快但数量有限。 AI会合理分配这些资源,减少数据冲突(就像你整理房间时,把常用东西放在手边,不常用的扔进仓库)。

-异步操作与延迟隐藏:GPU的“多线程工作” AI会让内存传输和计算并行执行,避免GPU“空闲等待”(就像你一边做饭一边听歌,甚至还能抽空刷个手机)。

-数据类型优化:用“轻量级选手”跑得更快 AI会用FP16或BF16等低精度格式,减少带宽占用,同时利用Tensor Core加速(就像你跑步时穿轻便跑鞋,而不是扛着沙袋跑)。

-并行性增强:GPU的“人海战术” AI会最大化GPU上的活跃线程数(Warp),让更多线程同时干活(就像你指挥一群工人同时搬砖,而不是一个一个来)。

最终感想:AI是GPU的“速度教练”

AI的这套优化策略就像给GPU装了个“火箭引擎”,不仅跑得快,还省油(带宽)。研究团队原本只是想训练个模型,结果AI直接给他们造了个“速度狂魔”。

所以下次你训练深度学习模型时,请记住:你的GPU可能正在运行AI生成的代码,而这些代码比人类编写的任何代码都要快。如果这台AI有一天决定开一家“GPU优化公司”,那人类工程师可能都要失业了。

文章发到这里,就忍不住向大家推荐NVIDIA DLI课程《使用 CUDA 加速 Python 应用》,如果您对CUDA开发感兴趣,希望了解基本知识,这个课程强烈推荐。
大家可以通过小编这个福利链接点进去,可以免费学习:
https://sp-events.courses.nvidia.com/DLI-CN-CAM-25(复制这个链接在Chrome浏览器里打开)  (如果显示无法领取,就是换个新邮箱注册领取就可以)

这个课程还有上机实验,大家可以试一试哟,完成实验就会有NVIDIA DLI颁发的证书。经常有人问这个证书有啥用,小编认为,在你应聘NVIDIA生态圈的公司还是会有用的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-06-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GPUS开发者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CUDA编程革命:cuTile分块计算赋能高效GPU开发
当遇到库中缺少所需功能的情况时(这种情况可能占开发时间的10%甚至1%),或者需要将不同代码模块粘合时,我们提供了多个解决方案。
GPUS Lady
2025/04/09
2950
CUDA编程革命:cuTile分块计算赋能高效GPU开发
DeepSeek-R1自写CUDA内核跑分屠榜!斯坦福学霸狂飙GPU编程自动化挑战人类
近日,来自斯坦福和普林斯顿的研究者发现,DeepSeek-R1已经能生成自定义CUDA内核了,而且还在一众推理模型中,直接拿下了TOP 1!
新智元
2025/02/28
1190
DeepSeek-R1自写CUDA内核跑分屠榜!斯坦福学霸狂飙GPU编程自动化挑战人类
《 PyTorch 2.3革新:torch.compile自动生成CUDA优化内核全解》
CUDA作为NVIDIA推出的并行计算平台和编程模型,为GPU计算提供了强大的支持,但手动优化CUDA代码不仅需要深厚的专业知识,而且过程繁琐、耗时费力,torch.compile的出现,犹如一道曙光,为解决这一困境带来了全新的思路和方法。
程序员阿伟
2025/05/30
1480
《 PyTorch 2.3革新:torch.compile自动生成CUDA优化内核全解》
【知识】详细介绍 CUDA Samples 示例工程
CUDA 是“Compute Unified Device Architecture (计算统一设备架构)”的首字母缩写。CUDA 是一种用于并行计算的 NVIDIA 架构。使用图形处理器也可以提高 PC 的计算能力。
小锋学长生活大爆炸
2024/06/28
2.3K0
在CUDA的天下,OpenAI开源GPU编程语言Triton,将同时支持N卡和A卡
过去十年中,深度神经网络 (DNN) 已成为最重要的机器学习模型之一,创造了从自然语言处理到计算机视觉、计算神经科学等许多领域的 SOTA 实现。DNN 模型的优势来自于它的层次结构,这一特征导致其计算量巨大,但也会产生大量高度并行化的工作,特别适合多核和众核处理器。
代码医生工作室
2021/08/10
1.7K0
在CUDA的天下,OpenAI开源GPU编程语言Triton,将同时支持N卡和A卡
为什么 CUDA 对深度学习至关重要 ?
毫无疑问,你可能已经听说过 CUDA,并且知道它与 NVIDIA GPU 有关。但你可能对 CUDA 的确切含义和用途还不甚了解。究竟,CUDA 是什么呢?它只是一个与 GPU 进行对话的库吗?如果是,它是一个 C++ 库,还是可以通过 Python 等高级语言进行调用?或者,CUDA 是为 GPU 编写代码的编译器?它是否是让操作系统与 GPU 进行通信的驱动程序?...
Luga Lee
2024/11/01
4890
为什么 CUDA 对深度学习至关重要 ?
一文揭开 NVIDIA CUDA 神秘面纱
Hello folks,我是 Luga,今天我们继续来聊一下人工智能生态相关技术 - 用于加速构建 AI 核心算力的 GPU 编程框架 - CUDA 。
Luga Lee
2024/11/11
1K0
一文揭开 NVIDIA CUDA 神秘面纱
25行代码≈SOTA!OpenAI发布Triton编程语言,比PyTorch快2倍
项目负责人Philippe Tillet表示:「我们的目标是让Triton成为深度学习中CUDA的替代品」。
新智元
2021/07/30
1K0
英伟达CUDA高性能计算库详解
NVIDIA为CUDA生态系统提供了许多高性能库和框架,这些工具旨在简化并行计算的复杂度,并加速各种应用程序的开发。 cuBLAS (CUDA Basic Linear Algebra Subprograms)
用户7353950
2024/11/23
7120
英伟达CUDA高性能计算库详解
全球首个AI CUDA工程师来了!将PyTorch原生实现提速10-100倍
我们的大脑只用了 20 瓦的能量就能完成复杂思考,而现代 AI 系统却需要成排的高功率 GPU 和惊人的电力消耗。这种差距如何缩小?
机器之心
2025/02/25
1230
全球首个AI CUDA工程师来了!将PyTorch原生实现提速10-100倍
CUDA驱动深度学习发展 - 技术全解与实战
CUDA(Compute Unified Device Architecture)是由NVIDIA开发的一个并行计算平台和应用编程接口(API)模型。它允许开发者使用NVIDIA的GPU进行高效的并行计算,从而加速计算密集型任务。在这一节中,我们将详细探讨CUDA的定义和其演进过程,重点关注其关键的技术更新和里程碑。
TechLead
2023/12/14
4390
CUDA驱动深度学习发展 - 技术全解与实战
【AI系统】Tensor Core 深度剖析
Tensor Core 是用于加速深度学习计算的关键技术,其主要功能是执行神经网络中的矩阵乘法和卷积运算。通过利用混合精度计算和张量核心操作,Tensor Core 能够在较短的时间内完成大量矩阵运算,从而显著加快神经网络模型的训练和推断过程。具体来说,Tensor Core 采用半精度(FP16)作为输入和输出,并利用全精度(FP32)进行存储中间结果计算,以确保计算精度的同时最大限度地提高计算效率。
用户11307734
2024/11/27
4580
PTX快速入门
PTX(Parallel Thread Execution)是NVIDIA为CUDA平台设计的一种中间表示语言,用于编写GPU并行计算程序。它是一种低级的、接近硬件的语言,允许开发者直接操作GPU的硬件资源,如寄存器、内存等,从而实现高效的并行计算。PTX的设计目标是提供一种与具体GPU架构解耦的编程接口,使得开发者编写的代码能够在不同的GPU硬件上运行,同时保持较高的性能。
jack.yang
2025/04/05
2300
nvmath Python革命:如何让CUDA数学库易用?
接上一篇:CUDA Python的「黄金三角」:PyTorch+RAPIDS+CuPy如何重构科学计算
GPUS Lady
2025/04/18
1340
nvmath Python革命:如何让CUDA数学库易用?
ChatGPT专题|做出ChatGPT的OpenAI,是如何打破英伟达在机器学习领域的垄断地位的?
在机器学习领域,无论是硬件还是软件,英伟达无疑均拥有巨大优势,后者用 CUDA 建立起了一道软件的护城河。可惜的是,这家公司缺乏远见,未能利用其在机器学习硬软件方面的巨大优势,让自己成为机器学习默认的编译器。而它对可用性与易用性的忽视,让 OpenAI 与 Meta 得以趁虚而入,其主导地位正在被打破。
用户9861443
2023/02/26
7690
ChatGPT专题|做出ChatGPT的OpenAI,是如何打破英伟达在机器学习领域的垄断地位的?
深度 | 英伟达深度学习Tensor Core全面解析
AI 科技评论消息,不久前,NVIDIA在SIGGRAPH 2018上正式发布了新一代GPU架构——Turing(图灵),黄仁勋称Turing架构是自2006年CUDA GPU发明以来最大的飞跃。Turing架构的两大重要特性便是集成了用于光线追踪的RT Core以及用于AI计算的Tensor Core,使其成为了全球首款支持实时光线追踪的GPU。
AI科技评论
2018/09/21
4.1K0
深度 | 英伟达深度学习Tensor Core全面解析
RTX 40时代,给深度学习买的显卡居然能保值9年?仔细一算绷不住了
选自timdettmers.com 作者:Tim Dettmers 机器之心编译 编辑:泽南 FP8 训练带来的速度提升可能要一统 AI 领域,但这是我要考虑的问题吗? 深度学习对于算力的要求很高,对于个人来说,GPU 的选择很大程度上决定了你的工作、学习体验。显卡既贵又复杂,如果想购买新的 GPU,哪些功能最重要?内存、核心、Tensor Core 还是缓存?如何做出性价比高的选择?每出一代新 GPU 这些问题就要重新审视一番。 近日,华盛顿大学在读博士 Tim Dettmers 通过一篇长文在 RTX
机器之心
2023/03/29
1.4K0
RTX 40时代,给深度学习买的显卡居然能保值9年?仔细一算绷不住了
Triton-Lang在Transformer优化加速中的实践 | 得物技术
众所周知,英伟达(Nvidia)自2006年推出CUDA以来,经过近20年的发展,尤其是经历了以卷积为代表的深度学习和近两年以Transformer为基础的LLM的推动,CUDA编程基本上成为了GPU编程的代名词。CUDA作为GPU的编程语言,不仅使用户能充分发挥Nvidia GPU的高性能的并行计算能力,也逐渐构筑了一个包括硬件、驱动、开发库和编程技巧的完备生态链,从而使CUDA成为了人工智能、高性能计算和云计算中的核心依赖。
得物技术
2025/01/14
2470
Triton-Lang在Transformer优化加速中的实践 | 得物技术
英伟达光线追踪技术及RT core、Tensor core
英伟达(NVIDIA)的光线追踪技术,特别是其RTX系列显卡中集成的实时光线追踪(Real-Time Ray Tracing)技术,代表了图形处理领域的一大进步,极大地提升了游戏和专业可视化应用中的视觉真实性。
用户7353950
2024/05/10
3.5K0
英伟达光线追踪技术及RT core、Tensor core
NVIDIA希望有更多支持CUDA的编程语言
CUDA 并行计算平台可以使用 C++、Fortran 和 Python 进行编程,但该公司正在寻找其他人来运行其 GPU。
云云众生s
2024/03/29
2080
推荐阅读
相关推荐
CUDA编程革命:cuTile分块计算赋能高效GPU开发
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档