GPU’s in het datacenter: achter de schermen van de revolutie

Het datacenter ondergaat een evolutie. Grafische kaarten worden steeds belangrijker en de acceleratie die ze brengen spreekt een alsmaar breder publiek aan. Hoe veroverde gaming-hardware de zakelijke markt, en wat brengt de toekomst?

Toen Atari eind jaren ’70 de voorloper van de grafische kaart uit de grond stampte om het handvol pixels zijn spelconsoles aan te drijven, hadden de Amerikanen geen supercomputers en datacenters in gedachten. Meer dan 20 jaar later dachten Nvidia en ATI evenmin aan HPC-toepassingen toen ze de eerste grafische kaarten met shaders op de markt brachten.

Spoel nog eens twintig jaar door en Nvidia, ooit vooral gekend als koning van de pc-gamingwereld, is de drijvende kracht achter acceleratie in datacenters, HPC-systemen en AI. AMD, dat intussen ATI overnam, voorziet dan weer de hardware voor ’s werelds eerste twee exascale-supercomputers: El Capitan en Frontier. Nvidia en AMD zetten hun ervaring uit de spelletjeswereld volop in om professionele workloads tot op het hoogste niveau te ondersteunen. Wat is er gebeurd?

Parallelliteit

“De gpu-architectuur is doorheen de jaren geëvolueerd om enorme hoeveelheden parallel rekenwerk uit te voeren”, begint Paresh Kharya, director of product marketing for accelerated computing bij Nvidia. “Miljoenen pixels moeten vele keren per seconden berekend worden. Iedere berekening bepaalt de kleuren en de vormen die je uiteindelijk op je scherm te zien krijgt.” Een gpu is met andere woorden ontwikkeld om heel veel relatief kleine berekeningen tegelijkertijd uit te voeren.

Een cpu is in contrast gebouwd om alles te kunnen. De chips kunnen dezelfde berekeningen aan als gpu’s, maar zijn gewoon niet snel genoeg omdat ze niet gebouwd zijn voor de enorme parallellisatie. “Een gpu is ontstaan als een accelerator om de cpu te helpen bij grafische taken”, aldus Kharya. “Het is geen algemeen capabele chip. Je kan geen Windows draaien op een gpu alleen.”

De kracht van de gpu is dus niet de capaciteit om pixels weer te geven. Die is een gevolg van de architectuur die gebouwd is om die parallelle taak optimaal uit te voeren. Wat blijkt vandaag: de domeinen van AI-training en inference, deep learning en wetenschappelijk onderzoek omvatten workloads die ook erg parallel zijn en dus berusten op een grote hoeveelheid gelijktijdige instructies. Met de opkomst van die workloads en de gelijktijdige daling in prijs van gpu-hardware groeide gpu accelerated computing plots aan belang.

Architectuur op maat

Zowel AMD als Nvidia hadden goud in handen, maar Nvidia was de eerste die dat besefte. Onder impuls van CEO en mede-oprichter Jensen Huang richtte het bedrijf zijn peilen op de HPC-, datacenter- en AI-markt.  Het bedrijf gebruikte zijn kennis van gaming-gpu’s maar introduceerde nieuwe technologieën en architecturen die optimaal geschikt zijn voor professionele workloads.

“Sommige hardware-capaciteiten zoals ray tracing zijn geschikt voor gaming en andere grafische toepassingen, maar bieden geen meerwaarde in acceleratie van andere workloads”, verduidelijkt Kharya. Die capaciteiten zijn dan ook niet aanwezig op chips zoals de nieuwe Ampere A100 van het bedrijf. “Andere capaciteiten zijn wel universeel. AI is voor gaming ook belangrijk omdat het voor hogere resoluties en super sampling kan zorgen.” Het gevolg is dat zowel consumentenkaarten als professionele accelerators Tensor-kernen bevatten. Die AI-kernen, opnieuw gebouwd voor parallel gebruik, zijn geoptimaliseerd om AI-workloads te verwerken.

