PCIe linky a topológia v multi-GPU AI serveri

V oblasti spotrebiteľskej umelej inteligencie pretrváva mýtus, že „PCIe x8 vs x16 nie je pre inferenciu dôležité“. Je to väčšinou pravda a ľudia, ktorí to opakujú, takmer nikdy nevedia prečo. Tiež majú tendenciu padnúť do oka v momente, keď sa ich opýtate, prečo základná doska pre stolné počítače nemôže hostiť štvrtú grafickú kartu s plnou šírkou pásma alebo prečo sa server EPYC s 8 grafickými kartami nespráva ako dva stolné počítače so 4 grafickými kartami zlepené dohromady.

Tento článok je rozšírená verzia. Zaoberá sa tým, čo sú PCIe linky, ako sú alokované na CPU, s ktorými Kentino zostavuje systémy, čo robia bifurkácie a prepínače, kam sa hodí NVLink (a kam nie) a kedy na topológii skutočne záleží. Končí konkrétnymi diagramami pre 4-GPU a 8-GPU platformy EPYC, ktoré dodávame.

Čo je to PCIe linka, stručne

PCIe linka je dvojica diferenciálnych sériových liniek – jedna pre každý smer – medzi koreňovým komplexom CPU (alebo následným prepínačom) a zariadením. Viaceré linky sú prepojené a tvoria širšiu linku: x1, x4, x8, x16. Šírka pásma sa lineárne škáluje s počtom liniek a s každou generáciou sa zhruba zdvojnásobuje.

Generácie Nespracované na dráhu x16 surový x16 použiteľné (~)
Gen3 8 GT / s 16 GB / s ~ 15.75 GB / s
Gen4 16 GT / s 32 GB / s ~ 31.5 GB / s
Gen5 32 GT / s 64 GB / s ~ 63 GB / s
Gen6 64 GT / s 128 GB / s ~ 121 GB / s

Dve výhrady. Šírka pásma je pre každý smer — pripojenie Gen5 x16 dosahuje rýchlosť 64 GB/s v každom smere súčasne, a preto sa v marketingových prezentáciách uvádza buď „64 GB/s“, alebo „128 GB/s“. A Gen6 sa nedodáva v žiadnej GPU, ktorú si dnes môžete kúpiť. Špecifikácia je finalizovaná, ale kremík sa od mája 2026 nenachádza v kartách pre pracovné stanice; prvé koncové body Gen6 sú súčiastky určené len pre dátové centrá, s ktorými Kentino nevyrába karty. Pre našu aktuálnu ponuku – RTX 5090, RTX 4090, RTX Pro 6000 Blackwell (obe varianty), L40, L4 – je Gen5 x16 stropom.

Rozpočty na linky podľa socketu CPU

Tu sa hranica medzi stolovou počítačovou plochou / pracovnou stanicou / serverom stáva viditeľnou. Počet dráh v CPU v aktuálnych zostaveniach Kentina sa odpočíta od množstva rezervovaného pre čipovú sadu / DMI:

Trieda procesora Generácie Celkový počet PCIe liniek Použiteľné pre GPU / NIC / NVMe
Intel Core (LGA1700/1851) Zmes Gen5/4 20 ~20 (veľmi tesné)
Intel Xeon W7 / W9 (Sapphire R.) Gen5 112 ~ 112
AMD Ryzen 9000 (AM5) Gen5 28 ~ 24
AMD Threadripper 7000 Gen5 92 ~ 88
AMD Threadripper Pro 7000 WX Gen5 128 ~ 128
AMD EPYC Janov (9004) Gen5 128 ~128 (jedna zásuvka)
AMD EPYC Turín (9005) Gen5 128 ~128 (jedna zásuvka)
Dvojpäticový procesor AMD EPYC Gen5 160 zdieľané cez xGMI

Z toho okamžite vyplývajú tri dôsledky.

CPU pre bežné stolné počítače nemôže hostiť štyri GPU s plnou šírkou pásma. S celkovým počtom 20 – 28 liniek pridelíte jeden x16 primárnemu slotu, jeden x4 NVMe a máte vyčerpané možnosti. Zostavy „4-GPU pre stolné počítače“, ktoré rozdeľujú x16 na 4×x4, fungujú pre inferenciu, pretože väčšina inferencie nenasýti x4 Gen5 (~16 GB/s). Nefungujú pre trénovanie naprieč kartami kvôli prevádzke s gradientnou synchronizáciou.

Pracovná stanica Xeon W alebo Threadripper Pro pohodlne hostí štyri grafické karty v rozhranie x16 – 64 liniek pre grafické karty, dostatok zostáva pre NVMe a sieťovú kartu 25/100 GbE.

