NVLink - NVLink

NVLink
NVidia NVLink to linjer med tekst.png
Produsent Nvidia
Type Multi- GPU og CPU- teknologi
Forgjenger Skalerbart koblingsgrensesnitt

NVLink er en trådbasert seriell flerfelts nærområde kommunikasjonskobling utviklet av Nvidia . I motsetning til PCI Express kan en enhet bestå av flere NVLinks, og enheter bruker maskenettverk for å kommunisere i stedet for et sentralt knutepunkt . Protokollen ble først kunngjort i mars 2014 og bruker en proprietær høyhastighets signalforbindelse (NVHS).

Prinsipp

NVLink er en trådbasert kommunikasjonsprotokoll for nærliggende halvlederkommunikasjon utviklet av Nvidia som kan brukes til data- og kontrollkodeoverføringer i prosessorsystemer mellom CPUer og GPUer og utelukkende mellom GPUer. NVLink spesifiserer en punkt-til-punkt- tilkobling med datahastigheter på 20, 25 og 50 Gbit/s (v1.0/v2.0/v3.0 resp.) Per differensialpar. Åtte differensialpar danner en "underkobling" og to "underkoblinger", en for hver retning, danner en "lenke". Den totale datahastigheten for en delkobling er 25 GByte/s og den totale datahastigheten for en kobling er 50 GByte/s. Hver V100 GPU støtter opptil seks lenker. Dermed er hver GPU i stand til å støtte opptil 300 GByte/s i toveis båndbredde. NVLink-produktene som er introdusert til dags dato fokuserer på applikasjonsområdet med høy ytelse. Kunngjort 14. mai 2020, øker NVLink 3.0 datahastigheten per differensialpar fra 25 Gbit/s til 50 Gbit/s, mens det halver antallet par per NVLink fra 8 til 4. Med 12 lenker for en Ampere -basert A100 GPU gir dette den totale båndbredden til 600 GB/sek.

Opptreden

Tabellen nedenfor viser en grunnleggende beregningssammenligning basert på standardspesifikasjoner:

Koble sammen Transfer
hastighet
Linjekode Effektiv nyttelast
per kjørefelt
per retning
Maks total
kjørefeltlengde
(PCIe: inkl. 5 "for PCB)
Realisert 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 for Volta
Power 9
NVLink 3.0 50 Gbit/s ~ 6,25 GB/s Ampere ,
NVSwitch for Ampere
NVLink 4.0 ?? Gbit/s ~?. ?? GB/s Nvidia Grace Datacenter/Server CPU,
Neste generasjons Nvidia GPU mikroarkitektur

Tabellen nedenfor viser en sammenligning av relevante bussparametere for virkelige halvledere som alle tilbyr NVLink som et av alternativene:

Halvleder Board/buss
leveringsvariant
Koble sammen Overføring
teknologi
rate (per kjørefelt)
Baner per
delkobling
(ut + inn)
Datahastighet for underkoblinger
(per dataretning)
Underkobling
eller
antall enheter
Total datahastighet
(ut + inn)
Totalt antall
baner
(ut + inn)
Total
datahastighet
(ut + inn)
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 (dual)
1 enhet: x4 (dual)
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,
(ikke tilgjengelig 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
(ikke tilgjengelig 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 -porter)
25 GT/s 08 + 08 200 Gbit/s = 25 GByte/s 6 150 + 150 GByte/s 96 300 GByte/s
NVSwitch
for Volta
(generisk)
(fullstendig tilkoblet 18x18 bryter)
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
for Ampere
(generisk)
(fullstendig tilkoblet 18x18 bryter)
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

Merk : Datahastighetskolonner ble avrundet med å være tilnærmet med overføringshastighet, se avsnittet om virkelige ytelser

: prøveverdi; Bundling av NVLink-underkoblinger bør være mulig
: prøveverdi; andre fraksjoner for PCIe -lane -bruk bør være mulig
: et enkelt (nr. 16) PCIe -felt overfører data over et differensialpar
: forskjellige begrensninger av endelig mulige kombinasjoner kan gjelde på grunn av chip -muxing og borddesign
dual : interface enhet kan enten konfigureres som en root hub eller et sluttpunkt
generisk : bare halvleder uten noen spesifikke begrensninger for brettdesign

Virkelig ytelse kan bestemmes ved å bruke forskjellige innkapslingsavgifter og bruksrate. De kommer fra forskjellige kilder:

  • 128b / 130b linjekode (se f.eks PCI Express dataoverføring for versjon 3.0 og høyere)
  • Lenke kontroll tegn
  • Transaksjonsoverskrift
  • Bufferingskapasitet (avhenger av enhet)
  • DMA -bruk på datasiden (avhenger av annen programvare, vanligvis ubetydelig på benchmarks)

Disse fysiske begrensningene reduserer vanligvis datahastigheten til mellom 90 og 95% av overføringshastigheten. NVLink-benchmarks viser en oppnåelig overføringshastighet på omtrent 35,3 Gbit/s (vert for enhet) for en 40 Gbit/s (2 underbaners opplink) NVLink-tilkobling mot en P100 GPU i et system som drives av et sett med IBM Power8-prosessorer .

Bruk med plug-in-kort

For de forskjellige versjonene av plug-in-kort (et lite antall high-end gaming og profesjonelle grafikk GPU-kort med denne funksjonen) som avslører ekstra kontakter for å koble dem til en NVLink-gruppe, et lignende antall litt varierende, relativt kompakte , PCB -baserte sammenkoblingsplugger eksisterer. Vanligvis vil bare brett av samme type parres sammen på grunn av deres fysiske og logiske design. For noen oppsett må to identiske plugger brukes for å oppnå full datahastighet. Fra nå av er den typiske pluggen U-formet med en fin ristkantkontakt på hver av endestrekene i formen vendt bort fra betrakteren. Pluggens bredde avgjør hvor langt unna plug -in -kortene må plasseres på hovedkortet i vertsdatamaskinsystemet - en avstand for plassering av kortet bestemmes vanligvis av matchende plugg (kjente tilgjengelige pluggbredder er 3 til 5 spor og er også avhengig av brettetype). Sammenkoblingen blir ofte referert til som Scalable Link Interface (SLI) fra 2004 for sin strukturelle design og utseende, selv om den moderne NVLink -baserte designen er av en ganske annen teknisk karakter med forskjellige funksjoner i sine grunnleggende nivåer sammenlignet med den tidligere designen. Rapporterte virkelige enheter er:

  • Quadro GP100 (et par kort vil gjøre bruk av opptil 2 broer; oppsettet realiserer enten 2 eller 4 NVLink -tilkoblinger med opptil 160 GB/s - dette kan minne om NVLink 1.0 med 20 GT/s)
  • Quadro GV100 (et par kort trenger opptil 2 broer og realiserer opptil 200 GB/s - dette kan minne om NVLink 2.0 med 25 GT/s og 4 lenker)
  • GeForce RTX 2080 basert på TU104 (med en enkelt bro "GeForce RTX NVLink-Bridge")
  • GeForce RTX 2080 Ti basert på TU102 (med en enkelt bro "GeForce RTX NVLink-Bridge")
  • Quadro RTX 5000 basert på TU104 (med enkeltbro "NVLink" opptil 50 GB/s - dette kan ligne NVLink 2.0 med 25 GT/s og 1 lenke)
  • Quadro RTX 6000 basert på TU102 (med enkeltbro "NVLink HB" opptil 100 GB/s - dette kan ligne NVLink 2.0 med 25 GT/s og 2 lenker)
  • Quadro RTX 8000 basert på TU102 (med enkeltbro "NVLink HB" opptil 100 GB/s - dette kan minne om NVLink 2.0 med 25 GT/s og 2 lenker)

Serviceprogramvare og programmering

For produktlinjene Tesla, Quadro og Grid tilbyr NVML-API (Nvidia Management Library API) et sett med funksjoner for programmatisk kontroll av noen aspekter ved NVLink-sammenkoblinger på Windows- og Linux-systemer, for eksempel komponentevaluering og versjoner sammen med status/feil spørring og ytelsesovervåking. Videre, med tilbudet av NCCL -biblioteket (Nvidia Collective Communications Library) skal utviklere i det offentlige rom gjøres mulig for å realisere f.eks. Kraftige implementeringer for kunstig intelligens og lignende beregningssultne emner på toppen av NVLink. Siden "3D -innstillinger" »" Konfigurer SLI, Surround, PhysX "i Nvidia -kontrollpanelet og CUDA -eksempelprogrammet" simpleP2P "bruker slike APIer for å realisere sine tjenester i forhold til NVLink -funksjonene. På Linux-plattformen gir kommandolinjeapplikasjonen med underkommando "nvidia-smi nvlink" et lignende sett med avansert informasjon og kontroll.

Historie

April 2016 kunngjorde Nvidia at NVLink ville bli implementert i den Pascal -mikroarkitekturbaserte GP100 GPU, slik den brukes i for eksempel Nvidia Tesla P100 -produkter. Med introduksjonen av DGX-1 datamaskinen med høy ytelse var det mulig å ha opptil åtte P100-moduler i et enkelt racksystem koblet til opptil to vert-CPUer. Bærekortet (...) gir mulighet for et dedikert kort for ruting av NVLink -tilkoblingene - hver P100 krever 800 pinner, 400 for PCIe + strøm og ytterligere 400 for NVLinks, og legger til nesten 1600 kortspor for NVLinks alene (. ..). Hver CPU har direkte tilkobling til 4 enheter P100 via PCIe, og hver P100 har en NVLink hver til de 3 andre P100 -ene i samme CPU -gruppe pluss en NVLink til en P100 i den andre CPU -gruppen. Hver NVLink (lenkegrensesnitt) tilbyr en toveis 20 GB/sek opp 20 GB/sek ned, med 4 koblinger per GP100 GPU, for en samlet båndbredde på 80 GB/sek opp og ytterligere 80 GB/sek ned. NVLink støtter ruting slik at i DGX-1-designet for hver P100 totalt 4 av de andre 7 P100ene er direkte tilgjengelige og de resterende 3 kan nås med bare ett hopp. I følge skildringer i Nvidias bloggbaserte publikasjoner, tillater NVLink fra 2014 å samle individuelle lenker for økt punkt til punkt-ytelse, slik at for eksempel et design med to P100-er og alle koblinger etablert mellom de to enhetene vil tillate full NVLink-båndbredde på 80 GB /s mellom dem.

På GTC2017 presenterte Nvidia sin Volta -generasjon av GPU -er og indikerte integrasjonen av en revidert versjon 2.0 av NVLink som ville tillate totale I/O -datahastigheter på 300 GB/s for en enkelt brikke for denne designen, og kunngjorde videre muligheten for pre -ordre med leveringsløfte for Q3/2017 av DGX-1 og DGX-Station datamaskiner med høy ytelse som vil være utstyrt med GPU-moduler av type V100 og få NVLink 2.0 realisert i enten et nettverk (to grupper på fire V100-moduler med inter -gruppeforbindelse) eller en fullt sammenkoblet måte for en gruppe på fire V100 -moduler.

I 2017-2018 leverte IBM og Nvidia supermaskinene Summit og Sierra for det amerikanske energidepartementet som kombinerer IBMs POWER9- familie av CPUer og Nvidias Volta- arkitektur, ved å bruke NVLink 2.0 for CPU-GPU og GPU-GPU-sammenkoblinger og InfiniBand EDR for systemkoblinger.

I 2020 kunngjorde Nvidia at de ikke lenger vil legge til nye SLI -driverprofiler på RTX 2000 -serien og eldre fra 1. januar 2021.

Se også

Referanser