nvlink - bozkurtmithat/glaptop GitHub Wiki

NVLink, NVLink Bridge, NVSwitch ve NVLink Switch

NVLink nedir?

Bir CPU'daki onlarca çekirdeğe kıyasla tek bir GPU çipindeki binlerce hesaplama çekirdeği ile bir GPU, büyük miktarda bilimsel veriyi hızlıca işleyebilir. Bir CPU'dan yaklaşık 10 kat daha hızlıdır.

GPU performansı hızla artarken, GPU'lara veri besleyen boru buna ayak uyduramadı. Günümüzde süper bilgisayarlar, GPU'ları CPU'lara bağlamak için PCI Express adı verilen bir teknolojiye güveniyor. Bu, şu anda kullandığınız masaüstü ve dizüstü bilgisayarlarda bulabileceğiniz bir teknoloji. Hızlı ama yeterince hızlı değil. NVLink'in piyasaya sürülmesinden önce, birden fazla Nvidia GPU'su paylaşılan bir PCIe veri yolu üzerinde yer alıyordu. PCIe veri yolu üzerinden Nvidia'nın Birleşik Sanal Adreslemesi(Unified Virtual Addressing) kullanılarak doğrudan GPU-GPU aktarımları ve erişimleri zaten mümkün olsa da, veri setlerinin boyutu büyümeye devam ettikçe veri yolu(bus) büyüyen bir sistem darboğazı haline geldi. PCIe anahtarı kullanılarak verim daha da artırılabilir.

NVLink, NVIDIA tarafından geliştirilen yüksek hızlı bir ara bağlantı (interconnect) teknolojisidir. Temel olarak, birden fazla GPU'nun veya GPU ile diğer bileşenlerin (örneğin CPU veya bellek) birbirleriyle çok daha hızlı ve verimli bir şekilde iletişim kurmasını sağlar. Yine Nvidia'nın teknolojisi olan SLI(Scalable Link Interface)'dan farklı olarak, NVLink yalnızca grafik performansını artırmakla sınırlı kalmaz; aynı zamanda yapay zeka, derin öğrenme, bilimsel simülasyonlar gibi yüksek performanslı bilgi işlem (HPC) alanlarında veri aktarımını optimize etmek için kullanılır.

Dünyanın ilk yüksek hızlı GPU ara bağlantısı olan NVLink, daha hızlı bir alternatif sunuyor. NVLink, verilerin GPU'lar ve CPU'lar arasında bugünkünden 5 ila 12 kat daha hızlı hareket etmesini sağlayacak. Yollar 4 şeritten 20 şeride çıkarsa Istanbul'daki otoyol tıkanıklığına ne olacağını hayal edin.

NVLink, GPU-GPU arası iletişimin PCIe şeritleri(lanes) üzerinden yapılmasının yerini almak üzere tasarlanmıştır. NVLink'in aynı zamanda PCIe'den daha yüksek bant genişliğine sahip CPU-GPU iletişimi için tasarlandığını belirtmek gerekir. NVLink'in AMD ya da Intel tarafından bir x86 sistemine uygulanması pek olası olmasa da IBM, POWER mikroişlemcilerinde NVLink'i desteklemek için Nvidia ile işbirliği yapmıştır. Desteklenen mikroişlemciler için NVLink, tüm bağlantılar için PCIe'yi tamamen ortadan kaldırabilir.

NVLink, sunucu tasarımında daha fazla esneklik sağlamak için CPU'ların ve GPU'ların yeni yollarla bağlanmasını sağlar. NVLink ayrıca PCI Express'e göre çok daha enerji verimlidir.

NVLink 1.0

NVLink 1.0 ilk olarak Pascal mikro mimarisine dayanan P100 GPGPU ile tanıtıldı. P100, CPU tarafından sistem belleğine erişebilmenin yanı sıra kendi HBM belleği ile birlikte geliyor. P100, toplam 160 GB/s'lik bir toplam bant genişliği için 40 GB/s'lik çift yönlü bant genişliği için 20 GB/s'ye kadar destekleyen dört NVLink'e sahiptir. En temel yapılandırmada, sistem DRAM'ine erişim için CPU'ya bağlı PCIe şeritlerine ek olarak 160 GB/s GPU-GPU bant genişliği için dört bağlantının tümü iki GPU arasında bağlanır.