Jednosocketový EPYC Genoa alebo Turin vám poskytne 128 liniek, čo je jediný rozumný spôsob, ako zostaviť server s 8 GPU a všetkými ôsmimi kartami na x16. Dvojsocketový EPYC pridáva nominálne linky, ale zisk je menší, ako vyzerá, pretože prevádzka medzi soketmi tečie cez xGMI, ktoré je konečné a zdieľané.

Bifurkácia: rozrezanie x16 na menšie kúsky

Slot PCIe je fyzicky x16, ale hostiteľovi sa dá povedať, aby ho elektricky prezentoval ako menšie linky. Štandardné rezy sú:

  • x16 → 2 × x8
  • x16 → 4 × x4
  • x8 → 2 × x4

Rozdvojenie sa nachádza v procesore a je odhalené v BIOSe základnej dosky. Či ho skutočne môžete použiť, závisí od troch vecí, ktoré sú splnené súčasne: procesor ho podporuje, BIOS túto možnosť sprístupňuje a rozširujúca/základná doska je zapojená tak, aby správne rozdelila linky. Prvé dve veci sú zvyčajne v poriadku na doskách serverovej triedy (Supermicro, ASRock Rack, Gigabyte). Tretia je tam, kde sa ľudia popália – rôzni dodávatelia mapujú linky odlišne.

Rozdvojenie je trik, ktorý vám umožňuje zmestiť do šasi viac grafických kariet (GPU), ako má procesor k dispozícii x16 slotov. Server EPYC s 8 grafickými kartami má zriedkakedy 8 natívnych koreňových portov x16; je to kombinácia natívnych a rozdvojených slotov smerovaných cez rozširujúce porty, pričom každá grafická karta má x16 alebo x8 v závislosti od rozloženia.

Čo stratíte: šírku pásma na kartu. Rozvetvené pripojenie x8 Gen5 je 32 GB/s – polovica oproti x16. Pre inferenciu je to neviditeľné. Pri trénovaní viacerých GPU sa to prejaví v gradientnej synchronizácii a priechode aktivácie.

PCIe prepínače a retimery

Ak rozdvojenie nestačí – povedzme, že chcete osem GPU, všetky na x16 – odpoveďou je PCIe prepínač. Séria Broadcom PEX je kanonickým príkladom. Prepínač triedy PEX 89000 berie jeden x16 proti prúdu z CPU a rozdeľuje ho na viacero portov x16 downstream. Downstream porty prevyšujú predplatené pripojenie proti prúdu; ak všetkých osem GPU súčasne zaťažuje hostiteľa, zdieľajú upstream x16.

Toto je architektúra vo vnútri základných dosiek HGX od spoločnosti NVIDIA (a systémov SXM, ktoré Kentino nevyrába). Funguje to preto, lebo v dobre fungujúcich viacnásobných GPU úlohách je väčšina prevádzky medzi GPU (NVLink alebo PCIe peer-to-peer), nie medzi GPU a hostiteľom. Upstream link prenáša váhy iba počas načítavania, občasného kontrolného bodovania a úložného I/O. Inferencia ho nenasýti; trénovanie väčšinou tiež nie, ak kolektívy zostávajú medzi GPU.

Retimery sú iné: opakovače signálu, ktoré umožňujú prepojenie Gen5 prebiehať cez kábel dlhší, ako umožňuje špecifikácia. Nemenia topológiu – robia zvolenú topológiu fyzicky dosiahnuteľnou. Každé šasi EPYC s 8 GPU, ktoré Kentino dodáva, používa retimery, pretože kábel vedúci zo základnej dosky do pozícií GPU presahuje natívny dosah Gen5.

NVLink – čo to je a kde to nie je

NVLink je proprietárne prepojenie medzi grafickými kartami (GPU) od spoločnosti NVIDIA, nezávislé od PCIe. Používa vyhradenú sadu vysokorýchlostných liniek na okraji GPU (alebo prostredníctvom konektora SXM alebo mostíka NVLink) na zabezpečenie priameho prístupu k pamäti medzi GPU s oveľa vyššou šírkou pásma ako PCIe.

Interconnect Súhrnná šírka pásma Karty, ktoré to podporujú (v roku 2026)
PCIe Gen5 x16 64 GB / s Všetky aktuálne grafické karty PCIe
Most NVLink 4 600 GB / s Varianty A100, H100 PCIe (väčšinou vyradené z prevádzky)
NVLink 5 (SXM) 1800 GB / s H100 SXM, H200, GB200, B200 – všetky iba SXM
NVLink (Pro 6000 SXM) N / A RTX Pro 6000 Blackwell je PCIe, bez NVLinku

