Le GPU Nvidia hanno fatto molta strada, non solo in termini di prestazioni di gioco, ma anche in altre applicazioni, in particolare l'intelligenza artificiale e l'apprendimento automatico. I due principali fattori responsabili delle prestazioni della GPU di Nvidia sono i core CUDA e Tensor presenti su quasi tutte le moderne GPU Nvidia che puoi acquistare.
Ma cosa fanno esattamente questi core, e se entrambi sono utilizzati in applicazioni di intelligenza artificiale e machine learning, in cosa differiscono?
Cosa sono i CUDA Core e a cosa servono?
CUDA è l'acronimo di Compute Unified Device Architecture, che non fa molto per spiegare la loro presenza in una GPU. Questi core sono stati introdotti nella gamma di GPU Nvidia nell'architettura Maxwell del 2014 e sono specializzati nell'elaborazione parallela.
Sono abbastanza simili ai core della CPU in termini di funzionamento, ma sono più bravi a gestirne alcuni attività, inclusi hash crittografici, motori fisici, progetti relativi alla scienza dei dati e persino giochi sviluppo.
Mentre abbiamo già coperto come i core CUDA influenzano le prestazioni di gioco del tuo PC, sono altrettanto utili per calcolare i numeri. Mentre anche le CPU più potenti hanno core a doppia cifra, le GPU Nvidia sono dotate di diverse migliaia di core CUDA che le rendono molto più veloci con carichi di lavoro numerici. Inoltre, poiché eseguono questi calcoli in parallelo, ottieni velocità molto più elevate con i core CUDA.
I core CUDA sono più veloci dei comuni core della CPU quando si tratta di sgranocchiare i numeri, ma non sono ancora la soluzione ideale. Questo perché non sono mai stati pensati per essere usati in quel modo. I core CUDA sono stati creati appositamente per l'elaborazione grafica e per rendere le GPU Nvidia più capaci nelle prestazioni di gioco.
Cosa sono i tensor core e a cosa servono?
Quando le GPU hanno iniziato a essere utilizzate per carichi di lavoro di intelligenza artificiale e machine learning, Nvidia ha introdotto i core Tensor nell'architettura Volta per le sue GPU per data center a partire dal 2017.
Tuttavia, ci sono voluti fino all'architettura Nvidia Turing (GPU RTX serie 20) perché questi core arrivassero alle GPU consumer. Ricordare che mentre le schede della serie GTX 16 sono anch'esse basate sull'architettura Turing, non includono alcun ray tracing o Tensor core.
Mentre i core CUDA erano nella migliore delle ipotesi adeguati per i carichi di lavoro computazionali, i core Tensor hanno alzato la posta essendo significativamente più veloci. Mentre i core CUDA possono eseguire solo un'operazione per ciclo di clock, i core Tensor possono gestire più operazioni, offrendo loro un incredibile aumento delle prestazioni. Fondamentalmente, tutto ciò che i core Tensor fanno è aumentare la velocità di moltiplicazione della matrice.
Questo aumento della velocità di calcolo va a scapito dell'accuratezza, con i core CUDA che sono significativamente più accurati. Detto questo, quando si tratta di addestrare modelli di machine learning, i Tensor core sono molto più efficaci in termini di velocità computazionale e costo complessivo; quindi la perdita di accuratezza è spesso trascurata.
In che modo Tensor e CUDA Core influiscono sulle prestazioni della GPU?
Come probabilmente puoi già immaginare, mentre i core CUDA e Tensor possono gestire gli stessi carichi di lavoro, sono entrambi core specializzati rispettivamente per il rendering grafico e i carichi di lavoro numerici.
Ciò significa che a seconda dell'utente a cui è destinata una particolare GPU, avrà un numero diverso di core. Ad esempio, se consideriamo l'RTX 4090, l'ultima e la più grande GPU di gioco rivolta ai consumatori di Nvidia, otterrai molti più core CUDA rispetto ai core Tensor. 16.384 CUDA core a 512 Tensor core, per essere precisi.
In confronto, la GPU Nvidia L40 per data center, basata sulla stessa architettura Ada Lovelace dell'RTX 4090, ha 18.176 core CUDA e 568 core Tensor. Questo potrebbe non sembrare una grande differenza, ma può influenzare enormemente le prestazioni di queste GPU.
In termini di prestazioni teoriche, l'L40 ha 90,52 TFlop di prestazioni FP16 e FP32 e 1.414 GFlop di prestazioni FP64. Si tratta di un enorme aumento delle prestazioni rispetto agli 82,58 TFlop di prestazioni FP16 e FP32 dell'RTX 4090 e ai 1.290 GFlop di prestazioni FP64.
A meno che tu non sia esperto con i numeri delle prestazioni numeriche della GPU, i dati sulle prestazioni in virgola mobile della GPU Nvidia sopra potrebbero non significare molto per te. Tuttavia, in breve, mostrano che l'L40 è molto più veloce dell'RTX 4090 quando si tratta di calcoli numerici, quelli necessari per i carichi di lavoro basati sull'intelligenza artificiale e sull'apprendimento automatico.
Il miglioramento delle prestazioni diventa ancora più impressionante se si considera il consumo energetico delle due GPU. L'RTX 4090 ha un TGP classificato (da non confondere con TDP, c'è una piccola differenza) di 450 W, mentre l'L40 è valutato per soli 300 W.
Entrambe queste GPU eseguiranno i giochi e addestreranno perfettamente il tuo modello di apprendimento automatico. Tuttavia, l'RTX 4090 sarà migliore nell'esecuzione dei giochi e l'L40 sarà migliore nell'addestrare i modelli di apprendimento automatico.
Core CUDA vs. Tensor core: qual è più importante?
Entrambi i core sono ugualmente importanti, indipendentemente dal fatto che tu stia acquistando la tua GPU per i giochi o inserendola in un rack del data center. Le GPU di gioco rivolte al consumatore di Nvidia utilizzano una serie di funzionalità AI (in particolare DLSS) e avere a bordo i core Tensor può tornare utile.
Per quanto riguarda le GPU dei data center, i core CUDA e Tensor funzionano comunque in tandem per la maggior parte del tempo, quindi otterrai entrambi indipendentemente dalla GPU che scegli. Invece di concentrarti su un tipo specifico di core nella tua GPU, dovresti concentrarti maggiormente su ciò che fa la scheda grafica nel suo insieme e sul tipo di utente a cui è destinata.
I core CUDA sono specializzati nella gestione dei carichi di lavoro grafici, mentre i core Tensor sono migliori in quelli numerici. Lavorano insieme e sono intercambiabili in una certa misura, ma gestiscono le proprie specializzazioni, motivo per cui esistono in primo luogo.
Diverse GPU sono specializzate in diversi aspetti. L'RTX 4090 distruggerà facilmente qualsiasi gioco gli lanci, mentre l'RTX 4060 può gestire solo giochi a 1080p. Se non stai giocando utilizzando la tua GPU e la richiedi solo per elaborare numeri o addestrare reti neurali, una GPU per data center A-Series come l'A100 o anche l'L40 è la soluzione migliore.
I tuoi core GPU contano
Più core GPU ti daranno prestazioni complessive migliori poiché la tua GPU sarà più versatile e avrà risorse dedicate per la gestione di attività diverse. Tuttavia, ottenere alla cieca una GPU con il maggior numero di core non è la decisione migliore. Prenditi un momento per considerare attentamente il tuo caso d'uso, dai un'occhiata alle capacità della GPU nel suo insieme e poi fai la tua scelta.