Grafische kaarten voor datacenters lijken op hun gaming-broertjes, maar de architectuur is geoptimaliseerd.

Nvidia maakt al een tijdje het onderscheid tussen grafische-architectuur voor gaming en workstations, en de gpu-architectuur voor datacentergebruik. Ook AMD zet intussen in op die techniek. De bestaande RDNA-architectuur voor grafisch georiënteerde kaarten krijgt gezelschap van het ‘AMD Compute DNA of CDNA’. Die CDNA-architectuur is eveneens meer gericht op de typische AI- en machine learning-gerelateerde taken.

Hoe specifiek moet je gaan?

Een gpu is dus een accelerator geoptimaliseerd voor parallel rekenwerk en datacenter-gpu’s zijn kaarten die op hun beurt op maat gebouwd zijn van specifieke parallelle datacenter-workloads. Optimalisatie betekent dat de doelworkloads beter draaien, maar maakt de hardware terzelfdertijd meer niche. Er valt iets te zeggen voor workloadspecifieke optimalisatie via hardware gebouwd voor een specifiek algoritme. In de praktijk neemt die aanpak de vorm aan van FPGA’s, die softwarematig configureerbaar zijn tot een chip die precies geconfigureerd is voor een enkele workload.

AMD en Nvidia kiezen ervoor om brede accelerators te bouwen. “Die markt is al enorm”, vertelt Ogi Brkic, Corporate Vice President en General Manager van Datacenter GPU Business Unit bij AMD. Hij vind het belangrijker om op de software in te zetten. “Machine learning en AI is gebaseerd op frameworks zoals Tensorflow en Pytorch.  Gebruikers willen een oplossing bouwen op dat gekende raamwerk.” Daarin valt Kharya hem bij. “Accelerated computing gaat niet alleen over de hardware, er horen software en bibliotheken bij die de acceleratie mogelijk maken.” De twee gpu-specialisten zijn van mening dat het ecosysteem rond grafische kaarten die brede acceleratie mogelijk maakt, terwijl FPGA’s in contrast een meer nichepubliek aanspreken.

Voedsel voor het beest

Toch is verdere optimalisatie belangrijk, maar dan vooral naar het gebruik van de gpu toe. Moderne gpu-accelerators zijn beesten, of ze nu van Nvidia of AMD komen. De grootste uitdaging is vandaag om het beest te voeden. Wat ben je met een waanzinnig parallel-capabele chip als je onvoldoende snel relevante instructies kan aanrijken?

Daarin verschilt de aanpak van AMD en Nvidia. AMD heeft in dit geval een streepje voor, aangezien het de enige hardwareontwikkelaar ter wereld is die premium zowel gpu’s als cpu’s bouwt. Die troef probeert het bedrijf uit te spelen. Brkic: “Eén plus één moet meer dan twee zijn en daar zijn we volop mee bezig. Omdat we naast de gpu’s ook de Zen-cpu’s ontwikkelen, kunnen we de twee met elkaar verbinden.”

AMD heeft als enige fabrikant krachtige cpu’s én gpu’s op de markt, en kan die zo efficiënt laten samenwerken.

AMD heeft daarvoor zijn eigen Infinity Fabric ter beschikking. Het bedrijf zet die troef in zodat toekomstige Epyc en Radeon-chips toegang krijgen tot een gedeelde pool van cache-geheugen. “Eén van de grootste slokops van elektriciteit in een HPC-omgeving is het rond bewegen van data. Door cpu en gpu geheugen te laten delen, moet de data niet meer bewegen”, verduidelijkt Brkic. Bijkomend voordeel: de latency gaat mee omlaag.

