NVLink - NVLink
Výrobce | Nvidia |
---|---|
Typ | Multi- GPU a CPU technologie |
Předchůdce | Škálovatelné rozhraní rozhraní |
NVLink je drátové sériové vícepruhové komunikační spojení blízkého dosahu vyvinuté společností Nvidia . Na rozdíl od PCI Express může zařízení sestávat z více NVLinků a zařízení používají ke komunikaci místo centrálního rozbočovače síťovou síť . Protokol byl poprvé oznámen v březnu 2014 a využívá proprietární vysokorychlostní signalizační propojení (NVHS).
Zásada
NVLink je drátový komunikační protokol pro polovodičovou komunikaci blízkého dosahu vyvinutý společností Nvidia, který lze použít pro přenos dat a řídicích kódů v systémech procesorů mezi CPU a GPU a výhradně mezi GPU. NVLink specifikuje připojení point-to-point s datovými rychlostmi 20, 25 a 50 Gbit/s (v1.0/v2.0/v3.0 resp.) Na diferenciální pár. Osm diferenciálních párů tvoří „dílčí odkaz“ a dva „dílčí odkazy“, jeden pro každý směr, tvoří „odkaz“. Celková datová rychlost pro dílčí odkaz je 25 GByt/s a celková datová rychlost pro odkaz je 50 GByt/s. Každý GPU V100 podporuje až šest odkazů. Každý GPU je tedy schopen podporovat až 300 GByte/s v celkové obousměrné šířce pásma. Dosud představené produkty NVLink se zaměřují na vysoce výkonný aplikační prostor. NVLink 3.0, oznámený 14. května 2020, zvyšuje rychlost přenosu dat na diferenciální pár z 25 Gbit/s na 50 Gbit/s při současném snížení počtu párů na NVLink na polovinu z 8 na 4. S 12 odkazy pro GPU A100 na bázi Ampere to přináší celková šířka pásma až 600 GB/s.
Výkon
Následující tabulka ukazuje srovnání základních metrik na základě standardních specifikací:
Propojit | Přenosová rychlost |
Kód linky | Efektivní rychlost užitečného zatížení na jízdní pruh a směr |
Maximální celková délka jízdního pruhu (PCIe: včetně 5 "pro desky plošných spojů) |
Realizováno v designu |
---|---|---|---|---|---|
PCIe 1.x | 2,5 GT/s | 8b/10b | ~ 0,25 GB/s | 20 "= ~ 51 cm | |
PCIe 2.x | 5 GT/s | 8b/10b | ~ 0,5 GB/s | 20 "= ~ 51 cm | |
PCIe 3.x | 8 GT/s | 128b/130b | ~ 1 GB/s | 20 "= ~ 51 cm |
Pascal , Volta , Turing |
PCIe 4.0 | 16 GT/s | 128b/130b | ~ 2 GB/s | 8−12 palců = ~ 20–30 cm | Volta na Xavieru (8x, 4x, 1x), Ampere , Power 9 |
PCIe 5.0 | 32 GT/s | 128b/130b | ~ 4 GB/s | ||
PCIe 6.0 | 64 GT/s | 128b/130b | ~ 8 GB/s | ||
NVLink 1.0 | 20 Gbit/s | ~ 2,5 GB/s |
Pascal , výkon 8+ |
||
NVLink 2.0 | 25 Gbit/s | ~ 3,125 GB/s |
Volta , NV Přepínač pro Volta Power 9 |
||
NVLink 3.0 | 50 Gbit/s | ~ 6,25 GB/s |
Ampere , NVSwitch pro Ampere |
||
NVLink 4.0 | ?? Gbit/s | ~?. ?? GB/s | CPU centra Nvidia Grace Datacenter/Server, mikroarchitektura Nvidia GPU příští generace |
Následující tabulka ukazuje srovnání příslušných parametrů sběrnice pro polovodiče v reálném světě, které všechny nabízejí NVLink jako jednu ze svých možností:
Polovodič | Varianta doručení na palubu /autobus |
Propojit | Rychlost přenosové technologie (na jízdní pruh) |
Dráhy na dílčí odkaz (out + in) |
Rychlost dat dílčího odkazu (podle směru dat) |
Sub-link nebo jednotka Počet |
Celková rychlost přenosu dat (out + in) |
Celkem pruhy (out + in) |
Celková rychlost přenosu dat (out + in) |
---|---|---|---|---|---|---|---|---|---|
Nvidia GP100 | P100 SXM, P100 PCI-E |
PCIe 3.0 | GT/s | 816 + 16 Ⓑ | 128 Gbit/s = 16 GByt/s | 1 | 16 + 16 GByt/s | 32 Ⓒ | 32 GB/s |
Nvidia GV100 | V100 SXM2, V100 PCI-E |
PCIe 3.0 | GT/s | 816 + 16 Ⓑ | 128 Gbit/s = 16 GByt/s | 1 | 16 + 16 GByt/s | 32 Ⓒ | 32 GB/s |
Nvidia TU104 |
GeForce RTX 2080 , Quadro RTX 5000 |
PCIe 3.0 | GT/s | 816 + 16 Ⓑ | 128 Gbit/s = 16 GByt/s | 1 | 16 + 16 GByt/s | 32 Ⓒ | 32 GB/s |
Nvidia TU102 | GeForce RTX 2080 Ti, Quadro RTX 6000/8000 |
PCIe 3.0 | GT/s | 816 + 16 Ⓑ | 128 Gbit/s = 16 GByt/s | 1 | 16 + 16 GByt/s | 32 Ⓒ | 32 GB/s |
Nvidia Xavier | (obecný) | PCIe 4.0 Ⓓ 2 jednotky: x8 (duální) 1 jednotka: x4 (duální) 3 jednotky: x1 |
16 GT/s |
8 + 8 Ⓑ 4 + 4 Ⓑ 1 + 1 |
128 Gbit/s = 16 GByte/s 64 Gbit/s = 8 GByt/s 16 Gbit/s = 2 GByte/s |
Ⓓ 2 1 3 |
Ⓓ 32 + 32 GB/s 8 + 8 GB/s 6 + 6 GB/s |
40 Ⓑ | 80 GB/s |
IBM Power9 | (obecný) | PCIe 4.0 | 16 GT/s | 16 + 16 Ⓑ | 256 Gbit/s = 32 GByt/s | 3 | 96 + 96 GByt/s | 96 | 192 GByt/s |
Nvidia GA100 Nvidia GA102 |
Ampér A100 | PCIe 4.0 | 16 GT/s | 16 + 16 Ⓑ | 256 Gbit/s = 32 GByt/s | 1 | 32 + 32 GByt/s | 32 Ⓒ | 64 GB/s |
Nvidia GP100 | P100 SXM, (není k dispozici s P100 PCI-E) |
NVLink 1.0 | 20 GT/s | 8 + 8 Ⓐ | 160 Gbit/s = 20 GByt/s | 4 | 80 + 80 GByt/s | 64 | 160 GB/s |
Nvidia Xavier | (obecný) | NVLink 1.0 | 20 GT/s | 8 + 8 Ⓐ | 160 Gbit/s = 20 GByt/s | ||||
IBM Power8+ | (obecný) | NVLink 1.0 | 20 GT/s | 8 + 8 Ⓐ | 160 Gbit/s = 20 GByt/s | 4 | 80 + 80 GByt/s | 64 | 160 GB/s |
Nvidia GV100 | V100 SXM2 (není k dispozici s V100 PCI-E) |
NVLink 2.0 | 25 GT/s | 8 + 8 Ⓐ | 200 Gbit/s = 25 GByt/s | 6 | 150 + 150 GB/s | 96 | 300 GB/s |
IBM Power9 | (obecný) | NVLink 2.0 (porty BlueLink) |
25 GT/s | 8 + 8 Ⓐ | 200 Gbit/s = 25 GByt/s | 6 | 150 + 150 GB/s | 96 | 300 GB/s |
NVSwitch pro Voltu |
(obecné) (plně připojený přepínač 18x18) |
NVLink 2.0 | 25 GT/s | 8 + 8 Ⓐ | 200 Gbit/s = 25 GByt/s | 2 * 8 + 2 = 18 |
450 + 450 GByt/s | 288 | 900 GB/s |
Nvidia TU104 |
GeForce RTX 2080 , Quadro RTX 5000 |
NVLink 2.0 | 25 GT/s | 8 + 8 Ⓐ | 200 Gbit/s = 25 GByt/s | 1 | 25 + 25 GByt/s | 16 | 50 GB/s |
Nvidia TU102 | GeForce RTX 2080 Ti, Quadro RTX 6000/8000 |
NVLink 2.0 | 25 GT/s | 8 + 8 Ⓐ | 200 Gbit/s = 25 GByt/s | 2 | 50 + 50 GByt/s | 32 | 100 GB/s |
Nvidia GA100 | Ampér A100 | NVLink 3.0 | 50 GT/s | 4 + 4 Ⓐ | 200 Gbit/s = 25 GByt/s | 12 | 300 + 300 GByt/s | 96 | 600 GB/s |
Nvidia GA102 | GeForce RTX 3090 Quadro RTX A6000 |
NVLink 3.0 | 28,125 GT/s | 4 + 4 Ⓐ | 112,5 Gbit/s = 14,0625 GByt/s | 4 | 56,25 + 56,25 GByt/s | 16 | 112,5 GByt/s |
NVSwitch pro Ampere |
(obecné) (plně připojený přepínač 18x18) |
NVLink 3.0 | 50 GT/s | 8 + 8 Ⓐ | 400 Gbit/s = 50 GByt/s | 2 * 8 + 2 = 18 |
900 + 900 GB/s | 288 | 1 800 GB/s |
Poznámka : Sloupce datové rychlosti byly zaokrouhleny aproximací přenosovou rychlostí, viz odstavec výkonu v reálném světě
-
Ⓐ : hodnota vzorku; Mělo by být možné sdružování dílčích odkazů NVLink
-
Ⓑ : hodnota vzorku; Měly by být možné i jiné zlomky pro využití pruhu PCIe
- Poznámka : jedna (ne! 16) dráha PCIe přenáší data přes diferenciální pár
- Dodatečně : různá omezení konečně možných kombinací mohou platit kvůli muxování pinů čipů a designu desek
- jednotku dual : interface lze konfigurovat buď jako kořenový rozbočovač, nebo jako koncový bod
- obecné : holý polovodič bez jakýchkoli specifických omezení pro návrh desky
Výkon v reálném světě lze určit uplatněním různých zapouzdřovacích daní a také míry využití. Ty pocházejí z různých zdrojů:
- 128b/130b kód linky (viz např. Přenos dat PCI Express pro verze 3.0 a vyšší)
- Ovládací znaky odkazu
- Hlavička transakce
- Možnosti ukládání do vyrovnávací paměti (závisí na zařízení)
- Využití DMA na straně počítače (závisí na jiném softwaru, obvykle zanedbatelné na benchmarcích)
Tato fyzická omezení obvykle snižují rychlost přenosu dat na 90 až 95% přenosové rychlosti. Benchmarky NVLink ukazují dosažitelnou přenosovou rychlost přibližně 35,3 Gbit/s (hostitel na zařízení) pro připojení NVLink 40 Gbit/s (2 subpásové uplinky) směrem k GPU P100 v systému, který je poháněn sadou procesorů IBM Power8 .
Použití s zásuvnými deskami
U různých verzí zásuvných desek (existuje ještě malý počet špičkových herních a profesionálních grafických desek GPU s touto funkcí), které odhalují další konektory pro jejich připojení do skupiny NVLink, podobný počet mírně se měnících, relativně kompaktních , Propojovací konektory na bázi DPS existují. Vzhledem k jejich fyzickému a logickému designu se obvykle spojí pouze desky stejného typu. U některých nastavení je třeba k dosažení plné rychlosti přenosu dat použít dvě stejné zástrčky. Nyní je typická zástrčka ve tvaru písmene U s jemným konektorem mřížky na každém z koncových tahů tvaru odvráceného od diváka. Šířka zástrčky určuje, jak daleko musí být zasunovací karty usazeny na hlavní desce hostitelského počítačového systému - vzdálenost pro umístění karty je obvykle určena shodnou zástrčkou (známé dostupné šířky zástrček jsou 3 až 5 slotů a také závisí na typu desky). Propojení je pro svůj strukturální design a vzhled často označováno jako Scalable Link Interface (SLI) z roku 2004, i když moderní design založený na NVLink má zcela odlišnou technickou povahu s odlišnými funkcemi v základních úrovních ve srovnání s předchozím designem. Hlášená zařízení v reálném světě jsou:
- Quadro GP100 (dvojice karet bude využívat až 2 můstky; nastavení realizuje buď 2 nebo 4 připojení NVLink s rychlostí až 160 GB/s - může se podobat NVLink 1.0 s 20 GT/s)
- Quadro GV100 (pár karet bude potřebovat až 2 můstky a realizovat až 200 GB/s - může to připomínat NVLink 2.0 s 25 GT/sa 4 odkazy)
- GeForce RTX 2080 na bázi TU104 (s jediným můstkem „GeForce RTX NVLink-Bridge“)
- GeForce RTX 2080 Ti na bázi TU102 (s jediným můstkem „GeForce RTX NVLink-Bridge“)
- Quadro RTX 5000 na bázi TU104 (s jediným můstkem „NVLink“ až 50 GB/s - může se podobat NVLink 2.0 s 25 GT/sa 1 odkazem)
- Quadro RTX 6000 na bázi TU102 (s jediným můstkem „NVLink HB“ až 100 GB/s - může se podobat NVLink 2.0 s 25 GT/s a 2 odkazy)
- Quadro RTX 8000 na bázi TU102 (s jediným můstkem „NVLink HB“ až 100 GB/s - může se podobat NVLink 2.0 s 25 GT/s a 2 odkazy)
Servis softwaru a programování
U produktových řad Tesla, Quadro a Grid nabízí NVML-API (Nvidia Management Library API) sadu funkcí pro programové ovládání některých aspektů propojení NVLink v systémech Windows a Linux, jako je vyhodnocení komponent a verze spolu se stavem/chybou dotazování a monitorování výkonu. Dále s poskytnutím knihovny NCCL (Nvidia Collective Communications Library) bude vývojářům ve veřejném prostoru umožněno realizovat např. Výkonné implementace pro umělou inteligenci a podobná výpočetně náročná témata na vrcholu NVLink. Stránka „3D nastavení“ »„ Konfigurace SLI, Surround, PhysX “na ovládacím panelu Nvidia a ukázková aplikace CUDA „ simpleP2P “používají taková API k realizaci svých služeb s ohledem na jejich funkce NVLink. Na platformě Linux poskytuje aplikace příkazového řádku s podřízeným příkazem „nvidia-smi nvlink“ podobnou sadu pokročilých informací a ovládání.
Dějiny
Dne 5. dubna 2016 společnost Nvidia oznámila, že NVLink bude implementován do GP100 GP100 na bázi Pascal na bázi mikroarchitektury , jak se používá například v produktech Nvidia Tesla P100. Se zavedením vysoce výkonné počítačové základny DGX-1 bylo možné mít až osm modulů P100 v jediném rackovém systému připojeném až ke dvěma hostitelským CPU. Nosná deska (...) umožňuje vyhrazenou desku pro směrování připojení NVLink - každý P100 vyžaduje 800 pinů, 400 pro napájení PCIe + a dalších 400 pro NVLink, čímž se přidá až téměř 1600 tras desek pouze pro NVLinks (. ..). Každý procesor má přímé připojení ke 4 jednotkám P100 přes PCIe a každý P100 má po jednom NVLink ke 3 dalším P100 ve stejné skupině CPU plus jeden další NVLink k jednomu P100 v druhé skupině CPU. Každý NVLink (propojovací rozhraní) nabízí obousměrný 20 GB/s až 20 GB/s dolů, se 4 odkazy na GP100 GPU, pro celkovou šířku pásma 80 GB/s nahoru a dalších 80 GB/s dolů. NVLink podporuje směrování, takže v designu DGX-1 jsou pro každý P100 přímo dosažitelné celkem 4 z ostatních 7 P100 a zbývající 3 jsou dosažitelné pouze jedním skokem. Podle vyobrazení v blogových publikacích Nvidia od roku 2014 NVLink umožňuje sdružování jednotlivých odkazů pro zvýšení výkonu z bodu do bodu, takže například design se dvěma P100 a všechna propojení vytvořená mezi těmito dvěma jednotkami by umožnila plnou šířku pásma NVLink 80 GB /s mezi nimi.
Na GTC2017 představila Nvidia svoji generaci GPU Volta a naznačila integraci revidované verze 2.0 NVLink, která by umožnila celkové datové rychlosti I/O 300 GB/s pro jeden čip pro tento design, a dále oznámila možnost pre -objednávky s příslibem dodávky Q3/2017 vysoce výkonných počítačů DGX-1 a DGX-Station, které budou vybaveny GPU moduly typu V100 a NVLink 2.0 bude realizován buď v síti (dvě skupiny čtyř modulů V100 s inter -group connectivity) nebo plně propojený způsob jedné skupiny čtyř modulů V100.
V letech 2017–2018 dodaly IBM a Nvidia superpočítače Summit a Sierra pro americké ministerstvo energetiky, které kombinují rodinu procesorů IBM POWER9 a architekturu Nvidia Volta s využitím NVLink 2.0 pro propojení CPU-GPU a GPU-GPU a InfiniBand EDR pro systém se propojuje.
V roce 2020 společnost Nvidia oznámila, že od 1. ledna 2021 již nebude přidávat nové profily ovladačů SLI na řadu RTX 2000 a starší.
Viz také
- Propojení Intel QuickPath
- HyperTransport
- Rozhraní pro předávání zpráv
- INK (operační systém)
- Compute Node Linux