NVLink - NVLink
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 | GT/s | 816 + 16 Ⓑ | 128 Gbit/s = 16 GByte/s | 1 | 16 + 16 GByte/s | 32 Ⓒ | 32 GByte/s |
Nvidia GV100 | V100 SXM2, V100 PCI-E |
PCIe 3.0 | GT/s | 816 + 16 Ⓑ | 128 Gbit/s = 16 GByte/s | 1 | 16 + 16 GByte/s | 32 Ⓒ | 32 GByte/s |
Nvidia TU104 |
GeForce RTX 2080 , Quadro RTX 5000 |
PCIe 3.0 | GT/s | 816 + 16 Ⓑ | 128 Gbit/s = 16 GByte/s | 1 | 16 + 16 GByte/s | 32 Ⓒ | 32 GByte/s |
Nvidia TU102 | GeForce RTX 2080 Ti, Quadro RTX 6000/8000 |
PCIe 3.0 | GT/s | 816 + 16 Ⓑ | 128 Gbit/s = 16 GByte/s | 1 | 16 + 16 GByte/s | 32 Ⓒ | 32 GByte/s |
Nvidia Xavier | (generisk) | PCIe 4.0 Ⓓ 2 enheter: x8 (dual) 1 enhet: x4 (dual) 3 enheter: x1 |
16 GT/s |
8 + 8 Ⓑ 4 + 4 Ⓑ 1 + 1 |
128 Gbit/s = 16 GByte/s 64 Gbit/s = 8 GByte/s 16 Gbit/s = 2 GByte/s |
Ⓓ 2 1 3 |
Ⓓ 32 + 32 GByte/s 8 + 8 GByte/s 6 + 6 GByte/s |
40 Ⓑ | 80 GByte/s |
IBM Power9 | (generisk) | PCIe 4.0 | 16 GT/s | 16 + 16 Ⓑ | 256 Gbit/s = 32 GByte/s | 3 | 96 + 96 GByte/s | 96 | 192 GByte/s |
Nvidia GA100 Nvidia GA102 |
Ampere A100 | PCIe 4.0 | 16 GT/s | 16 + 16 Ⓑ | 256 Gbit/s = 32 GByte/s | 1 | 32 + 32 GByte/s | 32 Ⓒ | 64 GByte/s |
Nvidia GP100 | P100 SXM, (ikke tilgjengelig med P100 PCI-E) |
NVLink 1.0 | 20 GT/s | 8 + 8 Ⓐ | 160 Gbit/s = 20 GByte/s | 4 | 80 + 80 GByte/s | 64 | 160 GByte/s |
Nvidia Xavier | (generisk) | NVLink 1.0 | 20 GT/s | 8 + 8 Ⓐ | 160 Gbit/s = 20 GByte/s | ||||
IBM Power8+ | (generisk) | NVLink 1.0 | 20 GT/s | 8 + 8 Ⓐ | 160 Gbit/s = 20 GByte/s | 4 | 80 + 80 GByte/s | 64 | 160 GByte/s |
Nvidia GV100 | V100 SXM2 (ikke tilgjengelig med V100 PCI-E) |
NVLink 2.0 | 25 GT/s | 8 + 8 Ⓐ | 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 | 8 + 8 Ⓐ | 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 | 8 + 8 Ⓐ | 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 | 8 + 8 Ⓐ | 200 Gbit/s = 25 GByte/s | 1 | 25 + 25 GByte/s | 16 | 50 GByte/s |
Nvidia TU102 | GeForce RTX 2080 Ti, Quadro RTX 6000/8000 |
NVLink 2.0 | 25 GT/s | 8 + 8 Ⓐ | 200 Gbit/s = 25 GByte/s | 2 | 50 + 50 GByte/s | 32 | 100 GByte/s |
Nvidia GA100 | Ampere A100 | NVLink 3.0 | 50 GT/s | 4 + 4 Ⓐ | 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 | 4 + 4 Ⓐ | 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 | 8 + 8 Ⓐ | 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å
- Intel QuickPath -tilkobling
- HyperTransport
- Melding som passerer grensesnitt
- INK (operativsystem)
- Compute Node Linux