NVLink'i yerel olarak destekleyen ilk CPU, NVLink ara bağlantısının daha yavaş olan PCIe bağlantısının yerini alarak CPU'ya kadar uzanmasını sağlayan IBM POWER8+ olmuştur. P100 yalnızca dört NVLink'e sahip olduğundan, CPU'yu GPU'ya bağlamak için her GPU'dan tek bir bağlantı kullanılabilir. Tipik bir tam yapılandırma düğümü dört P100 GPU ve iki Power CPU'dan oluşur. Dört GPU birbirine tamamen bağlıdır ve dördüncü bağlantı CPU'ya gider

Intel tabanlı CPU'lar NVLinks'i desteklemediğinden (ve desteklemesi de pek olası olmadığından), iki ila dört P100 GPU arasında birkaç varyasyon mümkündür. Her bir konfigürasyonda, GPU'ların hepsi birbirine tamamen bağlıdır ve her iki GPU da doğrudan CPU'ya bağlı olan tek bir PCIe anahtarına bağlanmıştır. Her bağlantı, yapılandırmadan bağımsız olarak 40 GB/s çift yönlüdür ve aralarında daha fazla bağlantı kullanıldıkça herhangi iki GPU arasında daha yüksek bant genişliği sağlamak için birleştirilebilir.

DGX-1 Configuration

2017 yılında Nvidia, NVLink'ten tam olarak yararlanan DGX-1 sistemini tanıttı. DGX-1, çift soketli Xeon CPU'larla birlikte hibrit bir küp-örgü(hybrid cube-mesh) NVLink ağ topolojisine bağlı sekiz Tesla P100 GPU'dan oluşmaktadır. GPU'lar NVLink üzerinden iletişim kurarken iki Xeon Intel'in QPI'ı üzerinden birbirleriyle iletişim kuruyor.

Hybrid cube-mesh NVlink ağı

NVLink 2.0

NVLink 2.0 ilk olarak IBM'in POWER9'u ile birlikte Volta mikro mimarisine dayanan V100 GPGPU ile tanıtıldı. Nvidia, hem GPU'nun hem de CPU'nun düz bir adres alanında(flat address space) birbirlerinin belleğine (yani doğrudan yükleme ve depolama) erişmesine olanak tanıyan CPU mastering desteğini ekledi. Düz adres alanı, yeni adres çeviri hizmetleri aracılığıyla desteklenmektedir. Ayrıca, hem CPU hem de GPU için atomik işlemler için yerel destek eklenmiştir. Düz adres alanının eklenmesiyle, NVLink artık önbellek tutarlılığı desteğine sahiptir ve CPU'nun GPU belleğini verimli bir şekilde önbelleğe almasına olanak tanıyarak gecikme sürelerini ve dolayısıyla performansı önemli ölçüde artırır. NVLink 2.0, 50 GB/s çift yönlü bant genişliği için sinyalleşme hızını kablo başına 25 Gbps'ye (25 GT/s) yükseltti. V100 ayrıca toplam 300 GB/s'lik bir toplam bant genişliği için kalıp üzerindeki NVLink sayısını 6'ya çıkarmıştır. Boştayken şeritlerin devre dışı bırakılması gibi ek güç tasarrufu özelliklerinin eklendiğini belirtmek gerekir.

NVLink 2.0 ikinci nesil DGX-1 ile tanıtıldı, ancak tam topoloji değişikliği DGX-2 ile gerçekleşti. Nvidia ayrıca 18 NVLink portlu bir anahtar olan DGX-2 ile NVSwitch'i de tanıttı. 2 milyar transistörlü anahtar, trafiği dokuz bağlantı noktasından diğer dokuz bağlantı noktasından herhangi birine yönlendirebilir. Bağlantı noktası başına 50 GB/s ile anahtar toplam 900 GB/s bant genişliği kapasitesine sahiptir.

DGX-2 için Nvidia, sekiz GPU'nun her birini aynı ana kart üzerindeki diğer yedi GPU'ya tam olarak bağlamak için altı NVSwitch kullanıyor.

Daha sonra 16 GPU'nun tamamını birbirine tam olarak bağlamak için iki süpürgelik birbirine bağlanır.

NVLink 3.0

2020 yılında NVLink 3.0 teknolojisi tanıtıldı. İki GPU A100 yongasını 12 NVLink bağlantısıyla birbirine bağlar ve her bağlantı dört kanaldan oluşur. Her kanal 50 Gb/s hızında çalışarak 600 GB/s'lik çift yönlü sistem bant genişliği sağlar ve bu da NVLink 2.0'ın iki katıdır. NVLink sayısındaki artışla birlikte NVSwitch üzerindeki bağlantı noktası sayısı da 36'ya yükselmiş ve her bağlantı noktası 50GB/s hızında çalışmaktadır.

