meta-pytorch/KernelAgent

Autonomous GPU Kernel Generation & Optimization via Deep Agents

解決的問題

KernelAgent 自動化 GPU 內核的建立與效能調校。它解決了手動撰寫高效能 Triton 內核的困難,透過將 PyTorch 程式轉換為經過驗證的優化 Triton 程式碼,大幅降低達成硬體特定效能提升所需的專家級 GPU 程式設計知識。

作法原理

此系統透過兩個主要流程運作:

  1. 內核產生:使用「AutoRouter」分析 PyTorch AST 並決定最佳路徑。"Fuser Orchestrator" 將程式碼重構為可融合的子圖,再分派給並行的 LLM 驅動代理。這些代理反覆產生 Triton 內核並根據單元測試進行驗證。最後,"Composer" 將這些內核整合成一個完整的、經過驗證的 Triton 程式。

  2. 內核優化:此流程採用硬體導向的迴圈。使用 NVIDIA NCU 對內核進行剖析,收集硬體指標,執行屋頂線分析以判斷內核是記憶體受限還是運算受限,並利用 LLM 診斷瓶頸並提出修復建議。此迴圈持續進行,直到內核達到效能極限(光速)或收斂為止。

適用對象

  • 希望在不手動撰寫原始 Triton 內核的情況下,優化 PyTorch 操作的 GPU 開發者與 ML 工程師。
  • 對 NVIDIA 與 Intel XPU GPU 進行自訂運算子融合與硬體特定內核調校的研究人員。

核心亮點

  • 多平台支援:支援 NVIDIA CUDA 與 Intel XPU GPU。
  • 多代理編排:使用並行工作器,基於嚴格的執行時驗證生成與優化內核。
  • 硬體導向調校:將真實 GPU 剖析(NCU)與屋頂線分析整合至 LLM 優化迴圈中。
  • 端對端自動化:從 PyTorch 程式碼分析與子圖萃取,到最終組合與基準測試,全程自動化。

相關

  • 專案
  • 專案
  • 專案
  • 專案