AI Araçları·2 dk okuma·

Agentic CUDA Kernel Optimizer: LangGraph ve C++ ile GPU Çekirdek Optimizasyonu

Paylaş
AI AraçlarıEdumints Blog

Genel Bakış

bertaye/agentic-cuda-optimizer, iş yükü açıklamalarını otomatik kod üretimi, doğruluk denetimi, kıyaslama (benchmarking) ve iyileştirme döngüsü üzerinden optimize edilmiş GPU uygulamalarına dönüştüren ajan tabanlı bir sistemdir. LangGraph ile güçlendirilen mimari; çekirdek kodunu ve fırlatma yapılandırmalarını keşfeder, GPU özelliklerini sorgular, optimizasyon kılavuzu için NVIDIA belgelerini araştırır ve deneylerini yönlendirmek üzere Nsight Compute sayaçlarını inceler.

Sistemde çekirdekleri NVRTC ile derleyip CUDA Driver API üzerinden çalıştıran bağımsız bir C++ test altyapısı (harness) yer alırken; aday seçimi ve sonuç karşılaştırmasını Python yönetir. Her deney kaydedilir ve doğrulanmış en hızlı uygulama saklanır.

Nasıl Çalışır?

Süreç beş temel aşamadan oluşur:

  1. Bir imza, girdi senaryoları, referans çekirdek ve ilk çekirdeği yükleyin veya oluşturun.
  2. Referansı çalıştırın ve ilk uygulamanın performansını değerlendirin.
  3. Yeni bir değişiklik önerin, derleyin, çıktıları NumPy ile karşılaştırın ve çekirdek gecikmesini ölçün.
  4. Sonuçları bir sonraki denemeye geri besleyin; yineleme bütçesi dahilinde geçersiz adayları onarın.
  5. Doğrulanan en hızlı adayı, yürütme geçmişini ve zamanlama ısı haritasını (timing heatmap) kaydedin.

Doğrulama sürecinde her test senaryosu doğrulamadan geçmek zorundadır. Sıralamada performans senaryoları genelindeki gecikmenin geometrik ortalaması esas alınır; küçük doğruluk senaryoları skoru etkilemez. Zamanlama, CUDA event'leri kullanılarak varsayılan 10 ısınma (warmup) ve 100 ölçüm fırlatması ile gerçekleştirilir. Derleme ve profil yeniden yürütme süreleri sıralamaya dahil edilmez.

Kurulum ve Çalıştırma

Proje, Windows üzerinde RTX 3060 Laptop GPU ile geliştirilmiştir; Python 3.12+, NVIDIA GPU/CUDA Toolkit, CMake 3.24+, C++17 derleyicisi ve OpenAI API anahtarı gerektirir:

  • Sanal Ortam ve Bağımlılıklar: python -m venv .venv ve .venv\Scripts\python -m pip install -r optimizer_agent/requirements.txt
  • C++ Test Harness Derleme: cmake -S cuda_test_harness -B cuda_test_harness/build -DCMAKE_BUILD_TYPE=Release ve cmake --build cuda_test_harness/build --parallel
  • Ortam Değişkeni: Kök dizinde OPENAI_API_KEY=your-key-here içeren .env dosyası oluşturun.
  • Çalıştırma: .venv\Scripts\python optimizer_agent/optimizer_agent.py --description "Single-precision GEMM with rectangular matrices." --max-iterations 7

Varsayılan model orta akıl yürütme seviyesine sahip gpt-5-mini'dir. --config optimizer_agent/example.json veya --signature, --reference, --initial-kernel, --input-cases argümanlarıyla özel iş yükleri tanımlanabilir.

Geliştirici Çıkarımları ve Öğrenme Notları

  • Deterministik Doğrulama: LLM'lerin donanım düzeyinde kod üretimindeki halüsinasyonları, C++ ve NumPy tabanlı test katmanıyla filtrelenir; yalnızca doğrulanmış adaylar dikkate alınır.
  • Çok Adımlı Geri Besleme: Ajanın Nsight Compute profilleme sayaçlarını okuyarak kararlar alması, çok adımlı ajanlarda araç kullanımının (tool calling) yalnızca API çağırmaktan ibaret olmadığını, donanım metrikleriyle akıl yürütmeyi de kapsadığını gösterir.

[Orijinal kaynağa buradan ulaşabilirsiniz.](https://github.com/bertaye/agentic-cuda-optimizer)


Bu konuyu derinlemesine öğrenmek isterseniz: Tool Calling ve Multi-Step Agent'lar modülüne göz atın.

Paylaş

Bu konuyu daha derinlemesine öğrenmek ister misin?

Edumints'teki ücretsiz kursları incele ve bugün başla.

Kurslara Göz At →