DGX A100 sistemi, aşağıdaki şemada gösterildiği gibi 8 GPU A100 yongası ve 4 NVSwitch'ten oluşur.

NVLink 4.0

2022 yılında NVLink teknolojisi dördüncü nesle yükseltilerek iki GPU H100 yongasının 18 NVLink bağlantısı üzerinden birbirine bağlanmasına olanak tanınmıştır. Her bağlantı 2 kanaldan oluşur ve her kanal 100 Gb/s (PAM4) hızını destekler, böylece çift yönlü toplam bant genişliği 900 GB/s'ye çıkar. NVSwitch de üçüncü nesline yükseltildi; her NVSwitch 64 bağlantı noktasını destekliyor ve her bağlantı noktası 50GB/s hızında çalışıyor.

DGX H100, aşağıdaki şemada gösterildiği gibi 8 H100 yongası ve 4 NVSwitch'ten oluşur. Her bir NVSwitch'in diğer tarafına birden fazla 800G OSFP optik modül bağlanmıştır. Soldaki ilk NVSwitch örnek olarak alındığında, GPU'ları bağlayan taraftaki tek yönlü toplam bant genişliği 4Tbps'dir (4 * 5 NVLink * 200Gbps) ve optik modülleri bağlayan taraftaki toplam bant genişliği de 4Tbps'dir (5 * 800Gbps). İki bant genişliği eşittir ve tıkanmayan bir ağ oluşturur.

! Optik modüllerdeki bant genişliğinin tek yönlü olduğunu, AI çiplerinde ise genellikle çift yönlü bant genişliğinin kullanıldığını belirtmek önemlidir.

Bağlantı Hzıları Tanlosu

Ara Bağlantı İletim Oranı Şerit veya NVLink Başına Etkin yük oranı Azami Şerit Uzunluğu Toplam NVLink Bağlantı Toplam Bant Genişliği (PCIe x16 veya NVLink) Tasarımı Gerçekleyen
PCIe 3.x 8 GT/s 0,99 GB/sn 50 cm (20 inç) - 31,51 GB/sn Pascal , Volta , Turing
PCIe 4.0 16 GT/s 1,97 GB/sn 20–30 cm (8–12 inç) - 63.02 GB/s Xavier , Ampere ve POWER9'da Volta
PCIe 5.0 32 GT/sn 3,94 GB/sn - 126.03 GB/s Huni
PCIe 6.0 64 GT/s 7,56 GB/sn - 242 GB/s Blackwell
NVLink 1.0 20 GT/s 20 GB/s - 4 160 GB/s Pascal , GÜÇ8+
NVLink 2.0 25 GT/s 25 GB/s - 6 300 GB/s Volta , GÜÇ9
NVLink 3.0 50 GT/s 25 GB/s - 12 600 GB/s Amper
NVLink 4.0 50 GT/sn 25 GB/s - 18 900 GB/s Hopper , Nvidia Grace
NVLink 5.0 100 GT/s 50 GB/s - 18 1800 GB/s Blackwell , Nvidia Grace

NVLink'in Temel Özellikleri ve Avantajları:

  • Yüksek Bant Genişliği:
    • NVLink, geleneksel PCIe (Peripheral Component Interconnect Express) veri yoluna kıyasla önemli ölçüde daha yüksek bant genişliği sunar. Bu, GPU'lar arasında çok büyük miktarda verinin çok hızlı bir şekilde aktarılmasını sağlar.
  • Doğrudan GPU-GPU İletişimi:
    • NVLink, GPU'ların birbirleriyle doğrudan iletişim kurmasını sağlayarak işlemci (CPU) darboğazlarını azaltır. Bu, özellikle yapay zeka, derin öğrenme ve yüksek performanslı bilgi işlem (HPC) gibi yoğun veri gerektiren iş yükleri için önemlidir.
  • Ölçeklenebilirlik:
    • NVLink, birden fazla GPU'nun tek bir birleşik sistem gibi çalışmasını sağlayarak ölçeklenebilirliği artırır. Bu, büyük ve karmaşık yapay zeka modellerinin daha hızlı eğitilmesine ve daha karmaşık simülasyonların daha hızlı çalıştırılmasına olanak tanır.
  • NVSwitch:
    • NVIDIA, NVSwitch adı verilen bir çip kullanarak, çoklu GPU sistemlerinde NVLink bağlantılarını yönetir. Bu, GPU'lar arasında daha karmaşık ve verimli bir ağ oluşturulmasını sağlar.

