论文

CUDA-Harness:利用自然语言的代理 CUDA 内核生成和优化

CUDA-Harness: Harnessing Agentic CUDA Kernel Generation and Optimization from Natural Language

智能体系统Agent 架构与控制循环

摘要

开发高性能 CUDA 内核需要算法实现、正确性验证和硬件感知并行优化方面的专业知识,这造成了巨大的专业知识障碍,并使直接从自然语言 (Text2CUDA) 生成 CUDA 内核变得至关重要。同时,大语言模型(LLM)的通用代码生成能力促进了一系列探索基于LLM的CUDA内核生成的工作。他们主要关注从 PyTorch 等高级框架到 CUDA (Torch2CUDA) 的转换,而不是 Text2CUDA,其中模型必须理解高级输入语义并处理底层内核实现和验证。此外,由于依赖预定义的测试输入,这些方法容易受到 奖励作弊 的影响。在本文中,我们提出了 CUDA-Harness,一个利用自然语言的代理 CUDA 内核生成和优化的框架。具体来说,我们引入了中间结构生成来将高级语义理解与底层内核生成联系起来。为了稀释 Text2CUDA 中的 奖励作弊,我们构建了基于综合的验证来提供隔离的测试数据和渐进验证。此外,我们提出了反馈自适应进化,这是一种在优化性能的同时优先考虑正确性的内核进化策略。最后,通过大量实验,我们证明了 CUDA-Harness 的有效性,并通过进一步评估说明了 LLM、硬件平台以及 C 到 CUDA 转译的泛化。