Nvidia komt met A100-gpu met 80GB HBM2e-geheugen en PCIe 4.0-interface

Nvidia werkt aan een nieuwe variant van de A100-gpu, met 80GB HBM2e-geheugen en een PCIe 4.0-interface. Momenteel wordt de PCIe-variant van deze accelerator alleen geleverd met 40GB videogeheugen.

De A100 PCIe met 80GB HBM2e-geheugen verscheen recentelijk op de datacenterwebsite van Nvidia, zonder een officiële aankondiging. Nvidia introduceerde eerder al een 80GB-variant van de A100-gpu, maar die werd enkel geleverd als een SXM4-module, die direct op het moederbord wordt bevestigd. Het bedrijf bood niet eerder een A100 met 80GB geheugen als PCIe-insteekkaart.

Nvidia heeft nog geen releasedatum van de nieuwe PCIe-variant bekendgemaakt, maar anonieme bronnen vertellen aan VideoCardz dat de gpu volgende week beschikbaar moet komen. De nieuwe 80GB-variant zou een geheugenbandbreedte van 2TB/s krijgen, net als de SXM4-module met 80GB geheugen.

De Nvidia A100 is een datacenter-gpu die is gebaseerd op de Ampere-architectuur, die ook wordt gebruikt in de GeForce RTX 30-videokaarten van het bedrijf. De chip heeft een oppervlak van 826mm² en bestaat uit 54 miljard transistors. De A100 beschikt over 6912 CUDA-cores. De opbouw van die cores is echter anders dan de CUDA-cores uit Nvidia's recente GeForce-videokaarten voor consumenten, waardoor die core-aantallen niet vergeleken kunnen worden met de RTX 30-videokaarten van het bedrijf.

Nvidia A100 80GB PCIe

Nvidia A100-specificaties
Model A100 PCIe A100 SXM4
Gpu GA100 GA100
CUDA-cores 6912 6912
Geheugen 40GB / 80GB 40GB / 80GB
Geheugenbandbreedte 40GB: 1555GB/s
80GB: 2039GB/s?
40GB: 1555GB/s
80GB: 2039GB/s
Max. tdp 40GB: 250W
80GB: nnb
40GB: 400W
80GB: 400W

Door Daan van Monsjou

Nieuwsredacteur

26-06-2021 • 17:02

64

Lees meer

Reacties (64)

64
59
35
7
1
13
Wijzig sortering
Wat is nu eigenlijk dan het grote verschil tussen een GPU en een CPU?
Het lijkt alsof een GPU gewoon vele malen sneller is dan CPU's zijn ? Klopt dat ?
Heel simpel genomen is een CPU een reken machine en doet de hele tijd niks anders dan simpele berekeningen maken zoals 1+1=2 en 1x1 = 1.
En een GPU meer een soort van machine die een hele hoop formules heeft, bvb voor het bereken van pi.

Je hebt dus taken die meer profijt hebben van een CPU (bvb een database entry is 1, komt eentje bij dus 1+1 = 2) of taken die beter door een GPU gedaan kunnen worden (bvb teken 1500 cirkels met een diameter van 500 pixels)

Een CPU of GPU niet sneller of beter, maar beide doen berekeningen voor compleet andere doeleinden.

Of voor mensen die meer visueel ingesteld zijn, een CPU is een ambachtsman die zonder hulp van anderen iets unieks kan maken door vele kleine handelingen uit te voeren wat resulteert in een complex eindproduct. Terwijl een GPU is een plastic pers machine is die in 1 minuut 100 identieke perfect gevormde plastic bakjes uit poept.

[Reactie gewijzigd door sHELL op 22 juli 2024 15:31]

Dit is niet helemaal accuraat.

Het verschil tussen GPU en CPU zit hem in parallelisme.
De CPU is echt bizar snel en is zoals je omschrijft een alleskunner, maar kan maar één ding tegelijkertijd doen.

De GPU kan maar een paar soort operaties snel uitvoeren, maar dan wel gelijk duizenden tegelijkertijd.


Als je een taart moet bakken, dan moet je de juiste volgorde opvolgen, als je de meel toevoegt nadat de taart uit de oven is gaat het ergens fout. Voor dit is een CPU dus heel nuttig.