TSMC, Taiwan Semiconductor Manufacturing Company (Tayvan Yarı İletken Üretim Şirketi) anlamına gelir. Dünyanın en büyük ve önde gelen yarı iletken dökümhanelerinden (foundry) biridir. TSMC, kendi markası altında ürün satmak yerine, NVIDIA, AMD, Apple, Qualcomm gibi şirketler için çip üretimi yapar. Örneğin, NVIDIA’nın GPU’ları (Pascal, Volta, Ampere, Hopper, Ada Lovelace gibi) genellikle TSMC’nin tesislerinde üretilir ve bu çiplerin üretim süreci (örneğin, 16 nm, 12 nm, 4 nm) TSMC’nin teknolojisine dayanır.

"Scalable Link Interface" (SLI), NVIDIA'ya özgü bir teknolojidir. NVIDIA tarafından geliştirilen bu sistem, birden fazla grafik işlem birimini (GPU) birleştirerek grafik performansını artırmayı amaçlar. SLI, özellikle oyun ve yüksek grafik gereksinimleri olan uygulamalarda daha yüksek kare hızları ve daha iyi görsel kalite elde etmek için kullanılır. Temel olarak, iki veya daha fazla NVIDIA grafik kartını özel bir köprü (SLI Bridge) ile birbirine bağlayarak paralel çalışmasını sağlar.

SLI'nın çalışma prensibi, iş yükünü GPU'lar arasında bölüştürmektir. Örneğin, bir kareyi işlemek için ekranın farklı bölümleri farklı GPU'lar tarafından render edilebilir (Split Frame Rendering - SFR) ya da her GPU bir sonraki kareyi işleyebilir (Alternate Frame Rendering - AFR). Bu, teoride performansı katlayabilir, ancak pratikte uygulama ve oyunların SLI desteğine bağlıdır. AMD'nin benzer işi yapan teknolojisi "CrossFire"'dır.

NVLink Bridge

İki adet NVLink destekli GPU'yu birbirine bağlayan donanımdır.

image

image

image

image

NVSwitch nedir?

NVLink teknolojisi, GPU’ların birbirleriyle yüksek hızlı iletişim kurmasını sağlayan bir ara bağlantı (interconnect) protokolüdür. Ancak, NVLink’in kendisi yalnızca GPU’lar arasında doğrudan, noktadan noktaya (point-to-point) bir bağlantı sunar. Peki tüm GPU'ların birbirleri ile NVLink ile iletişim halinde olmasını sağlamak istediğimizde ne yapacağız? Çözüm NVIDIA’nın geliştirdiği fiziksel bir çiptir (bir silikon bileşen) olan NVSwitch'dir. NVLink bağlantılarını birleştiren ve birden fazla GPU’nun tam bağlantılı (all-to-all) bir ağda iletişim kurmasını sağlayan bir anahtar (switch) devresidir.

NVLink, GPU’lar arasında hızlı ve düşük gecikmeli bir iletişim sağlar, ancak bu iletişim genellikle tek bir sunucu (node) içindeki GPU’larla sınırlıdır. Örneğin, bir NVIDIA DGX H100 sisteminde 8 GPU varsa, NVLink bu GPU’ların birbirine bağlanmasını sağlar, ama bu bağlantılar sunucu içindeki fiziksel sınırlarla kısıtlıdır. NVLink Switch, bu bağlantıyı bir adım öteye taşıyarak birden fazla GPU’nun (hatta birden fazla sunucunun) tam bağlantılı (all-to-all) bir ağda iletişim kurmasına olanak tanır. Yani:

  • NVLink: GPU’lar arasında doğrudan bağlantı kurar (örneğin, bir sunucuda 8 GPU’yu birbirine bağlar).
  • NVSwitch: Birden fazla NVLink bağlantısını birleştirir ve GPU’lar arasında daha büyük bir ağ oluşturur.

