meta-pytorch/KernelAgent
Autonomous GPU Kernel Generation & Optimization via Deep Agents
解决的问题
KernelAgent 自动化 GPU 内核的创建与性能调优。它解决了手动编写高性能 Triton 内核的困难,通过将 PyTorch 程序转换为经过验证的优化 Triton 代码,减少了实现硬件特定性能提升所需的专家级 GPU 编程知识。
工作原理
该系统通过两个主要流程运行:
内核生成:使用「AutoRouter」分析 PyTorch AST 并决定最佳路径。"Fuser Orchestrator" 将代码重构为可融合的子图,然后分派给并行的 LLM 驱动的代理。这些代理迭代生成 Triton 内核并根据单元测试进行验证。最后,"Composer" 将这些内核组合成一个完整的、经过验证的 Triton 程序。
内核优化:该流程采用硬件引导的循环。使用 NVIDIA NCU 对内核进行性能分析,收集硬件指标,执行屋顶线分析以判断内核是内存受限还是计算受限,并利用 LLM 诊断瓶颈并提出修复建议。该循环持续进行,直到内核达到性能极限(光速)或收敛为止。
适用人群
- 希望在不手动编写原始 Triton 内核的情况下优化 PyTorch 操作的 GPU 开发者和 ML 工程师。
- 从事 NVIDIA 和 Intel XPU GPU 的自定义算子融合与硬件特定内核调优的研究人员。
核心亮点
- 多平台支持:支持 NVIDIA CUDA 和 Intel XPU GPU。
- 多代理编排:使用并行工作器基于严格的运行时验证生成和优化内核。
- 硬件引导调优:将真实的 GPU 性能分析(NCU)和屋顶线分析集成到 LLM 优化循环中。
- 端到端自动化:从 PyTorch 代码分析和子图提取,到最终组合与基准测试,全程自动化。
相关
- 项目
- 项目
- 项目
- 项目