Als je 500 keer 2 ingrediënten moet mixen, dan wordt het interessant om de GPU te gebruiken, die doet er misschien per mix langer over dan de CPU, maar hij kan er wel 200 tegelijkertijd mixen waardoor het veel eerder klaar is.
De CPU is echt bizar snel en is zoals je omschrijft een alleskunner, maar kan maar één ding tegelijkertijd doen.
Dat is óók niet helemaal accuraat. Moderne CPUs kunnen meerdere dingen tegelijk, niet in de minste plaats omdat ze meerdere cores hebben. Een 8-core CPU kan strict genomen 8 dingen tegelijk doen. Meerdere threads per core maken dat afhankelijk van wát er gedaan moet worden, elke core ook nog twee dingen tegelijk kan doen. (Als 't maar niet hetzelfde ding is.)

Een GPU heeft echter duizenden cores (meer dan 10.000 in de top of the line NVIDIA RTX modellen). Die cores zijn allemaal wat simpeler en langzamer dan je CPU core maar de basis voor wiskundige operaties zit er in. Voor pure rekenkracht in gevallen waarbij je heel veel berekeningen parallel kunt doen (dwz de uitkomst ervan is niet afhankelijk van een andere berekening) is de GPU dus per berekening langzamer maar in totaal veel sneller.

[Reactie gewijzigd door CyBeR op 22 juli 2024 15:31]

(Als 't maar niet hetzelfde ding is.)
Mag best hetzelfde ding zijn als het maar niet op dezelfde variabele is (register) . b.v.
x = x + 1
y = y + 1
z = z + 1

Kan door een CPU ook parallel uitgevoerd worden. De CPU heeft daarvoor allemaal logica aan boord die uitzoekt wat parralel gedaan kan worden afhankelijk van hoeveel rekenmachine's hij heeft voor die instructie. Ook hebben moderne CPU's instructies aan boord waarbij je in 1 keer x,y,z = x,y,z + 1 doet.

De GPU is voornamenlijk gebouwd uit deze instructies waarbij 4 elementen (xyzw) of (rgba) in 1 keer gedaan worden. De GPU heeft alleen weinig tot geen logica voor het uitzoeken van wat parralel kan (out of order execution). De GPU kan daarentegen wel met 100 tot 1000'en cores tegelijk hetzelfde programma laten draaien en al deze programma's lopen dan parralel, maar moeten wel synchroon draaien omdat de uitvoer logica gedeeld wordt. Dit heeft weer tot gevolg dat beslissingen maken in de GPU (if statement) kan lijden tot oponthoud van al die programma's.

Al met al kunnen we steeds dieper in de uitleg gaan maar daar wordt het niet eenvoudiger van. GPU is veel dingen parralel doen zoals alle pixels een kleur geven, veel 3D punten doorrekenen. CPU is beter voor sequentiele dingen en beslisingen.

[Reactie gewijzigd door PuzzleSolver op 22 juli 2024 15:31]

Dus ter versimpeling: de CPU is de ambachtelijke banketbakker op de hoek, terwijl de GPU de taartenfabriek is die de taarten bij de Albert Heijn maakt?
Hier een briljante uitleg door de mythbusters
https://youtu.be/ZrJeYFxpUyQ
Niet helemaal, ze zijn gewoon beide expert op hun eigen vlak.

CPU’s kunnen snel dingen achter elkaar maar beperkt tegenlijk. Als je 16 cores hebt ongeveer 16 dingen tegenlijk (niet helemaal maar om het simpel te houden)

GPU’s hebben heel heel veel cores die dezelfde instructies tegenlijk doen. Hun opbouw is heel anders dan een CPU dus ze zijn beter in andere dingen dan een CPU.

[Reactie gewijzigd door Zezura op 22 juli 2024 15:31]

nee, dat is de APU, de GPU doet enkel de taarten van Hema ;)
Een cpu is een "central" verwerkingseenheid die alle andere componenten laat werken aka aanstuurt, de cpu stuurt dus ook de GPU aan. De cpu is erg goed in complexere taken. De GPU is een sterk geoptimaliseerd stukje silicon dat vooral goed is in grafische verwerking, daarnaast kan het tegenwoordig nog een paar truukjes maar in géén geval is een GPU zo veelzijdig als een CPU en al helemaal geen "centrale" verwerkingseenheid, ook niet als vervanger.
Vroeger was het wel meer dan CPU echt de GPU aanstuurt maar dat is tegenwoordig ook een heel stuk minder. waardoor beide niet meer op elkaar hoeven te wachten. Met dank aan fencing. Je kan gewoon door blijven gaan als je maar genoeg werk klaarzet voor beide dan zitten ze elkaar niet in de weg. Het is nu meer gewoon samenspel geworden.
Natuurlijk, waar de cpu het laatste woord heeft ;)