Kľúčový fakt pre akúkoľvek stavbu lodí Kentino: Žiadna z našich kariet nemá NVLink. RTX 4090 stratila konektor, ktorý mala 3090. 5090 ho nemá. RTX Pro 6000 Blackwell (Workstation aj Max-Q) je iba PCIe. L40 a L4 tiež.

Toto nie je opomenutie. NVIDIA si vyhradzuje NVLink pre grafické karty SXM pre dátové centrá a niekoľko kariet PCIe s mostíkom NVLink – a tie sa postupne vyraďujú, keďže high-endové produkty úplne prechádzajú na SXM. Ak chcete NVLink, kupujete si HGX s modulmi H100/H200/B200 za desaťnásobnú cenu a Kentino to nevyrába.

Bez NVLinku prechádzajú kolektívne spojenia GPU-GPU (all-reduce, all-gather, reduce-scatter) cez PCIe peer-to-peer. Efektívna šírka pásma medzi dvoma kartami je obmedzená pomalším z dvoch PCIe liniek a akýmkoľvek prepínačom alebo koreňovým portom, ktorý sa nachádza medzi nimi. V systéme EPYC s 8 GPU je P2P medzi GPU na tom istom prepínači rýchly; P2P medzi koreňovými komplexmi prechádza cez CPU a je pomalší.

Pre inferenciu to takmer nikdy nevadí – inferencia je viazaná na pamäť lokálneho GPU, pričom dávkové aktivácie prechádzajú cez GPU len príležitostne. Pre trénovanie s tenzorovým paralelizmom je to najväčší dôvod, prečo zostavenie EPYC 8×5090 nie je ekvivalentné uzlu HGX 8×H100, aj keď surové FLOPS vyzerajú porovnateľne.

Keď sa šírka pásma PCIe skutočne nasýti

Pracovná záťaž Nasýti PCIe? Poznámky
Inferencia pre jeden GPU (LLM, dávka 1) Nie Model je umiestnený vo VRAM; PCIe iba pre tokeny
Inferencia pre jeden GPU (LLM, veľká dávka) Nie Priepustnosť sa s dávkou zvyšuje; PCIe je stále nečinné
Inferencia videnia z jedného GPU Niekedy Pri napájaní z pamäte CPU je x8 viditeľný
Inferencia s viacerými GPU (paralelne s tenzormi) Niekedy Aktivácie naprieč grafickými procesormi v každej vrstve
Inferencia viacerých GPU (paralelne s pipeline) zriedka Iba aktivácie na hraniciach etáp
Načítanie modelu z NVMe / siete Áno 140 GB Llama-405B Q8 chce každý GB/s, ktorý máte
Tréning, jeden GPU Nie Rovnaké ako inferencia
Tréning, viacero grafických kariet, ZeRO-1/2 Áno Gradientné redukcie kladívami prepojujú
Tréning, viacero grafických kariet, ZeRO-3 / FSDP Áno, ťažko Parameter all-gather pri každom kroku vpred
Trénovanie, multi-GPU, tenzorový paralelný systém Áno, ťažko Bez NVLinku je to najhorší prípad

Vzor je konzistentný: Inferencia nenasýti PCIe; trénovanie áno. Ak bude zostava stráviť svoju životnosť poskytovaním inferencie – čo platí pre väčšinu kupujúcich – x8 Gen5 na kartu je v poriadku a môžete zmestiť viac GPU do menšieho rozpočtu na topológiu. Ak trénujete, chcete, aby každá karta bola na x16 a GPU zoskupené, aby kolektívy neprechádzali najpomalšou cestou.

Topológia pre zostavu so 4 GPU (EPYC Genoa, jeden socket)

Toto je štandardná konfigurácia Kentino so 4 GPU na AMD EPYC. Funguje aj na Threadripper Pro 7000 WX s identickým rozdelením línií.

AMD EPYC Janov / Turín — 128 liniek PCIe Gen5
GPU 0 XNUMX
x16
GPU 1 XNUMX
x16
GPU 2 XNUMX
x16
GPU 3 XNUMX
x16
Zostávajúcich ~32 liniek: NVMe x4, NIC x8, BMC, správa

4-GPU EPYC: každá GPU má vyhradené pripojenie x16 Gen5 priamo ku koreňovému komplexu CPU. Žiadny prepínač, žiadne nadmerné predplatné.