NVSwitch, bir nevi “trafik yöneticisi” gibi çalışır. GPU’lar arasında veri akışını yönlendirir ve optimize eder, böylece sistemdeki her GPU diğerine doğrudan ya da minimum gecikmeyle erişebilir. Bu, özellikle yapay zeka (AI) ve yüksek performanslı bilgi işlem (HPC) gibi devasa iş yüklerinde kritik öneme sahiptir.

NVLink’in kendisi bir donanım değil, bir iletişim protokolü ve fiziksel bağlantı arabirimidir(Portları PCIe bağlantı noktasının zıttında yer alır.). GPU’lar üzerinde NVLink portları bulunur ve bu portlar, NVLink köprüleri (bridges) veya kablolar aracılığıyla GPU’ları birbirine bağlar. Ancak NVSwitch bu bağlamda farklı bir rol oynar:

  • Sunucu İçi NVSwitch: Bazı NVIDIA sistemlerinde (örneğin, DGX H100), NVSwitch adı verilen bir çip, sunucu içindeki GPU’ları birbirine bağlamak için kullanılır. Bu NVSwitch, sunucunun ana kartına entegre bir donanım bileşenidir ve GPU’lar arasında tam bağlantılı bir topoloji oluşturur. Yani, bu durumda sunucuya takılı bir donanım olarak kabul edilebilir.
  • Örnek: DGX H100’de her GPU, 4 NVSwitch çipine 18 NVLink bağlantısıyla bağlanır. Bu, sunucu içinde 900 GB/sn bant genişliğiyle tüm GPU’ların birbirine erişmesini sağlar.

image

Bazen NVSwitch için Dahili NVLink Switch ifadesi de kullanılır.

NVLink Switch Nedir?

NVSwitch bir çiptir. Bu çipi kullanan sistem veya cihaz "NVLink Switch" olarak ifade edilir. NVSwitch çipi ana karta entegre olabileceği gibi harici bir ağ cihazı olarak da kullanılabilir. Ana kart üzerindekine "Internal NVLink Switch" bir ağ cihazında konumlandırılmış haline "External NVLink Switch" denir. DGX ya da HGX gibi sistemlerde ana karta entegre olarak gelir. Anakarta entegre olan kullanım durumunda makine üzerindeki tüm GPU'lar tam band genişlikleri ile birbirleriyle iletişim kurabilir. Peki birden fazla makine olması halinde tüm GPU'ları nasıl konuşturacağız. Bu noktada network cihazı olarak sunulan External NVLink Switch ya da kısa adıyla NVLink Switch çözümü devreye girer.

NVIDIA, 2022’de H100 ile birlikte harici bir NVLink Switch cihazını tanıttı. Bu, 1U boyutunda bir kutu (rack-mounted) olup, 32 OSFP portuyla (her biri 8 şeritli 112G PAM4) birden fazla sunucudaki GPU’ları birbirine bağlar. Bu cihaz, NVSwitch 3 çiplerini içerir ve bir veri merkezinde GPU’lar arasında yüksek hızlı bir ağ (NVLink Network) oluşturur.

Bu harici NVLink Switch, sunuculardan bağımsız bir ağ cihazı olarak işlev görür. Sunucular arasındaki GPU iletişimini koordine eder ve NVLink’in sağladığı bant genişliğini (örneğin, GPU başına 1.8 TB/sn) tüm sistem genelinde ölçeklendirir. Örneğin, NVIDIA DGX H100 SuperPOD’da 256 GPU’yu bağlamak için 18 NVLink Switch kullanılır.

image

MERAK EDILENLER

Peki PCIe form faktöre sahip 8 H100'ü bir iş istasyonuna taktığımızda bunların birbirleri ile iletişimi için NVLink teknolojisini nasıl kullanırım? Ana kartın üzerinde NVSwitch olması gerekir mi?

Bir iş istasyonuna PCIe form faktöründe 8 adet H100 GPU’yu taktığınızda, bu GPU’ların NVLink teknolojisiyle birbirleriyle iletişim kurmasını sağlamak için birkaç önemli noktayı göz önünde bulundurmanız gerekir. H100 GPU’lar, NVIDIA’nın veri merkezi odaklı Hopper mimarisine dayanır ve NVLink 4.0 desteği sunar. Ancak, PCIe form faktöründeki H100’lerin NVLink kullanımı, tüketici GPU’larından (örneğin, RTX serisi) farklı bir yaklaşım gerektirir. Şimdi bu senaryoyu adım adım inceleyelim:


1. PCIe H100 ve NVLink Desteği

  • H100 PCIe Özellikleri: H100’ün PCIe versiyonu, genellikle veri merkezi veya iş istasyonu kullanımı için tasarlanmıştır ve NVLink 4.0 desteği içerir. Her H100 GPU, 4 adet NVLink 4.0 bağlantı noktasına sahiptir (her biri 141 GB/sn bant genişliği sunar, toplamda GPU başına 564 GB/sn).
  • NVLink Portları: PCIe H100’lerde NVLink portları fiziksel olarak kartın üst kısmında bulunur (örneğin, altın rengi konektörler). Bu portlar, GPU’ları birbirine bağlamak için NVLink köprüleri (bridges) veya kablolar gerektirir.

2. NVLink ile Bağlantı Nasıl Sağlanır?

PCIe form faktöründeki H100’leri NVLink ile bağlamak için şu adımları izlersiniz:

  • NVLink Köprüleri: NVIDIA, H100 için özel NVLink köprüleri sunar. Ancak, bu köprüler genellikle iki GPU’yu bağlamak için tasarlanmıştır (örneğin, 2-way NVLink). 8 GPU’yu bağlamak istiyorsanız, her GPU’nun diğerine doğrudan bağlanması mümkün olmayabilir, çünkü NVLink köprüleri sınırlı bir topolojiye sahiptir (genellikle çiftler halinde çalışır).
  • Topoloji Sınırlaması: NVLink, noktadan noktaya bir bağlantıdır. 8 GPU’yu tam bağlantılı (all-to-all) bir ağda birleştirmek için her GPU’nun diğer 7’sine doğrudan NVLink ile bağlanması gerekirse, bu pratikte mümkün değildir, çünkü her GPU’nun yalnızca 4 NVLink portu vardır. Bu durumda, bir halka (ring) veya kısmi mesh topolojisi gibi bir yapı kullanılabilir:
    • Örnek: GPU 1 → GPU 2 → GPU 3 → ... → GPU 8 → GPU 1 (halka topolojisi).
    • Ancak bu, tam bant genişliğiyle tüm GPU’ların birbirine erişimini sağlamaz.

3. Anakart Üzerinde NVSwitch Gerekir mi?

  • NVSwitch Olmadan: Standart bir iş istasyonu anakartında NVSwitch bulunmaz. NVSwitch, NVIDIA’nın DGX gibi özel sistemlerinde veya harici NVLink Switch cihazlarında kullanılan bir çiptir. Eğer anakartınızda NVSwitch yoksa, NVLink bağlantıları yalnızca GPU’lar arasında köprülerle sınırlı kalır. Bu durumda:
    • 8 H100’ü NVLink ile bağlamak için köprüleri manuel olarak kurarsınız (örneğin, 4 çift GPU’yu 2’şerli gruplar halinde bağlayabilirsiniz).
    • Ancak bu, GPU’lar arasında tam bağlantılı bir ağ (all-to-all connectivity) sağlamaz; sadece köprüyle bağlı GPU’lar doğrudan iletişim kurabilir.
  • NVSwitch ile: NVSwitch, 8 GPU’yu tam bağlantılı bir ağda birleştirmek için idealdir. Örneğin, DGX H100 sisteminde 4 NVSwitch çipi, 8 H100 GPU’yu birbirine bağlar ve her GPU’nun diğerine 900 GB/sn bant genişliğiyle erişmesini sağlar. Ancak:
    • Standart iş istasyonu anakartları NVSwitch içermez. NVSwitch, genellikle NVIDIA’nın özel sistemlerine (DGX, HGX) entegre edilir.
    • PCIe tabanlı bir iş istasyonunda NVSwitch kullanmak için ya NVIDIA’nın HGX H100 gibi bir taşıyıcı kartına (baseboard) ihtiyacınız var ya da harici bir NVLink Switch cihazı kullanmanız gerekir.

4. Pratikte NVLink’i Nasıl Kullanırsınız?

