BLOG

Che cos'è un core CUDA e come funziona?

Ultimo aggiornamento:

  Questa pagina è stata tradotta automaticamente da DeepL. Switch to English

Un core CUDA è una delle minuscole unità matematiche all'interno di una GPU NVIDIA che svolge il lavoro pesante per la grafica e il calcolo parallelo. Ogni core risiede all'interno di un blocco più grande chiamato Streaming Multiprocessor (SM) e, sulle moderne GPU GeForce "Blackwell", ogni SM contiene 128 core CUDA. Ecco perché su una RTX 5090 si vedono conteggi totali come 21.760 core CUDA. Il chip ha semplicemente molti SM, ciascuno dei quali contiene questi core.

CUDA (la piattaforma di calcolo parallelo di NVIDIA) è il lato software della storia: consente alle app e ai framework di inviare in modo efficiente a quei core rendering, IA e simulazioni massicciamente paralleli.

NVIDIA-Tesla-Module

Come funzionano i core CUDA?

Pensate a una GPU come a una fabbrica progettata per lavori di massa. I core CUDA gestiscono il lavoro in gruppi di warp di 32 thread che eseguono la stessa istruzione su dati diversi (un modello che NVIDIA chiama SIMT). È così che le GPU elaborano migliaia di operazioni contemporaneamente. Ogni SM dispone di scheduler che mantengono molti warp in volo per nascondere la latenza della memoria e mantenere occupati quei core.

Un'immagine mentale utile:

  • CUDA core = un singolo worker (esegue operazioni aritmetiche come addizioni e moltiplicazioni).
  • SM = un'area di produzione con i propri scheduler, cache, unità con funzioni speciali, Tensor Core, ecc.
  • GPU = l'intera fabbrica, con molti SM che operano in parallelo.

Core CUDA vs. Core CPU (e altri core GPU)

  • Non sono core CPU: un core CUDA è una corsia aritmetica più semplice ottimizzata per il throughput, non un core CPU generico di grandi dimensioni e ottimizzato per la latenza. Le GPU scalano grazie alla collaborazione di molte di queste piccole corsie. (La guida alla programmazione di CUDA spiega questo design orientato al throughput.)
  • Diverso dai core GPU specializzati:
    • I Tensor Core sono motori matematici matriciali che potenziano l'IA/ML e funzionalità come DLSS.
    • I core RT accelerano il ray tracing (traversata BVH, test raggio/triangolo).

Questi scaricano compiti specifici in modo che i core CUDA possano concentrarsi sull'ombreggiatura/calcolo.

nvidia-workstation-rtx-pro-5000-og-1200x630

Crediti immagine: NVIDIA

Più core CUDA significano sempre maggiori prestazioni?

Di solito sì, ma non da sole. L'architettura è molto importante. Ad esempio, la generazione Ampere di NVIDIA ha raddoppiato il throughput FP32 per SM rispetto a Turing, quindi la potenza "per core" è cambiata tra le generazioni. Ada ha anche ampliato notevolmente le cache (in particolare L2), il che aumenta molti carichi di lavoro senza modificare il numero di core. In breve: confrontare il numero di core CUDA tra generazioni diverse non è come confrontare mele con mele.

Altri fattori determinanti:

  • Velocità di clock e margine di potenza (velocità di funzionamento dei core).
  • Larghezza di banda della memoria e dimensioni della cache (alimentazione dei core).
  • Utilizzo dei core Tensor/RT (l'intelligenza artificiale e il ray tracing sostituiscono i core CUDA).
  • Driver e software (quanto bene un'app usa la GPU tramite CUDA).

Cosa fanno effettivamente i core CUDA nella pratica?

  • Gaming/grafica: eseguono programmi shader (vertex, pixel, compute) sotto il cofano. I core RT gestiscono le fasi più complesse del ray tracing; i core CUDA continuano a svolgere molte operazioni di shading e calcolo.
  • Creazione di contenuti e simulazione: risolutori fisici, denoiser, kernel di rendering, effetti video: molti sono scritti per sfruttare il modello parallelo di CUDA.
  • AI/ML: le operazioni Tensor vengono eseguite dai Tensor Core, ma gran parte delle operazioni di pre-elaborazione, post-elaborazione e non matriciali continuano a essere eseguite dai core CUDA.

Di quanti core CUDA ho bisogno?

Una regola empirica amichevole:

  • Gaming ad alto FPS 1080p-1440p: considera l'intera GPU (architettura, clock, memoria, funzionalità RT/Tensor), non solo il numero di core. I benchmark sono più importanti dei numeri grezzi.
  • 4K o ray tracing pesante: potrai beneficiare di un numero maggiore di SM/core CUDA e potenti blocchi RT/Tensor, oltre a larghezza di banda e cache.
  • AI/calcolo: il numero di core è utile, ma spesso sono la capacità del Tensor Core, la dimensione della VRAM e la larghezza di banda della memoria a determinare il throughput.

Se volete verificare rapidamente la validità della scala, RTX 5090 elenca 21.760 core CUDA, mostrando come NVIDIA calcoli i core per SM su molti SM. Ma, ancora una volta, i guadagni in termini di prestazioni derivano dal design complessivo, non solo dal conteggio.

NVIDIA-Blackwell-Ultra-GB300

Crediti immagine: NVIDIA

Ho bisogno di software o cavi speciali? (L'HDMI per 4K di CUDA)

Non è necessario un cavo speciale, ma occorre il giusto stack software. CUDA è la piattaforma di NVIDIA; le app la utilizzano tramite driver, toolkit e librerie. Molte applicazioni e framework popolari sono già predisposti per sfruttare l'accelerazione CUDA una volta installati i driver NVIDIA e (se necessario) il CUDA Toolkit; le app supportate lo utilizzano semplicemente.

Quali GPU supportano CUDA?

CUDA funziona su GPU NVIDIA abilitate per CUDA in tutte le linee di prodotti (GeForce/RTX per gaming e creazione, RTX professionale e GPU per data center). La guida alla programmazione indica che il modello è scalabile su molte generazioni di GPU e SKU; NVIDIA mantiene un elenco delle GPU abilitate per CUDA e delle loro capacità di calcolo.

Un core CUDA è uguale a uno "shader core"?


Nel linguaggio quotidiano relativo alle GPU, sì, sulle GPU NVIDIA, i "core CUDA" si riferiscono alle ALU FP32/INT32 programmabili utilizzate per l'ombreggiatura e il calcolo generale all'interno di ogni SM.



Perché il numero di core CUDA varia così tanto tra le diverse generazioni?


Perché le architetture evolvono. Ampere ha modificato i percorsi dati FP32 (più lavoro per ciclo di clock) e Ada ha revisionato le cache, quindi le prestazioni non scalano in modo lineare con il numero di core.



Cos'è un warp?


Un gruppo di 32 thread che vengono eseguiti in modo sincronizzato sull'SM. Le app avviano migliaia di thread; la GPU li pianifica come warp per mantenere l'hardware occupato.



I core CUDA aiutano con l'intelligenza artificiale?


Sì, ma i grandi acceleratori dell'IA moderna sono i Tensor Core. I core CUDA continuano a gestire gran parte del lavoro correlato in quelle pipeline.