Každá grafická karta (GPU) má plné prepojenie x16 Gen5 priamo s koreňovým komplexom CPU. Žiadne rozdvojenie, žiadny prepínač ani retimer pre samotné GPU (rozširujúce karty môžu mať stále retimery v závislosti od rozloženia šasi). P2P medzi ľubovoľnými dvoma GPU prechádza cez vnútornú infraštruktúru EPYC a je symetrické – všetky štyri karty sú z hľadiska topológie rovnako vzdialené.

Toto je najčistejšia dostupná zostava s viacerými grafickými kartami. Dodávame ju pre 4× RTX 5090, 4× RTX 4090, 4× RTX Pro 6000 Blackwell a 4× L40.

Topológia pre zostavu s 8 GPU (EPYC Genoa / Turin, jeden socket)

128 liniek nestačí na to, aby sa ôsmim GPU poskytol plnohodnotný x16 – to by spotrebovalo celý rozpočet a nezostalo by nič na NVMe alebo siete. Štandardné rozloženia sú:

Možnosť A: Všetkých 8 GPU na x16 s prepínacou štruktúrou

AMD EPYC Janov / Turín – 128 dráh Gen5
PEX prepínač A (x16 upstream)
G0
x16
G1
x16
G2
x16
G3
x16
PEX prepínač B (x16 upstream)
G4
x16
G5
x16
G6
x16
G7
x16
Zostávajúcich ~96 CPU liniek: NVMe pole, sieťové karty, BMC, správa

Možnosť A: dva PCIe prepínače, každý s jednou x16 pred CPU a štyrmi x16 downstream GPU. P2P v rámci prepínača je rýchly; P2P medzi prepínačmi prechádza cez CPU.

Každý prepínač sa pripája k CPU na porte x16 Gen5 a rozdeľuje štyri porty x16 downstream. GPU 0–3 zdieľajú jedno prepojenie s CPU s rýchlosťou 64 GB/s; GPU 4–7 zdieľajú ďalšie. P2P medzi GPU 0 a 1 je rýchle (ten istý prepínač); P2P medzi GPU 0 a GPU 4 prechádza cez koreňový komplex CPU a je pomalšie. Kentino s 8 GPU postavenými na šasi Supermicro a Bone64c sa riadi týmto modelom.

Možnosť B: Všetkých 8 GPU na x8, priamo do CPU

AMD EPYC Janov / Turín — 128 liniek Gen5, rozdvojené
G0
x8
G1
x8
G2
x8
G3
x8
G4
x8
G5
x8
G6
x8
G7
x8
8 × x8 = 64 liniek pre GPU. ~64 voľných liniek pre NVMe / sieťové karty / BMC

Možnosť B: 8 GPU na x8 priamo do CPU cez rozdvojenie. Žiadny prepínač, žiadne prekročenie predplatného, ​​32 GB/s na kartu. Iba zostavenia založené len na inferencii.

Žiadny prepínač, žiadne nadmerné predplatné, nižšia latencia CPU-GPU. Každá karta dosahuje 32 GB/s namiesto 64. Pre inferenciu je to neviditeľné. Pre tréning v náročných kolektívnych podmienkach je to výrazne horšie ako možnosť A – prepojenie na kartu je menšie a neexistuje žiadne rýchle P2P v rámci prepínača.

Predvolená zostava Kentina s 8 GPU je možnosť A (prepínaná štruktúra) pre systémy s možnosťou trénovania a možnosť B (rozdvojená priama) pre zostavy iba s inferenciou, kde je rozpočet na linky lepšie využiť na NVMe a duálne 100 GbE sieťové karty.

Integrita signálu v Gen5

Gen5 je dostatočne rýchla na to, aby fyzická vrstva zohrávala úlohu tak, ako v Gen3 alebo Gen4. Kábel Gen5 vedie na štandardnej doske plošných spojov FR4 približne 7 palcov predtým, ako sa oko zatvorí. Kábel Gen5 vedie približne 20 cm bez časovača. To stačí pre slot susediaci s CPU; nestačí to pre riser kábel v 4U šasi vzdialenom 40 cm.