In elk geval geld in alle gevallen, de GPU helpt de CPU en niet andersom. Zonder instructies en/of I/O van de CPU kan de GPU weinig. Dat klaarzetten van het werk bijv, wie verdeelt dat? De CPU vermoed ik }:O

Uitgebreid artikel hierover:
https://www.omnisci.com/technical-glossary/cpu-vs-gpu
of
https://www.bestcpus.com/...pu-and-gpu-work-together/
Die zegt min of meer hetzelfde, alleen klopt zijn conclusie niet.
To have a truly efficient computer that is optimized to the highest specification you should get the best CPU and GPU that you are able to."

Zou eerder zeggen; koop een cpu en gpu , of een APu naar gelang je nodig hebt.

We hebben echt niet allemaal een 3090RTX TI nodig of een 16 core cpu. Er is voor elk wat wils.

[Reactie gewijzigd door Madrox op 22 juli 2024 15:31]

Geef mij maar een quadro kaart en AMD epyc 😂
Als je dit soort zaken interessant vindt is dit zeker ook handig om te begrijpen: https://en.wikipedia.org/wiki/Flynn%27s_taxonomy
Je kan de CPU zien als een kleine groep olympische atleten. Er zijn weinig mensen die sneller van A naar B kunnen komen. De GPU daarintegen is meer een amateuren marathon; erg snel gaat het niet, maar wat betreft afgelegde kilometers van alle mensen te samen gaat het een stuk sneller dan wat de atleten kunnen afleggen.

De CPU is daarom beter voor berekeningen die niet voorspelbaar zijn. Denk aan een computerspel; het ene moment ben je bezig de animatie van een autowiel te berekenen, en het volgende bereken je de route die een AI speler moet afleggen om bij jou te komen.

Een GPU is speciaal gebouwd op miljoenen keren hetzelfde doen, zoals de kleur van elke pixel op het scherm berekenen.

Daarom werken sommige algoritmes goed op een CPU of een GPU: een amateur hardloper gaat meestal lang niet zo snel als een professioneel atleet, dus die kan je beter niet dingen laten doen die alleen een keer hoeven. Aan de andere kant, als je miljoenen keren dezelfde berekening moet doen, oftewel honderden kilometers moet afleggen, kan je dat beter met veel mensen doen die langzaam gaan dan een kleine hoeveelheid die dat snel doet.
Ik zie al een aantal pogingen tot uitleg, laat mij er ook één doen.

CPUs zijn alleskunners. Iedere core in een CPU ondersteund de volledige instructieset die die CPU kan uitvoeren. Bijv: iedere core in een moderne server CPU heeft een eigen AVX-unit, om in één keer een berekening op een vector van bijv 8 getallen te kunnen doen. En iedere core heeft een encryption unit. En een integer unit. Iedere CPU core heeft ook zijn eigen instruction unit, creert een eigen instruction pipeline, etc. Hierdoor kan iedere CPU core volledige onafhankelijk van andere CPU cores opereren. In een 4-core processor kan ik zonder problemen één core vermenigvuldigingen laten doen, één core een lijst laten sorteren, één core encryptie laten doen, en één core optellingen laten doen.

Daarnaast zijn delen van de CPU chip bijv bedoelt voor communicatie met PCI devices, etc. Ook dat moet een CPU dus allemaal kunnen.

