En CUDA-kerne er en af de små matematiske enheder i en NVIDIA GPU, der udfører det tunge arbejde for grafik og parallel beregning. Hver kerne findes i en større blok kaldet en Streaming Multiprocessor (SM), og på moderne GeForce "Blackwell" GPU'er indeholder hver SM 128 CUDA-kerner. Derfor ser du det samlede antal på 21.760 CUDA-kerner på en RTX 5090. Chippen har simpelthen mange SM'er, som hver er fyldt med disse kerner.
CUDA (NVIDIAs parallelle computerplatform) er softwaresiden af historien: Den gør det muligt for apps og rammer at sende massivt parallelle rendering-, AI- og simuleringsopgaver til disse kerner på en effektiv måde.
Tænk på en GPU som en fabrik designet til store opgaver. CUDA-kerner håndterer arbejde i warps-grupper på 32 tråde, der udfører den samme instruktion på forskellige data (en model, som NVIDIA kalder SIMT). Sådan kan GPU'er udføre tusindvis af operationer på én gang. Hver SM har schedulere, der holder mange warps i gang for at skjule hukommelsesforsinkelser og holde kernerne beskæftigede.
Et nyttigt mentalt billede:
Disse aflaster specifikke opgaver, så CUDA-kerner kan fokusere på skygge/beregning.
Billedkredit: NVIDIA
Normalt, men ikke alene. Arkitekturen har stor betydning. For eksempel fordoblede NVIDIAs Ampere-generation FP32-throughput pr. SM i forhold til Turing, så "pr. kerne"-effekten ændrede sig mellem generationerne. Ada udvidede også caches (især L2) betydeligt, hvilket øger mange arbejdsbelastninger uden at ændre antallet af kerner. Kort sagt: Det er ikke ens at sammenligne antallet af CUDA-kerner på tværs af forskellige generationer.
Andre vigtige faktorer:
En venlig tommelfingerregel:
Hvis du vil have en hurtig kontrol af skalaen, har RTX 5090 21.760 CUDA-kerner, hvilket viser, hvordan NVIDIA tæller kerner pr. SM på tværs af mange SM'er. Men igen kommer ydelsesgevinsterne fra det samlede design, ikke kun antallet.
Billedkredit: NVIDIA
Du behøver ikke et specielt kabel, men du skal have den rigtige softwarepakke. CUDA er NVIDIAs platform; apps bruger den via drivere, værktøjskasser og biblioteker. Mange populære applikationer og rammer er allerede bygget til at udnytte CUDA-acceleration, når dine NVIDIA-drivere og (når det er nødvendigt) CUDA Toolkit er installeret. Understøttede apps bruger det bare...
CUDA kører på CUDA-kompatible NVIDIA GPU'er på tværs af produktlinjer (GeForce/RTX til gaming og kreativitet, professionelle RTX og GPU'er til datacentre). Programmeringsvejledningen bemærker, at modellen kan skaleres på tværs af mange GPU-generationer og SKU'er. NVIDIA fører en liste over CUDA-kompatible GPU'er og deres beregningskapacitet.
Er en CUDA-kerne det samme som en "shader-kerne"?
I dagligdags GPU-sprog refererer "CUDA-kerner" på NVIDIA GPU'er til de programmerbare FP32/INT32 ALU'er, der bruges til skygge og generel beregning inden for hver SM.
Hvorfor er CUDA-kerneantal så forskellige på tværs af generationer?
Fordi arkitekturer udvikler sig. Ampere ændrede FP32-datapaths (mere arbejde pr. clock), og Ada reviderede caches, så ydeevnen ikke skaleres lineært med antallet af kerner.
Hvad er en warp egentlig?
En gruppe på 32 tråde, der udføres i takt på SM. Apps starter tusindvis af tråde; GPU'en planlægger dem som warps for at holde hardwaren beskæftiget.
Hjælper CUDA-kerner med AI?
Ja, men de store acceleratorer for moderne AI er Tensor Cores. CUDA-kerner håndterer stadig en masse af det omgivende arbejde i disse pipelines.