Čo to znamená:

  • Na stúpačkách záleží. Výstuhy Gen4 neprepúšťajú signály Gen5. Potrebujete výstuhy s hodnotením Gen5, zvyčajne s vloženým časovačom. Rozdiel v cene je reálny – 80 – 150 € za výstuhu.
  • Dĺžka kábla je pevne ohraničená. Nad 30 cm potrebuje retizer; nad 70 cm dva. Preto produkty s „externým GPU boxom“ v 5. generácii v skutočnosti neexistujú.
  • Nestále prepojenie sa potichu prepne na Gen4 alebo Gen3. Systém sa spustí, grafická karta sa zobrazí v nvidia-smi, vyplýva z inferencie. Šírka pásma je štvrtina toho, za čo ste zaplatili. nvidia-smi --query-gpu=pcie.link.gen.current,pcie.link.width.current je prvá vec, ktorú treba skontrolovať pri novej stavbe.
  • Na BIOSe záleží. Niektoré rackové dosky Supermicro a ASRock majú predvolenú rýchlosť pripojenia „Auto“ a vyberajú ju konzervatívne. Explicitne vynúťte Gen5 a potvrďte po zavedení.

Videli sme zostavy, kde jedna z ôsmich GPU trénovala na Gen3 x8 celé týždne, pretože sa na ňu nikto nepozeral. Úloha bežala. Bola 4× pomalšia, ako mala byť.

Kedy je topológia dôležitá a kedy nie

Väčšinou nezáleží na tom, či: spúšťate inferenciu na jednom GPU pri akejkoľvek veľkosti modelu; inferenciu na viacerých GPU s paralelným spracovaním replik (každá GPU spúšťa svoju vlastnú kópiu); dávkovú inferenciu ovládanú šírkou pásma VRAM; alebo načítavate modely raz a zobrazujete ich celé hodiny.

Veľmi záleží, ak: Trénujete viacero GPU s modelom rozdeleným medzi karty (paralelne s tenzorom alebo pipeline); používate FSDP alebo ZeRO-3, kde sú parametre rozdelené a znovu zhromažďované v každom kroku; spúšťate RLHF alebo iné pracovné zaťaženia s častou synchronizáciou gradientov; počas prevádzky vymieňate modely; alebo napájate GPU zo vzdialenej úložnej vrstvy, kde je PCIe lievikom.

Pre väčšinu kupujúcich – inferenčné servery pre LLM/VLM, robotické backendy, hosting serverov s umelou inteligenciou – je topológia problémom kontroly prepojenia, nie architektonickým. Pre tých pár, ktorí sa seriózne venujú tréningu viacerých grafických procesorov (multi-GPU), je topológia (prepínaná verzus rozdvojená, NVLink verzus nie) architektonickým rozhodnutím, a preto je zostavenie 8×5090 EPYC správnym nástrojom pre niektoré tréningové úlohy a nesprávnym nástrojom pre iné.

Čo urobiť ďalej

Ak plánujete zostavu s viacerými grafickými procesormi, otázky, na ktoré si treba odpovedať predtým, ako sa rozhodnete pre procesor:

  1. Koľko GPU a aká je šírka jazdného pruhu? 4 × x16 sa zmestí na pracovnú stanicu; 8 × x16 vyžaduje EPYC + prepínače; 8 × x8 vyžaduje EPYC + rozdvojenie.
  2. Inferencia alebo tréning? Iba inferencia: x8 na GPU je v poriadku, ušetrite náklady na prepínač. Trénovanie s tenzorovým paralelným spracovaním: x16 a prepínač, bodka.
  3. Na čo ešte treba jazdné pruhy? 100 GbE sieťová karta zaberá x16. Štyri U.2 NVMe disky zaberajú x16. Predtým, ako sa rozhodnete pre niečo, si to naplánujte.
  4. Aký je tvoj príbeh o stúpačke Gen5? Rozpočet 100 €/stúpačka, v prípade potreby overte schválenie Gen5 s montážnymi pomôckami. Pozri W03 pre detail stúpačky.
  5. Si si istý, že nepotrebuješ NVLink? Ak je vaša tréningová záťaž viazaná na prepojenie, žiadna topológia PCIe vás nezachráni. Vtedy sa rozhovor presúva na hardvér triedy HGX – ktorý Kentino nevyrába. Lepšie je vedieť to vopred, ako až po inštalácii do racku.

Po zostavení a otestovaní systému sa na topológiu PCIe zabudne na tri roky. Momenty, ktorým treba venovať pozornosť: prvý deň (overenie rýchlosti pripojenia každej grafickej karty), po akejkoľvek aktualizácii systému BIOS (resetovanie nastavení tréningu pripojenia), po akomkoľvek fyzickom opätovnom pripojení (kývanie káblov, znižovanie rýchlosti pripojenia) a pred akýmkoľvek tréningovým spustením, ktoré stojí skutočné peniaze.


Toto je súčasť Kentino Wiki, referenčnej série o umelej inteligencii, robotike a systémoch, ktoré ich spájajú. Komentáre a opravy sú vítané na info@kentino.com.