Pazar, 1 Kasım 2026
YZ Gündem
Son dakika
Araçlar

NVIDIA, Nsight Python ile GPU çekirdek profillemesini Python koduna taşıdı

NVIDIA'nın açık kaynak Nsight Python arayüzü, Nsight Compute komut satırına çıkmadan Python içinde GPU çekirdeği ölçümü yapmayı sağlıyor. Kütüphane, ölçüm sonuçlarını pandas DataFrame olarak döndürüyor.

NVIDIA, Nsight Python ile GPU çekirdek profillemesini Python koduna taşıdı
Fotoğraf: nanadua11 / Pixabay

NVIDIA, GPU çekirdeklerini profillemek için geliştirdiği açık kaynak Python arayüzü Nsight Python'u tanıttı. Kütüphane, Nsight Compute komut satırı aracını ayrı bir oturumda çalıştırıp raporu sonradan incelemek yerine, ölçümü doğrudan Python kodunun içine taşıyor. MarkTechPost sitesinin haberine göre kullanıcılar, ölçmek istedikleri kodu nsight.annotate ile işaretliyor, bir karşılaştırma fonksiyonunu nsight.analyze.kernel ile süslüyor ve her açıklama bölgesi, yapılandırma ve çalıştırma için donanım metriklerini içeren bir pandas DataFrame alıyor.

Kütüphane 1.0 sürümünden bu yana Nsight Compute'u çalışan Python sürecine bağlıyor; bu da onu Jupyter ve Colab gibi not defteri ortamlarında kullanılabilir kılıyor. Yaklaşan 1.1 sürümü ise deneysel bir CUPTI arka ucu, açık araç yönetimi ve özel bilgi toplayıcıları getiriyor.

Nsight Python nasıl kuruluyor?

Kütüphane, Nsight Compute komut satırı aracı ncu'nun 2026.2.1 veya üzeri sürümünü PATH üzerinden arıyor. Colab'ın GPU imajı daha eski bir Nsight Compute sürümüyle geldiği için örnek çalışmada apt-get ile Nsight Compute 2026.3.1 kuruluyor ve ncu başlatıcısının bulunduğu dizin PATH'in başına alınıyor. Ardından Nsight Python ve cupti-python paketleri ayrı bir dizine yükleniyor; çünkü cupti-python, Colab'ın PyTorch sürümünün sabitlediği CUPTI kütüphanesinden daha yenisini gerektiriyor.

İçe aktarma sırası kritik: import nsight, Nsight Compute'un enjeksiyon kütüphanesini Python sürecine yüklüyor ve yalnızca bu andan sonra başlayan CUDA işlerine bağlanabiliyor. Bu yüzden nsight, torch GPU'ya dokunmadan önce içe aktarılmalı.

Ölçümler neyi gösteriyor?

İlk profil, tek bir fp32 matris çarpımı. Karşılaştırma fonksiyonu girdileri oluşturuyor, ancak yalnızca çarpımı nsight.annotate ile sarıyor; böylece girdileri üreten rastgele sayı çekirdekleri ölçüme girmiyor. Tek bir ölçüm gürültü hakkında fikir vermediği için sonraki adımda her yapılandırma yirmi kez çalıştırılıyor. DataFrame bu kez ortalama, standart sapma, yüzde 95 güven aralığı, yüzde cinsinden göreli standart sapma ve StableMeasurement bayrağını taşıyor; kaynakta bu bayrak, göreli standart sapmanın yüzde 2'nin altında olması anlamına geliyor.

Derleyicinin varsayılan iki ayarı ölçümün anlamını doğrudan değiştiriyor. cache_control, her çekirdek tekrarından önce önbelleklerin temizlenip temizlenmeyeceğini belirliyor; Nsight Python varsayılan olarak temizliyor. clock_control ise GPU saat hızlarının kilitlenip kilitlenmeyeceğini belirliyor; Nsight Python saatleri açık bırakırken düz ncu komut satırı bunları temel saatlere kilitliyor. Kaynak, DataFrame'deki ComputeClock sütununun ölçüm değil, aygıtın derecelendirilmiş saat özelliği olduğunu da not ediyor.

Donanım sayaçları ne işe yarıyor?

