2026-07-14

SM, CUDA Core e Architettura GPU

SM, CUDA Core e Architettura GPU

L'architettura GPU di NVIDIA è costruita attorno a una struttura gerarchica. L'unità più piccola è il core CUDA, che è un'unità aritmetica semplice in grado di eseguire un'operazione in virgola mobile o intera per ciclo di clock. I core CUDA sono raggruppati in unità più grandi chiamate Streaming Multiprocessor, o SM. Ogni SM contiene un numero fisso di core CUDA, insieme a memoria condivisa, registri e logica di scheduling.

Il numero di core CUDA per SM è aumentato con ogni generazione. Nell'architettura Turing, ogni SM aveva 64 core CUDA. In Ampere, è salito a 128. In Ada Lovelace, ogni SM ha 128 core CUDA, ma l'architettura è più efficiente, quindi ogni core fa più lavoro per clock. Una RTX 4090 di fascia alta ha 128 SM per un totale di 16.384 core CUDA.

I core CUDA non sono tutti identici. Le GPU NVIDIA moderne hanno core separati per la matematica intera e in virgola mobile, e possono eseguire entrambi i tipi di istruzioni simultaneamente. Questo si chiama concorrenza FP32 e INT32 e migliora l'utilizzo. Esistono anche unità funzionali speciali per operazioni come radici quadrate e funzioni trigonometriche, e tensor core per operazioni matriciali.

Lo SM contiene anche uno scheduler che decide quali thread eseguire successivamente. Le GPU utilizzano un parallelismo massiccio, eseguendo migliaia di thread contemporaneamente. Lo scheduler raggruppa i thread in warp di 32 thread ciascuno. Tutti i 32 thread in un warp eseguono la stessa istruzione, ma su dati diversi. Se i thread in un warp prendono percorsi di codice diversi, alcuni devono attendere, riducendo l'efficienza.

La gerarchia della memoria è critica nell'architettura GPU. Ogni SM ha il proprio file di registro e memoria condivisa, che sono estremamente veloci ma di dimensioni limitate. Tutti gli SM condividono una cache L2 più grande, e oltre c'è la VRAM globale. Comprendere questa gerarchia è essenziale per scrivere codice GPU efficiente. I dati che rimangono nei registri o nella memoria condivisa sono centinaia di volte più veloci da accedere rispetto ai dati nella memoria globale.

Lavoriamo insieme

Hai bisogno di maggiori informazioni, aiuto con il tuo progetto o di sviluppare un'idea?

Che si tratti di una domanda semplice, un dubbio rapido o una chat di 5 minuti, mandami un messaggio—non costa nulla e sono sempre pronto ad aiutare. Mi piace ascoltare per capire il problema, essere creativo nelle soluzioni e puntare a idee semplici, affidabili e non complicate da realizzare rapidamente.

Contattami

Cambia Argomento

Scegli un argomento specializzato da esplorare: