Nvidia GPU's hebben een lange weg afgelegd, niet alleen op het gebied van spelprestaties, maar ook in andere toepassingen, met name kunstmatige intelligentie en machine learning. De twee belangrijkste factoren die verantwoordelijk zijn voor de GPU-prestaties van Nvidia zijn de CUDA- en Tensor-kernen die aanwezig zijn op zowat elke moderne Nvidia GPU die je kunt kopen.

Maar wat doen deze kernen precies, en als ze allebei worden gebruikt in toepassingen voor kunstmatige intelligentie en machine learning, hoe verschillen ze dan?

Wat zijn CUDA-kernen en waarvoor worden ze gebruikt?

CUDA staat voor Compute Unified Device Architecture, wat hun aanwezigheid in een GPU niet veel verklaart. Deze kernen zijn geïntroduceerd in de Nvidia GPU-opstelling in de Maxwell-architectuur van 2014 en zijn gespecialiseerd in parallelle verwerking.

Ze lijken qua werking behoorlijk op CPU-kernen, maar zijn beter in het omgaan met bepaalde taken, waaronder cryptografische hashes, physics-engines, data-science-gerelateerde projecten en zelfs games ontwikkeling.

instagram viewer
Afbeelding tegoed: Nvidia

Terwijl we al gedekt hebben hoe CUDA-kernen de spelprestaties van uw pc beïnvloeden, ze zijn net zo nuttig bij het kraken van cijfers. Hoewel zelfs de krachtigste CPU's kernen met dubbele cijfers hebben, worden Nvidia GPU's geleverd met enkele duizenden CUDA-kernen, waardoor ze veel sneller zijn bij numerieke workloads. Omdat ze deze berekeningen parallel uitvoeren, krijg je bovendien veel hogere snelheden met CUDA-kernen.

CUDA-kernen zijn sneller dan gewone CPU-kernen als het gaat om het kraken van cijfers, maar ze zijn nog steeds niet de ideale oplossing. Dat komt omdat ze nooit bedoeld waren om op die manier te worden gebruikt. CUDA-cores zijn speciaal gebouwd voor grafische verwerking en om Nvidia GPU's beter in staat te stellen om te gamen.

Wat zijn tensorkernen en waarvoor worden ze gebruikt?

Toen GPU's werden gebruikt voor kunstmatige intelligentie en machine learning-workloads, introduceerde Nvidia vanaf 2017 Tensor-kernen in de Volta-architectuur voor zijn datacenter-GPU's.

