首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 汽车 游戏 社会热点 开源推荐 医疗健康 归档 标签 关于

显示 HN:代理 CUDA 内核优化器

摘要

An agentic CUDA kernel optimizer that turns workload descriptions into GPU implementations through an automated cycle of code generation, correctness checks, benchmarking, and refinement. Powered by L...

and the kernel CUDA GPU with build launches cases venv
2026-09-25 1 阅读 约7分钟阅读 bertaye
分享:
字号:
代理 CUDA 内核优化器,通过代码生成、正确性检查、基准测试和细化的自动循环,将工作负载描述转化为 GPU 实现。该代理由 LangGraph 提供支持,可探索内核实现和启动配置、查询 GPU 属性,还可以研究 NVIDIA 文档以获取优化指导,并检查 Nsight Compute 计数器以通知其下一个实验。每个实验都会被记录,并保留最快的经过验证的实施。该模型可以更改内核代码和每个案例的启动配置。独立的 C++ 工具使用 NVRTC 编译内核,通过 CUDA 驱动程序 API 启动它们,并保存输出。 Python 处理比较和候选选择。加载或生成签名、输入案例、参考内核和初始内核。运行参考并评估初始实施。提出更改,编译它,将输出与 NumPy 进行比较,并测量内核延迟。将结果反馈到下一次尝试中;修复迭代预算内无效的候选者。保存最快的经过验证的候选者、执行历史记录和时序热图。每个案例都必须通过验证。排名使用跨性能案例的延迟的几何平均值;小的正确性案例不会影响分数。计时默认为 10 次预热启动和 100 次使用 CUDA 事件的测量启动。编译时间和探查器重播时间不计入排名。使用 RTX 3060 笔记本电脑 GPU 在 Windows 上开发。需要 Python 3.12+、NVIDIA GPU 和兼容的 CUDA 工具包/驱动程序、CMake 3.24+、C++17 编译器和 OpenAI API 密钥。下面的构建命令使用安装了 C++ 工具的 Visual Studio 2026。从存储库根目录: python - m venv .venv .venv\Scripts\python - m pip install - r optimizationr_agent /requirements.txt cmake - S cuda_test_harness - B cuda_test_harness / build - DCMAKE_BUILD_TYPE = Release cmake -- build cuda_test_harness / build --parallel 在存储库根目录中创建一个 .env 文件: OPENAI_API_KEY = your-key-here .venv\Scripts\python Optimizer_agent / Optimizer_agent.py -- 描述“具有矩形矩阵的单精度 GEMM。” -- max - 迭代 7 默认模型是 gpt-5-mini,推理工作量中等。 API 使用量将记入您的帐户。对所有选项使用 -h,或对包含的配置示例使用 --config Optimizer_agent/example.json。使用 --signature 、 --reference 、 --initial-kernel 和 --input-cases 提供您自己的工作负载组件。推断或生成省略的组件。要使用其保存的输入从先前的运行继续: .venv\Scripts\python Optimizer_agent / optimizer_agent.py -- description " Single- precision GEMM with矩形矩阵。 " -- input - Cases results / run - 001 / input_cases.json -- reference results / run - 001 / reference.cu -- initial - kernel results / run - 001 / best.cu -- max - iterations 7 此示例假设先前的运行生成了 reference.cu ;提供的参考文献保存为provided-reference.cu。输入清单保留其二进制数据的路径,因此请保持这些文件可用。可选标志: --use-nsight :在每个有效候选者之后分析性能案例并向模型公开分析器工具。需要 Nsight Compute 和访问 GPU 性能计数器的权限。 --nvidia-research :在生成内核之前检索 NVIDIA 指导。 RTX 3060 笔记本电脑 GPU 上的 Float32 GEMM,启用了 NVIDIA 研究和 Nsight 计算。运行022 运行023 优化生成的启动内核。继续使用相同的输入和参考运行 022 的最佳内核。每个会话都会在 results/run-NNN/ 下获得一个目录,其中包含内核源、请求、输入/输出数据、模型/工具响应、history.json 和 Summary.json 。成功运行导出 best.cu 、按案例重播请求和 heatmap.png / heatmap.svg 。启用分析后,会保存 Nsight 报告。这是针对单个内核的实验性优化器。通过提供的案例并不能证明一般正确性,并且生成的引用不是独立的正确性预言。改进取决于工作量;目前不包括与 cuBLAS 或其他供应商库的比较。比较时序时保持 GPU 空闲。生成的输入脚本作为 Python 子进程在本地执行,无需沙箱。生成的 CUDA 内核也在本地 GPU 上运行。下图是从已编译的 LangGraph 工作流程中呈现的,并启用了 Nsight 分析。虚线边是条件路线。如果没有 --use-nsight ,评估将直接路由到下一次尝试或最终确定;除非设置了 --nvidia-research,否则将跳过 NVIDIA 研究。
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