GPUs zijn er veel meer op gericht om dezelfde operatie (bijv vermenigvuldigen) op héél veel data-elementen tegelijk te doen. In vaktermen heet dit SIMD: single instruction, multiple data (https://en.wikipedia.org/wiki/SIMD). CPUs doen ook een béétje aan SIMD (neem de vector instruction units waar ik het zonet over had) maar opereren op relatief beperkte hoeveelheid data-elementjes (8 á 16 maximaal in één instructie). Een GPU heeft SMs: streaming multiprocessors. De A100 heeft er bijv 108 (https://developer.nvidia....re-architecture-in-depth/). Iedere SM op deze chip heeft 64 FP32 cores: die dit zijn cores die alléén single-precision (32-bit) floating point operaties kunnen doen. Daarnaast heeft iedere SM ook nog wat double precision cores, tensor cores, etc. Alle cores binnen een SM kunnen tegelijkertijd maar één operatie doen, omdat iedere SM maar één instruction unit heeft. Dus óf ze zijn allemaal aan het vermenigvuldigen, óf allemaal aan het optellen, etc (vandaar: single instruction). Maar, ze kunnen dat wel op heel veel data elementen tegelijk (64 in dit geval). Met al die FP32 cores samen (bijna 7000 op een A100) kan een GPU in één clock cycle dus véél meer vermenigvuldigingen doen dan een CPU. Ze zijn dan ook heel goed in bijv. matrix-matrix vermenigvuldigingen, waarin je héél veel floating point vermenigvuldigingen wilt doen (en daarna een heel aantal floating point addities).

Ok, klinkt goed, maar waarom gebruiken we de GPU dan niet voor meer workloads? Nou, de clocksnelheid van een GPU is lager. Dus voor één enkele FP32 vermenigvuldiging zal de GPU trager zijn. Daar komt nog de communicatie tussen de CPU en GPU bij: die kost ook tijd. Tot slot zijn er heel veel workloads die niet deze enorme hoeveelheid parallele cores aan het werk kunnen houden, bijvoorbeeld omdat veel verschillende operaties sequentieel moeten gebeuren (stel dat operatie 2 de output van operatie 1 nodig heeft, dan kunnen die niet tegelijkertijd). Nog een leuk voorbeeld: wat als ik een vector 1,2,3...50 heb, en ik vervolgens alle getallen onder de 25 ga verdubbelen, en alle getallen boven de 25 halveren? Ik zet dan een if-statement in mijn code. Een CPU kan dat zonder problemen doen. Een GPU zal alle 50 operaties in één SM doen, maar voert beide branches (zowel de 'if', als de 'else') op álle data uit, en selecteert dan de juiste output om terug te kopieren naar het geheugen. Dubbel werk dus! Code die veel brancht is dus in het bijzonder ongeschikt voor een GPU.
Kan iemand mij vertellen wat voor programma's zo veel en snel geheugen nodig hebben?
Machine learning en grafische acceleratie voor VDI.

[Reactie gewijzigd door r3mi op 22 juli 2024 15:31]

Deze kaart is juist niet voor VDI maar enkel voor compute taken (rendering valt hier ook onder).
Je kan deze kaart virtualiseren middels NVIDIA vGPU (of MIG) maar dan biedt hij ook enkel Compute mogelijkheden.

Je kan deze kaart dus gebruiken om 1 applicatie van acceleratie te voorzien of middels MIG / vGPU meerdere applicaties / VMs.

Voor VDI komt de A16 op de markt, deze heeft 4 GPUs met ieder 16 GB aan memory. Deze is dus goed voor 64 users met 1GB aan video memory

[Reactie gewijzigd door Motion2 op 22 juli 2024 15:31]

Precies, 80 vdi gebruikers met een 1gb profiel en maar 1 kaart ipv 5x een t4🤣

[Reactie gewijzigd door Qualixo op 22 juli 2024 15:31]

en wat had je met 80 gebruikers in gedachten qua opslag/cpu/netwerk? Betwijfel dat dit rendable zal zijn.
Opslag is geen issue (want extern storage cluster over netwerk (SAN) of optics), cpu gaat met epyc bijvoorbeeld heel hard omhoog (160 cores is niet per se lastig meer om te doen) en netwerk kun je overboeken en zelfs dan kun je er nog 400Gbit/s aan hangen als je echt wil.

Bottleneck is huist graphics power. Nu kun je iedere gebruiker ongeveer 86 cuda cores geven met 12MB aan geheugen per stuk voor totaal 1gb vram. Dat is prima om een desktop mee neer te zetten.
Ik denk dat je je verkijkt in het aantal benodigde iops om 80 desktops omhoog te houden, beetje brouwsen zal maybe nog gaan... maar gooi je er een decent workload per desktop op en zeg maar byebye tegen je performance.
Ja maar disk en netwerk zijn dingen die je kunt overboeken. Als anderen het niet gebruiken dan kun je best wat schalen naar een enkele user.

Vergeet niet dat cloud computing ook al een ding is. Je kunt best een hoop met storage tiering doen. Dus buffer ssds in de machine en daar dan de IO uit halen. Voor bulk dan naar netwerk schrijven.
Dubbele dikke EPYC processor en je hebt 80 vdi's met dual-core en 1gb vram graphics.
ik heb je zin 3 keer gelezen maar snap niet wat je zegt?
80 mensen die een virtual desktop gebruiken op 1 grafische kaart. In plaats van 5 keer een T4 grafische kaart met hetzelfde aantal mensen.
80 virtual desktop gebruikers die ieder 1GB videogeheugen geheugen krijgen toegewezen met maar 1 videokaart. Om hetzelfde met een T4 kaart voor elkaar te krijgen heb je er daar 5 van nodig (16GB per kaart).
en ook gewone rekenklussen met praralelle computing die sneller zijn op gpu dan cpu.
Ansys kan hier ook wel mee overweg volgens mij.

De snelheidswinst die je met een dergelijke kaart hebt verdien je dus zo de aanschaf op terug. Dergelijke simulaties zijn vaak nogal kostbaar.

Bijv. Ansys CFX

[Reactie gewijzigd door Mopperman op 22 juli 2024 15:31]

Deze kaarten schijnen niet geschikt te zijn voor VDI
Gezien de configuratie, veel vram maar weinig indrukwekkende GPU, juist weer wel.
3D rendering. Ik geloof dat pixar altijd heeft gezegd dat je minimaal 50gb+ videogeheugen nodig hebt om full quality op de GPU te renderen (voor pixar film kwaliteit). Nu renderen ze al op gpu en cpu samen maar denk dat ze nu langzaam naar GPU only gaan.
Programma's die erg sterk te parallelliseren zijn, die die bestaan heel veel (minstens miljoenen) simpele onafhankelijke operaties.

Het uitrekenen van matrix-vector vermenigvuldigen is een mooi voorbeeld hiervoor. Dit wordt gebruikt voor simulaties (supercomputers in de hele wereld doen vrijwel niks anders dan dat), en voor AI (neuraal netwerk gerepresenteerd als een matrix). Naarmate er meer geheugen op een GPU komt, kunnen er grotere matrices in het geheugen van een enkel GPU, waardoor je relatief trage communicatie operaties tussen computers uitspaart, waardoor je rekenwerk een heel stuk sneller gaat.
Deep learning. In mijn eigen veld (NLP) worden de modellen alsmaar groter om zo tot taalmodellen te komen die op verschillende taken "human parity" kunnen benaderen. Eerst en vooral zijn deze modellen groot en moeten er veel parameters in het geheugen worden gehouden, en daarnaast wil je datasets vaak met grote batch sizes trainen (snel + generaliseerd goed), wat zorgt voor een dimensionale component waarlangs de benodigde geheugenruimte groeit. Tot slot is er alsmaar meer vraag naar modellen die met langere teksten om kunnen. Ook dat vereist meer geheugen. Samengevat: geheugengebruik is een combinatie van modelgrootte (diepte), modelbreedte (max lengte van input zinnen), batch size.

Zie bijvoorbeeld GPT-3, al zijn er uiteraard ook nieuwere modellen die continu ontwikkeld worden.
De gemiddelde CAD dataset is al gauw te veel voor een 4GB consumer kaartje. Die mensen opten al gauw voor een 12, 16, of 24GB Quadro kaart. Voor de echte gedetaileerde datasets zijn er al opties om meerdere Quadros samen te laten werken. Zodat 2x een 16GB kaartje algauw een 32GB kaart wordt. Maar de sets worden alleen maar groter en gedetailleerder, dus de kaarten moeten mee groeien.

Je wilt voor CAD dat je dataset in VRAM is zodat je geen memory copies tussen je RAM en GPU hoeft te doen. Ja PCIe is snel, maar niet 24GB @ 60 fps snel.
Neural Networks, voornamekijk.
Kan je hiermee renderen zoals in VRAY e.d.
Vast wel, maar dit zijn kaarten van 15000$
Het geheugen spreekt mij aan namelijk.

Als je veel met 8k en 16k textures wil werken, dan zit je al gauw over de limiet van het videogeheugen heen, zodat de boel vertraagd renderd.

Even ter aanvulling:

Vooral met gedetailleerd renderen met Phoenix FD (Foam,Splash) waarbij grote hoeveelheden geheugen belangrijk is, is dat toch wel handig.

Dan heb ik het wel over hele gedetailleerde scenes uiteraard!

Het hoogste is volgens mij nu wel 48 GB als je twee quadro kaarten gebruikt (deze kunnen in SLI hun geheugen samenvoegen)

[Reactie gewijzigd door Davidoff1976 op 22 juli 2024 15:31]

2x 3090s, met nvlink, same same, iets goedkoper. Moet die hele volumetric cache in 1x in het vram passen? Hebben ze toch wel truukjes voor dacht ik? En het is maar 1 frame toch? Ik stream dit soort dingen van mijn nvme ssd

[Reactie gewijzigd door mixil op 22 juli 2024 15:31]

met 2x A6000 heb je 96 GB, same same, iets duurder
Gaat ook om driveroptimalisatie e.d.
Kijk eens naar Azure? Wij hebben voor een klant die met Revit werkt onlangs een cloudoplossing uitgewerkt met een virtuele machine in Azure. Die kost enkel geld als ie aanstaat.
Afhankelijk van je wensen en je noden kan je zo gek gaan als je wilt. Kosten van 3 euro tot 40 euro per uur.

NV12S_v3 tot een ND A100 v4
Look them up. Natuurlijk duur he, maar die machines heeft men vaak maar beperkt in tijd nodig.

Als je meer wilt weten, drop me een berichtje.
Cool, waar gebruik je dat voor? :) Professioneel?
Ken de kaarten al een paar maanden in spec sheets en helaas nog steeds geen cijfers van gezien.
Wat ik mijzelf sinds dag 1 afvraag, krijgen ze dat uit hetzelfde chip ontwerp?

