6 puan yazan GN⁺ 2025-08-21 | Henüz yorum yok. | WhatsApp'ta paylaş
  • GPU, modern makine öğreniminde merkezi bir rol oynar ve yüksek hızlı matris çarpımı işlemlerine özelleşmiş çok sayıda Streaming Multiprocessor(SM) ile HBM (yüksek bant genişlikli bellek) birleşiminden oluşan bir yapıya sahiptir
  • GPU’nun SM’leri, Tensor Core (matris çarpımı) ve CUDA Core (vektör işlemleri) olarak ayrılır; büyük ölçekli paralel hesaplama ve esnek programlamayı destekler
  • GPU ile TPU, iç mimari ve ağ yapısı açısından farklılık gösterir; GPU genel amaçlı kullanım ve ölçeklenebilirlik açısından güçlüdür, ancak en iyi performansa ulaşmak için daha fazla değerlendirme gerektirir
  • Bir düğüm (Node) içinde NVLink ve NVSwitch ile GPU’lar arasında ultra yüksek hızlı iletişim mümkündür; düğümler arasında ise InfiniBand gibi ağlarla bağlanarak büyük ölçekli dağıtık eğitime yanıt verir
  • GPU’daki kolektif işlemler (Collectives) (ör. AllReduce, AllGather vb.), donanım mimarisi ve ağ katmanına göre performans açısından büyük farklılık gösterir ve pratikte teorik bant genişliğinin altında kalma eğilimindedir

GPU nedir?

  • En yeni ML (makine öğrenimi) GPU’ları (ör. H100, B200), matris çarpımı işlemlerine özelleşmiş onlarca ila yüzlerce Streaming Multiprocessor(SM) ile hızlı HBM belleğin birleştiği bir yapıya sahiptir
  • Her SM içinde Tensor Core (matris çarpımı), Warp Scheduler (vektör işlemleri), SMEM (çip içi önbellek) bulunur
  • TPU’dan farklı olarak GPU, 100’den fazla SM üzerinden daha esnek ve büyük ölçekli paralel işlem yapabilir

SM ayrıntılı yapısı

  • SM, 4 adet alt bölüme ayrılır ve her alt bölümde sırasıyla Tensor Core, CUDA Core (vektör işlemleri), Warp Scheduler, register file gibi bileşenler bulunur
  • CUDA Core vektör aritmetik işlemlerinden (SIMD/SIMT), Tensor Core ise matris çarpımından sorumludur
  • Tensor Core FLOPs değeri ezici biçimde yüksektir ve düşük hassasiyetli işlemlerde işlem hızı daha da artar
  • En yeni GPU’larda (ör. B200), büyük kapasiteli TMEM eklenerek geniş Tensor Core girdileri desteklenir

CUDA Core’un esnekliği

  • GPU’nun CUDA Core yapısı SIMT (Single Instruction Multiple Threads) modelini kullanır; tek bir komut birden çok thread üzerinde paralel yürütülür
  • Her thread bağımsız bir komut işaretçisine (program counter) sahip olduğundan koşullu dallanma gibi esneklikler sağlar; ancak warp içi komut ayrışması (divergence) fazlaysa performans düşer
  • Her CUDA Core, bağımsız durum ve bellek erişimi açısından serbesttir (TPU ise yalnızca ardışık belleği işleyebilir)

Zamanlama/paralellik

  • SM, çok sayıda warp’ı (en fazla 64) zamanlayarak eşzamanlı yürütür; her warp scheduler aynı anda tek bir programı çalıştırır
  • Bu yapı sayesinde GPU, oldukça esnek olmasının yanında yüksek eşzamanlı işlem kapasitesi de sunar

GPU bellek yapısı

  • GPU’da en büyük bellek HBM’dir; bunun dışında L2/L1(SMEM)/TMEM/register gibi bir bellek hiyerarşisi bulunur

En yeni GPU özelliklerinin özeti

  • SM (Streaming Multiprocessor) sayısı, saat hızı, bellek, FLOPs, bant genişliği (BW) gibi değerler modele göre değişir
  • Bellek kapasitesi (HBM), bant genişliği ve FLOPs (floating point/tamsayı/düşük hassasiyet) gibi ölçütler nesiller ilerledikçe artar
  • Tabloda (atlanmış) öne çıkan özellikler: Blackwell(B200) için HBM 192GB, HBM BW 8.0TB/s, FP8 FLOPs 4.5e15 vb.
  • Her nesilde register ve çip içi önbellek (SMEM) kapasitesindeki artışlar ile TMEM eklenmesi gibi donanım gelişmeleri açıkça görülür

GPU/TPU karşılaştırması

  • GPU, genel amaçlı olup çok sayıda küçük SM (paralel birim) halinde modülerdir; donanım kontrolü fazla olduğu için anlamak/optimize etmek daha zordur
  • TPU, az sayıda büyük Tensor Core ve çok sayıda vektör ALU(VPU) ile kurulur; tek iş parçacıklı kontrol yapısı sayesinde donanım sadeleşir ve maliyet düşebilir
  • Bu nedenle TPU’da derleyici optimizasyonu zorunludur; GPU’da ise birden çok kernel bağımsız çalıştırılabildiği için kullanım kolaylığı daha yüksektir
  • Performans/fiyat açısından son dönemde H200 GPU, TPU v5p’ye göre FLOPs/s bakımından 2 kat, HBM açısından 1.5 kat, fiyat olarak ise yaklaşık 2.5 kat düzeyindedir
  • TPU, VMEM (çip içi önbellek) bakımından daha büyük ve daha hızlıdır; bu da LLM model çıkarımı gibi senaryolarda önemli avantaj sağlayabilir

