使用智能体进行基准测试和性能分析以优化 CUDA 内核
内容。任务:建议工作流:使用由 LangGraph 驱动的基于智能体的 CUDA 内核优化器,自动化代码生成、正确性检查、基准测试和优化。该智能体探索内核实现和启动配置,查询 GPU 属性,并可检查 Nsight Compute 计数器。独立的 C++ 测试框架使用 NVRTC 编译内核并通过 CUDA Driver API 启动,Python 负责比较和候选项选择。流程包括加载/生成签名和输入,运行参考内核,提出更改,编译,使用 NumPy 比较输出,并测量延迟。保留经过验证的最快实现,排名基于性能案例延迟的几何平均值。;工具:custom-built or unnamed agent。人工角色:原始帖子没有说明人如何参与。;局限:需要 Python 3.12+、NVIDIA GPU、CUDA Toolkit、CMake、C++17 编译器和 OpenAI API 密钥。生成的脚本和内核在本地无沙箱执行,存在安全风险。通过提供的案例不能保证通用正确性。不包含与 cuBLAS 等供应商库的比较。计时测量期间 GPU 必须空闲。。
工具
custom-built or unnamed agent
Agent Work Atlas 发布日期:
概述
内容
工作流程
建议工作流:使用由 LangGraph 驱动的基于智能体的 CUDA 内核优化器,自动化代码生成、正确性检查、基准测试和优化。该智能体探索内核实现和启动配置,查询 GPU 属性,并可检查 Nsight Compute 计数器。独立的 C++ 测试框架使用 NVRTC 编译内核并通过 CUDA Driver API 启动,Python 负责比较和候选项选择。流程包括加载/生成签名和输入,运行参考内核,提出更改,编译,使用 NumPy 比较输出,并测量延迟。保留经过验证的最快实现,排名基于性能案例延迟的几何平均值。
原文报告的结果
源文档未报告具体的性能提升或成功率。工作流为每次运行生成包含内核源代码、历史记录和热力图的目录。验收检查:验证生成的内核通过所有输入案例检查,并在特定工作负载上比初始内核具有更低的延迟。
人工角色
原始帖子没有说明人如何参与。
局限
需要 Python 3.12+、NVIDIA GPU、CUDA Toolkit、CMake、C++17 编译器和 OpenAI API 密钥。生成的脚本和内核在本地无沙箱执行,存在安全风险。通过提供的案例不能保证通用正确性。不包含与 cuBLAS 等供应商库的比较。计时测量期间 GPU 必须空闲。
试一试
我想优化一个用于 [可替换工作负载描述,例如“矩形矩阵的 Float32 GEMM”] 的 CUDA 内核。使用 agentic-cuda-optimizer 仓库。首先,使用 Python 3.12+、CUDA Toolkit 和 CMake 设置环境。创建一个包含我的 OpenAI API 密钥的 .env 文件。运行优化器,参数为 --description '[工作负载]' --max-iterations 5。确保 GPU 空闲。运行后,检查 results/run-NNN/ 目录。查看 history.json 中的验证失败情况和 summary.json 中最佳内核的延迟。将 best.cu 与我的初始内核进行比较。在我手动验证其在额外测试案例上的正确性之前,不要部署该内核。如果发生错误,请报告 history.json 中的具体失败模式。
来源报告未经独立核验。发布日期为本站案例发布日期,并非原始文章日期。