De troef leverde AMD enkele mooie contracten op met El Capitan en Frontier. Nvidia benadert het probleem noodgedwongen vanuit een andere kant. Het heeft zelf geen cpu’s in huis, maar kan de connectie tussen de verschillende componenten binnen een datacenter of HPC-installatie wel faciliteren met zijn eigen interconnects dankzij de overname van Mellanox. Waar AMD uitpakt met de mogelijkheid om cpu en gpu in één node te combineren, zet Nvidia in op de combinatie van meerdere nodes. Beide strategieën zijn relevant in een HPC-context, maar AMD’s aanpak heeft het potentieel om ook op kleine schaal een meerwaarde te bieden. Dat Nvidia hier een troef mist, is nergens zo duidelijk dan in de DGX A100, waar Nvidia’s extreem krachtige gpu wordt bijgestaan door een cpu van AMD.

De DGX A100 die Nvidia’s krachtigste kaarten bevat, wordt aangedreven door cpu’s van AMD.

Over HPC en influencers

Het bedrijf herhaalt eigenlijk beproefde strategieën uit de endpoint-wereld. “We combineerde cpu en gpu al in onze APU’s”, illustreert Brkic. “Het principe is gelijkaardig.” AMD kopieert nog een strategie van de consumenten- en endpointmarkt. Het zet sterk in op zichtbare overwinningen, zoals de exascale-supercomputers. “We deden hetzelfde voor onze gpu’s en cpu’s. Het is erg belangrijk om de boodschap naar buiten te krijgen en daarbij zijn influencers essentieel.”

In de gaming-wereld gaan prosumers en enthousiastelingen aan de slag met AMD Ryzen. Zo krijgen we voldoende naamsbekendheid en positivisme over de chips wanneer ze meer mainstream-computers, laptops en uiteindelijk servers bereiken. “In de datacenterwereld zijn de labs en HPC-installaties de influencers.” Logisch: wie twijfelt tussen een relatief nieuwe AMD-server of een meer beproefde configuratie met Intel Xeon-cpu en Nvidia-accelerator, ziet eventuele ongerustheid over de prestaties verdwijnen wanneer ’s werelds krachtigste systemen dezelfde combo omarmen.

HPC is slechts een deel van de markt, waarin Nvidia met een aanwezigheid in 127 systemen in de Top 500 overigens nog steeds koploper is. Het grootste deel van de koek zit zoals gezegd in de datacenters. Bovenstaande verklaart waarom accelerators belangrijk zijn en hoe de twee bedrijven moderne workloads ondersteunen, maar er ontbreekt nog één ding: om echt populair te zijn moet het eenvoudig zijn om accelerator-rekenkracht in te zetten.

Een beetje gpu voor iedereen

Daar knelt het schoentje momenteel nog een beetje. Traditioneel zijn gpu’s niet erg splitsbaar: één gebruiker heeft één of meerdere gpu’s ter beschikking, maar geen half exemplaar. In de cloudwereld is dat een probleem. Een fysieke cpu met 32 kernen kan immers perfect gevirtualiseerd worden in acht quadcoresystemen voor een eindgebruiker. Dat maakt het eenvoudiger voor datacenters om instances ter beschikking te stellen en drukt uiteindelijk de prijs.

Lees ook: Waarom de FPGA het datacenter verovert

Daarin komt Nvidia nu tegemoet met de nieuwe Ampère-gpu’s en de bijhorende Multi-Instance-gpu-technologie, of MIG. Daarmee kunnen datacenterbeheerders gpu’s naar believen combineren tot grotere gehelen, of opsplitsen tot kleinere gpu’s, en ze zo flexibel verdelen over gevirtualiseerde instances. Met die technologie lijkt de laatste stap naar de alomtegenwoordigheid van de gpu-accelerator in het datacenter genomen.

Voor AMD staan er nog grote aankondigingen voor de deur, maar ga er gerust vanuit dat de CDNA-kaarten iets gelijkaardigs zullen ondersteunen. De evolutie zal gpu-acceleratorkracht betaalbaarder maken voor het grote publiek, net op het moment dat workloads ernaar snakken. De tijd van de cpu als prestatievoetstuk lijkt zo stilaan voorbij: de gpu zal in de nabije toekomst in veel gevallen minstens even belangrijk zijn.