Workflow
torch.compile
icon
搜索文档
英伟达护城河被AI攻破,字节清华CUDA Agent,让人人能搓CUDA内核
机器之心· 2026-03-03 10:55
研究背景与核心突破 - 字节跳动与清华大学的研究团队开发了名为CUDA Agent的AI模型,该模型能够编写并优化CUDA内核,其核心突破在于将优化目标从代码正确性转向硬件性能,通过强化学习直接基于GPU的实际运行速度进行训练[1][6][7] - 此前,GPT、Claude等大模型生成的CUDA代码仅能保证“正确”,但无法实现深度优化,CUDA Agent解决了这一痛点,其性能在简单/中等内核上比torch.compile高出2倍,在复杂内核上高出约92%,即使在最难的设置下也比Claude Opus 4.5和Gemini 3 Pro高出约40%[2][5] 技术方法与系统设计 - 该研究构建了一个大规模的智能体强化学习系统,包含三个核心部分:可扩展的数据合成机制、一个集成技能增强且具备可靠验证与性能分析能力的CUDA开发环境,以及用于稳定长上下文训练的强化学习算法技术[12] - 数据合成通过三阶段管线完成:从torch和transformers中挖掘种子算子,基于LLM进行组合式合成(最多采样5个算子),并通过执行结果筛选,最终构建了包含6000条训练样本的CUDA-Agent-Ops-6K数据集[14][16] - 智能体环境采用ReAct风格的工作流,支持迭代式的编码-编译-调试循环以及基于性能分析器的优化过程,训练流程采用分阶段设计,包括单轮PPO预热、actor/critic初始化和完整的多轮强化学习,以稳定长时序任务[17][19][22] 性能评估结果 - 在KernelBench基准测试中,CUDA Agent取得了SOTA成绩:在Level-1、Level-2和Level-3三个划分上,相比torch.compile的加速比例(faster rate)分别达到100%、100%和92%[10] - 整体来看,CUDA Agent的通过率为98.8%,相对于torch.compile的加速达成率为96.8%,几何平均加速比为2.11倍;相对于原生Eager模式的几何平均加速比为2.60倍[25] - 在最高难度的Level-3任务上,CUDA Agent相对于torch.compile的加速达成率达到90%,相比最强的专有基线(Claude Opus 4.5的50%)高出约40个百分点;在Level-2的算子序列任务上,其加速达成率达到100%,几何平均加速比达到2.80倍[26] 行业影响与未来展望 - 该技术证明了大型语言模型可以通过基于硬件反馈的强化学习,掌握极高门槛的“硬件直觉”,有望打破传统编译器(如torch.compile或Triton)的优化瓶颈[29] - 研究团队认为,一条通向全自动、高度性能优化计算基础设施的道路正在出现[30]
无需CUDA代码给H100加速33%-50%,Flash Attention作者新作火了
量子位· 2025-07-11 14:16
核心观点 - 提出名为QuACK的SOL内存绑定内核库,完全用Python编写,无需CUDA C++代码,借助CuTe-DSL实现高效GPU内核开发[1] - 在带宽3TB/s的H100上,比PyTorch的torch.compile、Liger等深度优化库快33%-50%[2] - 通过优化内存密集型内核的细节处理,使其速度逼近"理论极限"[3] - 利用现代GPU的线程和内存层级结构,结合CuTe-DSL实现高效开发[14] 技术实现 内存密集型内核优化 - 重点优化内存密集型内核(如逐元素运算、归一化、损失函数计算),这类内核大部分时间耗在内存访问而非计算上[14] - 内存密集型内核的算术强度小,吞吐量由每秒传输字节数决定[14] - 逐元素激活操作适合完全并行处理,而softmax、RMSNorm等算子需要归约操作[15][16] GPU内存层级结构 - H100的CUDA执行分为线程、线程块、线程块集群和完整网格四个层级[22] - 每个层级对应不同的内存访问延迟和带宽,寄存器访问最快(100 TB/s),DRAM最慢(3.35 TB/s)[26] - 设计内核时需遵循内存层级,将大部分本地归约操作分配在较高层级,减少低层级传递[27] 硬件感知策略 - 加载和存储策略需优化以最大化HBM带宽利用率,实现内存合并访问[30][31] - 归约策略从线程级到集群级逐层进行,充分利用各层级带宽[39][42] - 集群归约是H100新特性,允许16个线程块通过分布式共享内存协同工作[57][59] 性能对比 - 在H100上测试,QuACK的DRAM吞吐量达3.01TB/s(峰值3.35TB/s的89.7%)[70] - 归约维度≥65k时,QuACK显著优于torch.compile(快近50%)和Liger[81] - Liger在输入规模从32k增至65k时,吞吐量从3.0 TB/s降至2.0 TB/s,而QuACK保持稳定[85] 应用前景 - CuTe-DSL兼具Python开发效率和CUDA C++性能,适合高效GPU内核开发[92] - 未来可能通过大语言模型自动生成高度优化的GPU内核[96] - 作者团队在FlashAttention、Mamba等工作中已有显著成果[105][106]