Het duurde echter tot de Nvidia Turing-architectuur (RTX 20-serie GPU's) voordat deze cores naar consumenten-GPU's kwamen. Herinneren dat hoewel de kaarten uit de GTX 16-serie ook gebaseerd zijn op de Turing-architectuur, ze geen ray tracing of Tensor bevatten kernen.

Terwijl CUDA-cores op zijn best geschikt waren voor rekenwerklasten, verhoogden Tensor-cores de lat door aanzienlijk sneller te zijn. Terwijl CUDA-cores slechts één bewerking per klokcyclus kunnen uitvoeren, kunnen Tensor-cores meerdere bewerkingen aan, waardoor ze een ongelooflijke prestatieverbetering krijgen. In wezen is het enige dat Tensor-kernen doen, de snelheid van matrixvermenigvuldiging verhogen.

Deze toename in rekensnelheid gaat ten koste van de nauwkeurigheid, waarbij CUDA-kernen aanzienlijk nauwkeuriger zijn. Dat gezegd hebbende, als het gaat om het trainen van machine learning-modellen, zijn Tensor-kernen veel effectiever in termen van rekensnelheid en totale kosten; vandaar dat het verlies aan nauwkeurigheid vaak wordt verwaarloosd.

Hoe beïnvloeden Tensor- en CUDA-kernen de GPU-prestaties?

Zoals je waarschijnlijk al kunt raden, terwijl CUDA- en Tensor-cores dezelfde workloads aankunnen, zijn het beide gespecialiseerde cores voor respectievelijk grafische weergave en numerieke workloads.

Dit betekent dat, afhankelijk van de gebruiker waarop een bepaalde GPU is gericht, deze een ander aantal kernen zal hebben. Als we bijvoorbeeld kijken naar de RTX 4090, Nvidia's nieuwste en beste gaming-GPU voor consumenten, krijg je veel meer CUDA-cores dan Tensor-cores. 16.384 CUDA-kernen tot 512 Tensor-kernen, om precies te zijn.

Ter vergelijking: de Nvidia L40 GPU voor datacenters, gebaseerd op dezelfde Ada Lovelace-architectuur als de RTX 4090, heeft 18.176 CUDA-cores en 568 Tensor-cores. Dit lijkt misschien niet zo'n groot verschil, maar het kan de prestaties van deze GPU's enorm beïnvloeden.

In termen van theoretische prestaties heeft de L40 90,52 TFlops van FP16- en FP32-prestaties, evenals 1.414 GFlops van FP64-prestaties. Dit is een enorme prestatieverbetering in vergelijking met de 82,58 TFlops van FP16- en FP32-prestaties van de RTX 4090 en 1.290 GFlops van FP64-prestaties.

Tenzij u goed bekend bent met numerieke prestatiecijfers van GPU's, zeggen de bovenstaande Nvidia GPU-prestatiecijfers met zwevende komma niet veel voor u. Kort gezegd laten ze echter zien dat de L40 veel sneller is dan de RTX 4090 als het gaat om numerieke berekeningen, die nodig zijn voor op kunstmatige intelligentie en machine learning gebaseerde workloads.

De prestatieverbetering wordt des te indrukwekkender als je kijkt naar het stroomverbruik van de twee GPU's. De RTX 4090 heeft een nominale TGP (niet te verwarren met TDP, er is een klein verschil) van 450W, terwijl de L40 geschikt is voor slechts 300W.

Beide GPU's kunnen games uitvoeren en uw machine-learningmodel prima trainen. De RTX 4090 zal echter beter zijn in het uitvoeren van games en de L40 zal beter zijn in het trainen van machine learning-modellen.

CUDA-kernen vs. Tensorkernen: wat is belangrijker?

Beide cores zijn even belangrijk, of je nu je GPU koopt om te gamen of hem in een datacenter-rack plaatst. Nvidia's consumentgerichte gaming-GPU's gebruiken een aantal AI-functies (met name DLSS), en het kan handig zijn om Tensor-cores aan boord te hebben.

Wat betreft GPU's van datacenters, werken CUDA- en Tensor-cores sowieso meestal samen, dus u krijgt beide, ongeacht de GPU die u kiest. In plaats van je te concentreren op een specifiek type kern in je GPU, zou je je meer moeten concentreren op wat de grafische kaart als geheel doet en voor welk type gebruiker hij bedoeld is.

CUDA-cores zijn gespecialiseerd in het afhandelen van grafische workloads, terwijl Tensor-cores beter zijn in numerieke. Ze werken samen en zijn tot op zekere hoogte uitwisselbaar, maar ze hanteren hun eigen specialisaties, en daarom bestaan ​​ze in de eerste plaats.

Verschillende GPU's zijn gespecialiseerd in verschillende aspecten. De RTX 4090 verplettert gemakkelijk elke game die je erop gooit, terwijl de RTX 4060 alleen 1080p-gaming aankan. Als je niet aan het gamen bent met je GPU en deze alleen nodig hebt voor het kraken van cijfers of het trainen van neurale netwerken, is een A-serie datacenter-GPU zoals de A100 of zelfs de L40 de beste keuze.

Uw GPU-kernen zijn belangrijk

Meer GPU-cores zorgen voor betere algehele prestaties, omdat uw GPU veelzijdiger is en speciale bronnen heeft voor het uitvoeren van verschillende taken. Het is echter niet de beste beslissing om blindelings een GPU met het hoogste aantal kernen te krijgen. Neem even de tijd om uw use-case zorgvuldig te overwegen, bekijk de mogelijkheden van de GPU als geheel en maak vervolgens uw keuze.