GPU donanım quiz’i Soru-Cevap özeti

  • H100’ün fp32 CUDA core sayısı toplam 16,896’dır (132 SM x 4 x 32), B200’de ise 18,944’tür
  • Vektör işlem FLOPs değeri H100 için en fazla 33.5TFLOPs/s düzeyindedir; bu, Tensor Core’un matris çarpımı FLOPs değeriyle (990TFLOPs/s) karşılaştırıldığında 30 kat daha düşüktür
  • H100’ün L1/SMEM ve register toplam kapasitesi 66MB, TPU VMEM ise 120MB’dir
  • Bandwidth (bant genişliği) ile FLOPs oranı (teorik işlem yoğunluğu) H100/B200 için yaklaşık 280-300 olup TPU’ya benzerdir

GPU ağ yapısı (iletişim mimarisi)

Düğüm/cluster yapısı

  • GPU düğümleri genellikle 8 GPU’dan oluşur ve NVLink (ultra hızlı) ile NVSwitch (switch) üzerinden tam bant genişliğiyle doğrudan bağlanır
  • Düğümler arasında ölçek büyütmek için InfiniBand (Ethernet vb.) kullanılır
  • En yeni (Blackwell) GPU’lar, 72 Node’a kadar genişleyebilen bir yapıya sahiptir

Ağ katmanlarına göre özellikler

  • Düğüm içi (NVLink alanı): GPU başına çıkış bant genişliği 450GB/s (H100), 900GB/s (B200); NVSwitch başına en fazla 1.6TB/s
  • Düğüm üstü (InfiniBand Leaf/Spine): Leaf Switch (8 adet) ~ Spine Switch (16 adet) yapısı; GPU~GPU arasında teorik olarak 400GB/s tam bant genişliği korunur
  • SuperPod gibi büyük mimarilerde 1024 GPU (128 düğüm), GB200 (72GPU Node) ise 9 kat artırılmış bant genişliğiyle (3600GB/s) öne çıkar

Ağ performansı özeti

  • Teorik olarak ağ yapısı (Full Fat Tree), düğümden düğüme de azami bant genişliği sağlayacak şekilde tasarlanır
  • Donanım port kısıtları vb. nedenlerle 1024~4096 GPU ölçeğine çıkıldığında Spine/Core Switch eklenerek katmanlı yapı kullanılır
  • Düğüm içi bant genişliğinden (450GB/s) düğümler arası bant genişliğine (400GB/s) geçiş = kolektif işlemlerde performans farkı

Kolektif işlemler (Collectives) yapısı

  • AllGather, AllReduce (toplama), AllToAll (dağıtım) gibi yüksek seviyeli kolektif işlemler desteklenir
  • Düğüm içinde NVLink ile doğrudan bağlı oldukları için en iyi performans elde edilebilir (teorik B/W); düğümden düğüme ise InfiniBand üzerinden iletişim kurulur
  • NVIDIA’nın NCCL, NVSHMEM kütüphaneleri kullanılır

Kolektif işlem performans analizi

  • AllGather/ReduceScatter: B/W (H100 için 450GB/s) düzeyinde ring yöntemiyle uygulanır; küçük mesajlarda tree yöntemi de mümkündür
  • AllToAll: Her GPU veriyi doğrudan hedef GPU’ya gönderir; B/W’nin N’e bölünmesi yaklaşımı kullanıldığından düğüm içinde teorik olarak 2 kat daha hızlıdır
  • Gerçek ölçümlerde AllReduce yaklaşık 370GB/s seviyesindedir; yani donanımın azami değerine ulaşamaz
  • TPU’ya kıyasla ancak büyük hacimlerde (onlarca MB ~ GB) donanımın peak bandwidth düzeyine yaklaşılır

Genel özet ve içgörüler

  • GPU’nun güçlü yönleri genel amaçlı kullanım ve ölçeklenebilirliktir; ancak donanım/ağ yapısına bağlı olarak performans optimizasyonunun zorluğu ve gözlemlenebilirliği TPU’ya göre daha yüksektir
  • Ağ yapısı (Intra-Node/NVLink/InfiniBand/Leaf/Spine vb.), büyük ölçekli eğitim performansının anahtarıdır; pratik bant genişliği ile teorik bant genişliği arasındaki farka dikkat etmek gerekir
  • Kolektif işlemler ve ağ yapısının anlaşılması, çok büyük dağıtık model eğitimi/servis sunumu için temel gerekliliktir
  • Pratik benchmark’lar ve donanımın ayrıntılı yapısının anlaşılması temelinde, performans darboğazlarını ve en uygun koşulları saptayan bir süreç gereklidir

Henüz yorum yok.

Henüz yorum yok.