Standart bir iş istasyonunda (örneğin, Supermicro veya ASUS gibi bir anakartla) 8 H100’ü NVLink ile bağlamak için:

  • NVLink Köprüleri ile Sınırlı Bağlantı:
    • NVIDIA’nın H100 için sunduğu NVLink köprülerini satın alırsınız (örneğin, 2-way NVLink Bridge).
    • GPU’ları çiftler halinde bağlarsınız: GPU 1-2, GPU 3-4, GPU 5-6, GPU 7-8.
    • Bu yapı, her çifti NVLink ile bağlar (çift başına 564 GB/sn), ama çiftler arası iletişim PCIe üzerinden olur (örneğin, PCIe 5.0 x16 ile 64 GB/sn).
    • Toplamda 8 GPU’nun tam bağlantılı bir ağda çalışması mümkün olmaz.
  • Harici NVLink Switch ile Tam Bağlantı:
    • NVIDIA’nın harici NVLink Switch cihazını (örneğin, NVLink Switch System) kullanırsınız.
    • Her H100’ün NVLink portlarını bu switch’e kablolarla bağlarsınız (OSFP konektörleri ile).
    • NVLink Switch, 8 GPU’yu tam bağlantılı bir ağda birleştirir ve her GPU’nun diğerine NVLink bant genişliğiyle (564 GB/sn) erişmesini sağlar.
    • Bu switch, iş istasyonunun dışında, bağımsız bir ağ cihazı olarak çalışır ve bir veri merkezi rafına monte edilir.

5. Anakartın Rolü

  • Standart Anakart: Çoğu iş istasyonu anakartı (örneğin, 8 PCIe x16 yuvası olan bir model) NVSwitch içermez. Bu durumda, NVLink bağlantıları yalnızca köprülerle sınırlıdır ve anakartın PCIe switch’leri (PLX çipi gibi) GPU’lar arası iletişimi PCIe üzerinden yönlendirir.
  • NVSwitch Gerekliliği: Eğer 8 H100’ün tam bağlantılı bir NVLink ağıyla çalışmasını istiyorsanız, ya bir NVSwitch entegre edilmiş özel bir anakart (örneğin, HGX H100 baseboard) ya da harici bir NVLink Switch cihazı gereklidir. Standart bir anakartta bu mümkün değildir.

6. Önerilen Çözüm

  • Basit Çözüm: NVLink köprüleriyle GPU’ları çiftler halinde bağlayın. Bu, maliyeti düşürür ama tam bağlantı sunmaz. İş yükünüz çiftler arasında bağımsızsa (örneğin, paralel AI eğitimi), bu yeterli olabilir.
  • Tam Çözüm: Harici bir NVLink Switch kullanın. Bu, 8 H100’ü tam bağlantılı bir ağda birleştirir ve maksimum NVLink performansını (GPU başına 564 GB/sn) sağlar. Ancak bu, ek bir donanım yatırımı ve veri merkezi tipi bir kurulum gerektirir.

Sonuç

  • NVSwitch Olmadan: NVLink köprüleriyle sınırlı bir bağlantı kurabilirsiniz, ama 8 GPU’nun tam iletişimini sağlamak için yeterli değildir.
  • NVSwitch ile: Anakartta NVSwitch yoksa, harici bir NVLink Switch cihazı kullanarak tam bağlantı elde edersiniz. Standart bir iş istasyonu anakartı bunu desteklemez.

Eğer iş istasyonunuzun spesifik bir modeli varsa (örneğin, Supermicro X12 veya ASUS Pro WS), daha detaylı bir çözüm önerebilirim. Ek bir sorunuz varsa, sormaktan çekinmeyin!


Bazen "NVLink Switch" bazen de "NVSwitch" ibaresi görüyorum. Bunlar aynı şeyler mi? farklı şeyler mi?

"NVLink Switch" ve "NVSwitch" terimleri, NVIDIA’nın NVLink ekosisteminde sıkça kullanılan ancak farklı bağlamlarda farklı anlamlar taşıyabilen ifadelerdir. Kafa karışıklığını gidermek için bu iki terimi açıkça ayıralım:


NVSwitch Nedir?

  • Tanım: NVSwitch, NVIDIA’nın geliştirdiği fiziksel bir çiptir (bir silikon bileşen). NVLink bağlantılarını birleştiren ve birden fazla GPU’nun tam bağlantılı (all-to-all) bir ağda iletişim kurmasını sağlayan bir anahtar (switch) devresidir.
  • Rolü: NVSwitch, NVLink protokolünü kullanarak GPU’lar arasında veri trafiğini yönlendirir ve koordine eder. Tek bir NVSwitch çipi, belirli sayıda NVLink portunu destekler ve GPU’lar arasında yüksek bant genişlikli bir iletişim sağlar.
  • Konum: Genellikle bir sunucunun içinde, ana karta entegre bir bileşen olarak bulunur. Örneğin:
    • NVIDIA DGX H100 sisteminde 4 NVSwitch çipi, 8 H100 GPU’yu birbirine bağlar.
    • Her NVSwitch, çoklu NVLink bağlantılarını destekler (örneğin, NVSwitch 3’te 64 NVLink 4.0 portu).
  • Özellikler: NVSwitch, belirli bir nesle bağlıdır (örneğin, NVSwitch 1, NVSwitch 2, NVSwitch 3) ve her nesil, daha yüksek bant genişliği ve port sayısı sunar.

