NVLink - NVLink

NVLink
NVidia NVLink två rader text.png
Tillverkare Nvidia
Typ Multi- GPU och CPU- teknik
Företrädare Skalbart länkgränssnitt

NVLink är en trådbaserad seriell flervägs nära kommunikationslänk som utvecklats av Nvidia . Till skillnad från PCI Express kan en enhet bestå av flera NVLinks, och enheter använder nätverksnätverk för att kommunicera istället för ett centralt nav . Protokollet tillkännagavs först i mars 2014 och använder en proprietär höghastighetssignaleringskoppling (NVHS).

Princip

NVLink är ett trådbaserat kommunikationsprotokoll för halvvägs halvledarkommunikation utvecklad av Nvidia som kan användas för data- och kontrollkodöverföringar i processorsystem mellan CPU: er och GPU: er och enbart mellan GPU: er. NVLink anger en punkt-till-punkt- anslutning med datahastigheter på 20, 25 och 50 Gbit/s (v1.0/v2.0/v3.0 resp.) Per differentialpar. Åtta differentialpar bildar en "underlänk" och två "underlänkar", en för varje riktning, bildar en "länk". Den totala datahastigheten för en underlänk är 25 GByte/s och den totala datahastigheten för en länk är 50 GByte/s. Varje V100 GPU stöder upp till sex länkar. Således kan varje GPU stödja upp till 300 GByte/s i totalt dubbelriktad bandbredd. NVLink-produkter som introducerats hittills fokuserar på det högpresterande applikationsutrymmet. Meddelat 14 maj 2020 ökar NVLink 3.0 datahastigheten per differentialpar från 25 Gbit/s till 50 Gbit/s samtidigt som antalet par per NVLink halveras från 8 till 4. Med 12 länkar till en Ampere -baserad A100 GPU ger detta den totala bandbredden till 600 GB/sek.

Prestanda

Följande tabell visar en grundläggande statistikjämförelse baserad på standardspecifikationer:

Koppla ihop
överföringstakten
Linjekod Effektiv nyttolast
per fil
och riktning
Max total
fillängd
(PCIe: inkl. 5 "för PCB)
Realiserad i design
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 "= ~ 20−30 cm Volta på Xavier
(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 ,
Power 8+
NVLink 2.0 25 Gbit/s ~ 3.125 GB/s Volta ,
NVSwitch för Volta
Power 9
NVLink 3.0 50 Gbit/s ~ 6,25 GB/s Ampere ,
NVSwitch för Ampere
NVLink 4.0 ?? Gbit/s ~?. ?? GB/s Nvidia Grace Datacenter/Server-CPU,
Nästa generations Nvidia GPU-mikroarkitektur

Följande tabell visar en jämförelse av relevanta bussparametrar för halvledare i verkliga världen som alla erbjuder NVLink som ett av deras alternativ:

Halvledare Board/buss
leverans variant
Koppla ihop
Överföringsteknik
hastighet (per bana)
Spår per
underlänk
(ut + in)
Underlänkdatahastighet
(per datariktning)
Underlänk
eller
antal enheter
Total datahastighet
(ut + in)
Totala
körfält
(ut + in)
Total
datahastighet
(ut + in)
Nvidia GP100 P100 SXM,
P100 PCI-E
PCIe 3.0 08 GT/s 16 + 16 128 Gbit/s = 16 GByte/s 1 016 + 016 GByte/s 32 032 GByte/s
Nvidia GV100 V100 SXM2,
V100 PCI-E
PCIe 3.0 08 GT/s 16 + 16 128 Gbit/s = 16 GByte/s 1 016 + 016 GByte/s 32 032 GByte/s
Nvidia TU104 GeForce RTX 2080 ,
Quadro RTX 5000
PCIe 3.0 08 GT/s 16 + 16 128 Gbit/s = 16 GByte/s 1 016 + 016 GByte/s 32 032 GByte/s
Nvidia TU102 GeForce RTX 2080 Ti,
Quadro RTX 6000/8000
PCIe 3.0 08 GT/s 16 + 16 128 Gbit/s = 16 GByte/s 1 016 + 016 GByte/s 32 032 GByte/s
Nvidia Xavier (generisk) PCIe 4.0 Ⓓ
2 enheter: x8 (dubbel)
1 enhet: x4 (dubbel)
3 enheter: x1
16 GT/s
08 + 08
0 4 + 04
1 + 010

128 Gbit/s = 16 GByte/s
64 Gbit/s = 08 GByte/s
16 Gbit/s = 02 GByte/s

2
1
3

032 + 032 GByte/s 8 + 8 GByte/s 6 + 6 GByte/s
0000
0000
40 80 GByte/s
IBM Power9 (generisk) PCIe 4.0 16 GT/s 16 + 16 256 Gbit/s = 32 GByte/s 3 096 + 096 GByte/s 96 192 GByte/s
Nvidia GA100

Nvidia GA102

Ampere A100 PCIe 4.0 016 GT/s 16 + 16 256 Gbit/s = 32 GByte/s 1 032 + 032 GByte/s 32 064 GByte/s
Nvidia GP100 P100 SXM,
(finns inte med P100 PCI-E)
NVLink 1.0 20 GT/s 08 + 08 160 Gbit/s = 20 GByte/s 4 080 + 080 GByte/s 64 160 GByte/s
Nvidia Xavier (generisk) NVLink 1.0 20 GT/s 08 + 08 160 Gbit/s = 20 GByte/s
IBM Power8+ (generisk) NVLink 1.0 20 GT/s 08 + 08 160 Gbit/s = 20 GByte/s 4 080 + 080 GByte/s 64 160 GByte/s
Nvidia GV100 V100 SXM2
(ej tillgängligt med V100 PCI-E)
NVLink 2.0 25 GT/s 08 + 08 200 Gbit/s = 25 GByte/s 6 150 + 150 GByte/s 96 300 GByte/s
IBM Power9 (generisk) NVLink 2.0
(BlueLink -portar)
25 GT/s 08 + 08 200 Gbit/s = 25 GByte/s 6 150 + 150 GByte/s 96 300 GByte/s
NVSwitch
för Volta
(generisk)
(helt ansluten 18x18 switch)
NVLink 2.0 25 GT/s 08 + 08 200 Gbit/s = 25 GByte/s 2 * 8 + 2
= 18
450 + 450 GByte/s 288 900 GByte/s
Nvidia TU104 GeForce RTX 2080 ,
Quadro RTX 5000
NVLink 2.0 25 GT/s 08 + 08 200 Gbit/s = 25 GByte/s 1 025 + 025 GByte/s 16 050 GByte/s
Nvidia TU102 GeForce RTX 2080 Ti,
Quadro RTX 6000/8000
NVLink 2.0 25 GT/s 08 + 08 200 Gbit/s = 25 GByte/s 2 050 + 050 GByte/s 32 100 GByte/s
Nvidia GA100 Ampere A100 NVLink 3.0 50 GT/s 04 + 04 200 Gbit/s = 25 GByte/s 12 300 + 300 GByte/s 96 600 GByte/s
Nvidia GA102 GeForce RTX 3090
Quadro RTX A6000
NVLink 3.0 28,125 GT/s 04 + 04 112,5 Gbit/s = 14,0625 GByte/s 4 56,25 + 56,25 GByte/s 16 112,5 GByte/s
NVSwitch
för Ampere
(generisk)
(helt ansluten 18x18 switch)
NVLink 3.0 50 GT/s 08 + 08 400 Gbit/s = 50 GByte/s 2 * 8 + 2
= 18
900 + 900 GByte/s 288 1800 GByte/s

Obs! Datahastighetskolumner avrundades genom att approximeras med överföringshastighet, se avsnittet om verklig prestanda

: provvärde; Buntning av NVLink-underlänkar bör vara möjlig
: provvärde; andra fraktioner för användning av PCIe -körfält bör vara möjliga
: en enda (nr! 16) PCIe -fil överför data över ett differentialpar
: olika begränsningar av äntligen möjliga kombinationer kan gälla på grund av chipstiftmuxing och kortdesign
dual : interface -enhet kan antingen konfigureras som en root -hubb eller en slutpunkt
generic : bare halvledare utan några specifika begränsningar för kortdesign

Verkliga världens prestanda kan bestämmas genom att tillämpa olika inkapslingsskatter samt användningsgrad. De kommer från olika källor:

  • 128b/130b linjekod (se t.ex. PCI Express dataöverföring för version 3.0 och högre)
  • Länka kontrolltecken
  • Transaktionsrubrik
  • Buffertfunktioner (beror på enhet)
  • DMA -användning på datorsidan (beror på annan programvara, vanligtvis försumbar på riktmärken)

Dessa fysiska begränsningar sänker vanligtvis datahastigheten till mellan 90 och 95% av överföringshastigheten. NVLink-riktmärken visar en uppnåbar överföringshastighet på cirka 35,3 Gbit/s (värd till enhet) för en 40 Gbit/s (2 delbanor upplänk) NVLink-anslutning mot en P100 GPU i ett system som drivs av en uppsättning IBM Power8-processorer .

Användning med plug-in-kort

För de olika versionerna av plug-in-kort (ett ännu litet antal avancerade spel- och professionella grafik-GPU-kort med denna funktion finns) som exponerar extra kontakter för att ansluta dem till en NVLink-grupp, ett liknande antal något varierande, relativt kompakta , PCB -baserade anslutningspluggar finns. Normalt passar bara brädor av samma typ ihop på grund av deras fysiska och logiska design. För vissa inställningar måste två identiska pluggar appliceras för att uppnå full datahastighet. Från och med nu är den typiska pluggen U-formad med ett fint rutnätskontaktdon på var och en av ändens slag i formen vänd bort från betraktaren. Pluggens bredd avgör hur långt bort plug -in -korten måste placeras på huvudkortet i värddatorsystemet - ett avstånd för placering av kortet bestäms vanligen av matchande plugg (kända tillgängliga pluggbredder är 3 till 5 platser och beror också på brädtyp). Kopplingen kallas ofta Scalable Link Interface (SLI) från 2004 för sin strukturella design och utseende, även om den moderna NVLink -baserade designen är av en helt annan teknisk karaktär med olika funktioner i sina grundnivåer jämfört med den tidigare designen. Rapporterade verkliga enheter är:

  • Quadro GP100 (ett par kort använder upp till 2 broar; installationen realiserar antingen 2 eller 4 NVLink -anslutningar med upp till 160 GB/s - detta kan likna NVLink 1.0 med 20 GT/s)
  • Quadro GV100 (ett par kort behöver upp till 2 broar och realisera upp till 200 GB/s - detta kan likna NVLink 2.0 med 25 GT/s och 4 länkar)
  • GeForce RTX 2080 baserat på TU104 (med en enda brygga "GeForce RTX NVLink-Bridge")
  • GeForce RTX 2080 Ti baserat på TU102 (med en enda brygga "GeForce RTX NVLink-Bridge")
  • Quadro RTX 5000 baserat på TU104 (med en enda brygga "NVLink" upp till 50 GB/s - detta kan likna NVLink 2.0 med 25 GT/s och 1 länk)
  • Quadro RTX 6000 baserat på TU102 (med en enda brygga "NVLink HB" upp till 100 GB/s - detta kan likna NVLink 2.0 med 25 GT/s och 2 länkar)
  • Quadro RTX 8000 baserat på TU102 (med en enda brygga "NVLink HB" upp till 100 GB/s - detta kan likna NVLink 2.0 med 25 GT/s och 2 länkar)

Servicemjukvara och programmering

För produktserierna Tesla, Quadro och Grid erbjuder NVML-API (Nvidia Management Library API) en uppsättning funktioner för programmatisk styrning av vissa aspekter av NVLink-sammankopplingar på Windows- och Linux-system, till exempel komponentutvärdering och versioner tillsammans med status/fel frågor och övervakning av prestanda. Vidare, med tillhandahållande av NCCL -biblioteket (Nvidia Collective Communications Library), ska utvecklare i det offentliga rummet göras möjligt för att realisera t.ex. kraftfulla implementeringar för artificiell intelligens och liknande beräkningshungriga ämnen ovanpå NVLink. Sidan "3D -inställningar" »" Konfigurera SLI, Surround, PhysX "i Nvidia -kontrollpanelen och CUDA -exempelprogrammet" simpleP2P "använder sådana API: er för att förverkliga sina tjänster med avseende på deras NVLink -funktioner. På Linux-plattformen ger kommandoradsapplikationen med underkommando "nvidia-smi nvlink" en liknande uppsättning avancerad information och kontroll.

Historia

Den 5 april 2016 meddelade Nvidia att NVLink skulle implementeras i den Pascal -mikroarkitekturbaserade GP100 GPU, som används i till exempel Nvidia Tesla P100 -produkter. Med introduktionen av DGX-1 högpresterande datorbas var det möjligt att ha upp till åtta P100-moduler i ett enda racksystem anslutet till upp till två värdprocessorer. Bärarkortet (...) möjliggör ett särskilt kort för routning av NVLink -anslutningarna - varje P100 kräver 800 stift, 400 för PCIe + ström och ytterligare 400 för NVLinks, vilket ger upp till nästan 1600 kortspår enbart för NVLinks (. ..). Varje CPU har direkt anslutning till 4 enheter P100 via PCIe och varje P100 har en NVLink vardera till de 3 andra P100 -enheterna i samma CPU -grupp plus ytterligare en NVLink till en P100 i den andra CPU -gruppen. Varje NVLink (länkgränssnitt) erbjuder en dubbelriktad 20 GB/sek upp 20 GB/sek ned, med 4 länkar per GP100 GPU, för en sammanlagd bandbredd på 80 GB/sek upp och ytterligare 80 GB/sek ned. NVLink stöder routning så att i DGX-1-designen för varje P100 är totalt 4 av de andra 7 P100s direkt tillgängliga och de återstående 3 kan nås med bara en hop. Enligt avbildningar i Nvidias bloggbaserade publikationer tillåter NVLink från 2014 buntning av enskilda länkar för ökad prestanda från punkt till punkt så att till exempel en design med två P100-enheter och alla länkar som upprättats mellan de två enheterna tillåter hela NVLink-bandbredden på 80 GB /s mellan dem.

Vid GTC2017 presenterade Nvidia sin Volta -generation GPU: er och indikerade integrationen av en reviderad version 2.0 av NVLink som skulle möjliggöra totala I/O -datahastigheter på 300 GB/s för ett enda chip för denna design och tillkännagav vidare alternativet för pre -beställningar med ett leveranslöfte för Q3/2017 av högpresterande DGX-1 och DGX-Station-datorer som kommer att utrustas med GPU-moduler av typ V100 och få NVLink 2.0 realiserat i antingen ett nätverk (två grupper om fyra V100-moduler med inter -gruppsanslutning) eller ett helt sammankopplat sätt för en grupp med fyra V100 -moduler.

Under 2017-2018 levererade IBM och Nvidia superdatorer Summit och Sierra för det amerikanska energidepartementet som kombinerar IBM: s POWER9- familj av processorer och Nvidias Volta- arkitektur, med NVLink 2.0 för CPU-GPU- och GPU-GPU-sammankopplingar och InfiniBand EDR för systemanslutningar.

År 2020 meddelade Nvidia att de inte längre kommer att lägga till nya SLI -drivrutinprofiler på RTX 2000 -serien och äldre från 1 januari 2021.

Se även

Referenser