Anders gaat er in een SXM2 ontwerp 150w in de memory controllers zitten.
600w voor een compleet Redstone board...
Maar aangezien het al maanden een eenhoorn is zullen de cijfers ook nog wel even duren.
Hoeveel hashrate is dat :)
ongeveer 190 MH/s.
NASA/ESA CERN, pharma/Ziekenhuizen. Supercomputers.
Universiteire ziekenhuizen doen ook aan onderzoek en die maken wel gebruiken van zware it equipment voor hun onderzoek.
de meeste ziekenhuizen huren daar bedrijven voor in. Het is niet dat het UMCG ergens in een keldertje een rackje met A100's wegzet....
Bij mijn werkgever wordt het serverpark wat overdag wordt gebruikt om de virtuele desktops aan te sturen 's nachts gebruikt als rekencentrum. :)
Vanuit welke wijsheid concludeer je dit?
Het lef dat ze hebben! :+
Tsja, Op mijn werk hebben we tegenwoordig ook allemaal een virtuele desktop. Dan is het wel handig als je net zoals bij de CPU een (deel van een) echte GPU krijgt toegewezen. Met een geëmuleerde GPU zou het echt traag worden. (niet dat een dual core xeon zoals we die nu krijgen snel is natuurlijk :x)
Ik verwacht van wel maar ik ben niet van de crediteuren afdeling :+
Debiteuren stuur je rekeningen. Crediteuren moet je betalen.

Op dit item kan niet meer gereageerd worden.