NVLink Switch Nedir?

  • Tanım: NVLink Switch, genellikle NVSwitch çiplerini barındıran bir sistem veya cihaz olarak ifade edilir. Bu, bağlama göre iki farklı şekilde kullanılabilir:
    1. Sunucu İçi Bağlam: NVSwitch çiplerinin bir sunucu içindeki toplu işlevini tanımlamak için "NVLink Switch" terimi kullanılabilir. Yani, NVSwitch çiplerinin oluşturduğu ağın genel adıdır.
    2. Harici Cihaz Bağlam: NVIDIA’nın bağımsız, raf tipi bir ağ cihazını ifade eder (örneğin, "NVLink Switch System"). Bu cihaz, birden fazla sunucudaki GPU’ları NVLink ağıyla birbirine bağlar.
  • Rolü: NVLink Switch, NVLink teknolojisinin daha büyük ölçekte uygulanmasını sağlar. Harici bir NVLink Switch, NVSwitch çiplerini içerir ve sunucular arası GPU iletişimini koordine eder.
  • Konum: Harici NVLink Switch, bir veri merkezinde bağımsız bir ağ cihazı olarak çalışır (örneğin, 1U boyutunda bir kutu). İçinde birden fazla NVSwitch çipi bulunur ve OSFP portları üzerinden GPU’lara bağlanır.

Aynı Şeyler mi, Farklı Şeyler mi?

  • Temel Fark:
    • NVSwitch: Tek bir çip (donanım bileşeni). NVLink Switch’in temel yapı taşıdır.
    • NVLink Switch: NVSwitch çiplerini içeren bir sistem veya cihaz. Daha geniş bir kavramdır.
  • Kullanım Bağlamı:
    • "NVSwitch" dediğinizde, genellikle bir sunucu içindeki spesifik bir çipi kastedersiniz (örneğin, DGX H100’deki 4 NVSwitch çipi).
    • "NVLink Switch" dediğinizde, ya bu çiplerin oluşturduğu genel sistemi ya da harici bir ağ cihazını (NVLink Switch System) kastedersiniz.

Örnekler:

  1. DGX H100: Bu sistemde 4 adet NVSwitch çipi bulunur. NVIDIA, bu çiplerin toplu işlevini bazen "NVLink Switch" olarak adlandırır, çünkü 8 GPU’yu tam bağlantılı bir ağda birleştirir. Burada NVSwitch (çip) ve NVLink Switch (sistem) pratikte aynı anlama gelebilir.
  2. NVLink Switch System: NVIDIA’nın 2022’de tanıttığı harici cihaz, içinde 6 NVSwitch 3 çipi barındırır ve 256 H100 GPU’yu bir NVLink ağıyla bağlar. Bu durumda "NVLink Switch", bağımsız bir donanımı ifade eder.

Kafa Karışıklığını Çözmek

  • Aynı Şey: Eğer bir sunucu içindeki NVLink ağından bahsediyorsanız, "NVSwitch" ve "NVLink Switch" terimleri bazen birbirinin yerine kullanılabilir. NVIDIA belgelerinde bu iki terim, bağlama bağlı olarak örtüşebilir.
  • Farklı Şey: Harici bir cihazdan bahsediyorsanız (örneğin, NVLink Switch System), bu NVSwitch çiplerini içeren daha büyük bir sistemdir ve NVSwitch’ten farklı bir kavramdır.

Özet Tablo:

Terim Tanım Konum Örnek
NVSwitch Tek bir anahtar çipi Sunucu içi (entegre) DGX H100’de 4 NVSwitch
NVLink Switch NVSwitch’leri içeren sistem/cihaz Sunucu içi veya harici Harici NVLink Switch System

Sonuç

  • NVSwitch, fiziksel bir çiptir ve NVLink Switch’in temel bileşenidir.
  • NVLink Switch, bu çiplerin oluşturduğu bir sistem veya harici bir cihaz olabilir.

KAYNAKLAR VE OKUNMASI GEREKENLER