Een CUDA-kern is een van de kleine rekenunits in een NVIDIA GPU die het zware werk voor grafische weergave en parallelle berekeningen uitvoert. Elke kern bevindt zich in een groter blok dat een Streaming Multiprocessor (SM) wordt genoemd, en op moderne GeForce "Blackwell" GPU's bevat elke SM 128 CUDA-kernen. Daarom zie je een totaal aantal van bijvoorbeeld 21.760 CUDA-kernen op een RTX 5090. De chip heeft gewoon veel SM's, die elk vol zitten met die kernen.
CUDA (het parallelle computerplatform van NVIDIA) is de softwarekant van het verhaal: het stelt apps en frameworks in staat om massaal parallelle taken zoals rendering, AI en simulatie efficiënt naar die cores te sturen.
Zie een GPU als een fabriek die is ontworpen voor bulkwerkzaamheden. CUDA-kernen verwerken werk in warps-groepen van 32 threads die dezelfde instructie uitvoeren op verschillende gegevens (een model dat NVIDIA SIMT noemt). Zo verwerken GPU's duizenden bewerkingen tegelijk. Elke SM heeft schedulers die veel warps in de lucht houden om geheugenlatentie te verbergen en die kernen bezig te houden.
Een nuttig mentaal beeld:
Deze nemen specifieke taken over, zodat CUDA-kernen zich kunnen concentreren op shading/berekeningen.
Afbeelding: NVIDIA
Meestal wel, maar niet op zichzelf. Architectuur is erg belangrijk. Zo verdubbelde de Ampere-generatie van NVIDIA de FP32-doorvoer per SM ten opzichte van Turing, waardoor het vermogen 'per core' tussen generaties veranderde. Ada heeft ook de caches (met name L2) aanzienlijk uitgebreid, wat veel workloads een boost geeft zonder het aantal cores te veranderen. Kortom: het vergelijken van het aantal CUDA-cores tussen verschillende generaties is niet hetzelfde als appels met appels vergelijken.
Andere belangrijke factoren:
Een handige vuistregel:
Als je snel wilt controleren of de schaal klopt, vermeldt RTX 5090 21.760 CUDA-kernen, waarmee wordt aangetoond hoe NVIDIA de kernen per SM over vele SM's telt. Maar nogmaals, prestatieverbeteringen komen voort uit het totale ontwerp, niet alleen uit het aantal.
Afbeelding: NVIDIA
Je hebt geen speciale kabel nodig, maar wel de juiste software. CUDA is het platform van NVIDIA; apps gebruiken het via stuurprogramma's, toolkits en bibliotheken. Veel populaire applicaties en frameworks zijn al gebouwd om gebruik te maken van CUDA-versnelling zodra je NVIDIA-stuurprogramma's en (indien nodig) de CUDA Toolkit zijn geïnstalleerd. Ondersteunde apps gebruiken het gewoon...
CUDA draait op CUDA-compatibele NVIDIA GPU's in alle productlijnen (GeForce/RTX voor gaming en creatie, professionele RTX en GPU's voor datacenters). De programmeergids vermeldt dat het model geschikt is voor vele GPU-generaties en SKU's. NVIDIA houdt een lijst bij van CUDA-compatibele GPU's en hun rekencapaciteiten.
Is een CUDA-kern hetzelfde als een 'shader-kern'?
In het dagelijkse GPU-jargon verwijst 'CUDA-kernen' op NVIDIA GPU's naar de programmeerbare FP32/INT32 ALU's die worden gebruikt voor shading en algemene berekeningen binnen elke SM.
Waarom verschillen de CUDA-kerncijfers zo sterk tussen de verschillende generaties?
Omdat architecturen evolueren. Ampere heeft FP32-datapaden gewijzigd (meer werk per klok) en Ada heeft caches herzien, zodat de prestaties niet lineair schalen met het aantal cores.
Wat is een warp ook alweer?
Een groep van 32 threads die synchroon worden uitgevoerd op de SM. Apps starten duizenden threads; de GPU plant ze in als warps om de hardware bezig te houden.
Helpen CUDA-kernen bij AI?
Ja, maar de grote versnellers voor moderne AI zijn Tensor Cores. CUDA-kernen verwerken nog steeds veel van het omliggende werk in die pijplijnen.