Donanım sayaçları, bir çekirdeğin neden o kadar sürdüğünü anlatıyor. Nsight Compute, metrik listesi verildiğinde her çekirdeği gerektiği kadar yeniden oynatıyor; Nsight Python yine de her açıklama ve metrik için tek satır döndürüyor. Örnek çalışmada süre, SM verimi ve DRAM verimi, üç farklı karakterdeki çekirdek için yüzde olarak toplanıyor: bir fp16 matris çarpımı, 256 MB'lık bir vektörün ölçeklenmesi ve 8192 satır ile 1024 değer üzerinde bir softmax. Her çekirdek, hangi verim yüksekse ona göre etiketleniyor.

Çekirdek birleştirme de bu kez zaman yerine taşınan bayt cinsinden ölçülüyor. PyTorch'ta a + b * c ifadesi, toplama öncesinde b * c sonucunu bellekte oluşturuyor; torch.addcmul ise aynı sonucu tek işlemde hesaplıyor. Örnekte iki sürüm de 2^25, yani yaklaşık 33,5 milyon float32 eleman üzerinde karşılaştırılıyor.

1.1 sürümünde neler var?

Sürüm 1.1'in öne çıkan özelliklerinden biri özel bilgi toplayıcıları. nsight.experimental.collect ile süslenen bir fonksiyon, belirtilen kapsamda oturum, yapılandırma, çalıştırma ya da açıklama başına bir kez çağrılıyor ve döndürdüğü değer bir sütun haline geliyor. Örnekte sürücü sürümü bir kez kaydediliyor; SM saati ve GPU sıcaklığı ise uzun bir fp16 çarpımının her çalıştırmasından önce NVML üzerinden okunuyor.

Diğer önemli yenilik CUPTI arka ucu: çekirdek süreleri Nsight Compute olmadan, CUPTI'nin etkinlik API'si üzerinden ölçülüyor. İki araç aynı süreç içinde bir arada kullanılamıyor; çünkü Nsight Compute etkinleştikten sonra bellekten boşaltılamıyor. CUPTI yalnızca süre metriğini destekliyor ve her başlatma için tek yürütme kaydediyor; yeniden oynatma, önbellek temizleme ve saat kontrolü sunmuyor.

Neden önemli?

Nsight Python, çekirdek profillemeyi ayrı bir komut satırı oturumundan ölçülen kodun içindeki birkaç satıra indiriyor: bir dekoratör, bir açıklama ve ölçümü, yayılımını ve bağlamını taşıyan bir DataFrame. Colab T4 üzerinde yapılan çalışma, bu kolaylığın arkasında sayıları değiştiren kararların yattığını da gösteriyor. Önbellek temizleme ve saat kilitleme varsayılanları düz ncu çalıştırmasının tersi; saat sütunu çekirdeğin gerçek hızını değil kartın derecelendirmesini veriyor; normalleştirme yalnızca ortalamayı bölüyor. Bir açıklama bölgesinin tam olarak bir çekirdek içermesi bekleniyor; birden fazlası varsa nasıl birleştirileceği belirtilmeli.

Kütüphanenin Türkiye'deki geliştiriciler için ayrı bir erişim kısıtı duyurulmadı; açık kaynak olması nedeniyle herkes tarafından indirilebiliyor. Örnek çalışmanın ücretsiz Colab T4 üzerinde yürütülmesi, denemek için yerel GPU gerekmeyebileceğini gösteriyor.

Nsight Python'un 1.1 sürümünün kesin yayın tarihi kaynakta yer almıyor; örnek çalışma, sürümün ön sürümüne sabitlenmiş bir sürüm üzerinde yürütülmüş.

Kaynak MarkTechPost www.marktechpost.com

Yazar

HKSoutions

YZ Gündem editoryal ekibi.

Yorumlar 0

Henüz yorum yok. İlk yorumu siz yazın.

Yorum yazın

Yorumlar editör onayından sonra yayınlanır.

Haftalık bülten

Yapay zekâdaki önemli gelişmeler, her pazartesi tek e-postada.

Gürültüyü biz ayıklıyoruz: haftanın modelleri, araştırmaları ve düzenlemeleri kısa ve anlaşılır özetlerle.

İstediğiniz zaman tek tıkla ayrılabilirsiniz.