Le prime schede grafiche 3D sono apparse 25 anni fa e da allora la loro potenza e complessità sono cresciute su una scala superiore a qualsiasi altro microchip trovato in un PC. All’epoca, questi processori confezionavano circa 1 milione di transistor, avevano dimensioni inferiori a 100 mm2 e consumavano solo una manciata di watt di energia elettrica.

Avanzamento veloce oggi e una tipica scheda grafica potrebbe avere 14 miliardi di transistor, in uno stampo da 500 mm2 di dimensioni e consumano oltre 200 W di potenza. Le capacità di questi colossi saranno incommensurabilmente maggiori rispetto ai loro antichi predecessori, ma sono riusciti a migliorare l’efficienza con tutti questi piccoli interruttori ed energia?

Una storia di due numeri

In questo articolo, daremo un’occhiata a come i progettisti di GPU hanno utilizzato l’aumento delle dimensioni degli stampi e il consumo di energia per darci una potenza di elaborazione sempre maggiore. Prima di immergerci, potresti innanzitutto ripassare i componenti di una scheda grafica o fare una passeggiata nella storia del moderno processore grafico. Con queste informazioni, avrai un’ottima base per seguire questa funzione.

Per capire come, nel corso degli anni, l’efficienza di un progetto GPU sia cambiata, abbiamo utilizzato TechPowerUp database eccellente, prendendo un campione di processori degli ultimi 14 anni. Abbiamo scelto questo lasso di tempo perché segna l’inizio di quando le GPU avevano una struttura shader unificata.

Anziché disporre di circuiti separati all’interno del chip per la gestione di triangoli e pixel, gli shader unificati sono unità logiche aritmetiche progettate per elaborare tutta la matematica necessaria per eseguire qualsiasi calcolo coinvolto nella grafica 3D. Questo ci consente di utilizzare una misurazione relativa delle prestazioni, in modo coerente tra le diverse GPU: operazioni in virgola mobile al secondo (FLOPS, in breve).

I fornitori di hardware sono spesso desiderosi di indicare i dati FLOPS come misura della capacità di elaborazione di picco della GPU e sebbene non sia assolutamente l’unico aspetto dietro la velocità di una GPU, FLOPS ci fornisce un numero con cui possiamo lavorare.

Lo stesso vale per la dimensione dello stampo, che è una misura della superficie del chip di elaborazione. Tuttavia, potresti avere due chip della stessa dimensione, ma con conteggi dei transistor molto diversi.

Ad esempio, il processore Nvidia G71 (think GeForce 7900 GT) del 2005 è di 196 mm2 di dimensioni e contiene 278 milioni di transistor; il loro TU117 rilasciato all’inizio dello scorso anno (GeForce GTX 1650), è di soli 4 mm2 più grande ma ha 4,7 miliardi di piccoli interruttori.

Un grafico delle principali GPU di Nvidia che mostra i cambiamenti nella densità dei transistor nel corso degli anni

Ovviamente, ciò significa che i transistor GPU più recenti sono molto più piccoli dei chip più vecchi, e questo è molto vero. Il cosiddetto nodo di processo – la scala di progettazione complessiva del processo di fabbricazione utilizzato per fabbricare il processore – utilizzato dai fornitori di hardware è cambiato nel corso degli anni, progressivamente diventando sempre più piccolo. Analizzeremo quindi l’efficienza dal punto di vista della densità dello stampo, che è una misura di quanti milioni di transistor ci sono per mm2 di area del chip.

Forse la metrica più controversa che useremo è la cifra per il consumo energetico della GPU. Non abbiamo dubbi sul fatto che molti lettori non apprezzeranno questo aspetto, poiché stiamo utilizzando il valore di potenza di progettazione termica (TDP) dichiarato dal fornitore. Questa è in realtà una misura (o almeno, dovrebbe essere) della quantità di calore emessa dall’intera scheda grafica in una situazione media, ma a carico elevato.

Con i chip di silicio, l’energia che consumano viene per lo più trasformata in calore, ma questo non è il motivo per cui l’uso del TDP è un problema. È che diversi fornitori dichiarano questo numero in condizioni diverse e non è necessariamente il consumo di energia durante la produzione di FLOP di picco. È anche il valore di potenza per l’intera scheda grafica, compresa la memoria integrata, sebbene la maggior parte sarà la GPU stessa.

È possibile misurare direttamente il consumo di energia di una scheda grafica. Ad esempio, TechPowerUp lo fa per le loro recensioni GPU e quando hanno testato a GeForce RTX 2080 Super, con un TDP dichiarato dal fornitore di 250 W, lo hanno trovato in media a 243 W ma ha raggiunto il picco a 275 W, durante i test.

Ma ci siamo limitati a utilizzare TDP per semplicità e siamo stati piuttosto cauti nel dare giudizi basati esclusivamente sulle prestazioni di elaborazione rispetto alla potenza di progettazione termica.

Confronteremo direttamente 2 parametri: GFLOPS e densità dello stampo unitario. Un GFLOPS equivale a 1.000 milioni di operazioni in virgola mobile al secondo e stiamo trattando il valore per i calcoli FP32, eseguiti esclusivamente dagli shader unificati. Il confronto assumerà la forma di un grafico come questo:

Il X-asse traccia GFLOPS per unità TDP, quindi vuoi che sia il più alto possibile: più bassa è la posizione lungo l’asse, minore è il consumo energetico del chip. Lo stesso vale per il y-asse poiché questo traccia GFLOPS per unità di densità della matrice. Più transistor hai inserito in un mm quadrato, più prestazioni ti aspetteresti. Pertanto, l’efficienza complessiva di elaborazione della GPU (tenendo conto del numero di transistor, dimensione dello stampo e TDP) aumenta man mano che si procede verso l’angolo in alto a destra del grafico.

Tutti i punti dati in alto a sinistra dicono sostanzialmente “questa GPU sta ottenendo buone prestazioni dal design die, ma a un costo di utilizzo di una quantità relativamente elevata di potenza”. Andando verso l’angolo in basso a destra ed è “bravo a usare la potenza in modo efficace, ma il design della matrice non sta generando molte prestazioni”.

In breve, stiamo definendo l’efficienza di elaborazione quanto fa la GPU per il pacchetto e la potenza che ha.

Efficienza GPU: TDP vs. Unit Die Density

Senza ulteriori indugi, passiamo ai risultati:

Per quanto riguarda il valore nominale, i risultati sembrano piuttosto sparsi, ma possiamo vedere uno schema di base: le vecchie GPU, come G80 o RV670, sono molto meno efficienti rispetto ai nuovi modelli, come Vega 20 o GP102. Qual è quello che ti aspetteresti! Dopotutto, sarebbe una squadra piuttosto povera di ingegneri elettronici che farebbe del suo meglio per progettare e rilasciare costantemente nuovi prodotti che sono meno efficienti con ogni versione.

Ma ci sono alcuni punti dati interessanti. I primi sono TU102 e GV100. Entrambi sono realizzati da Nvidia e possono essere trovati in grafica come GeForce RTX 2080 Ti e Titan V, rispettivamente.

Si potrebbe sostenere che nessuna GPU è stata progettata per il mercato consumer generale, in particolare il GV100, in quanto sono realmente per workstation o server di elaborazione. Quindi, sebbene sembrino essere i più efficienti del lotto, è quello che ti aspetteresti per processori progettati per mercati specializzati, che costano molto di più di quelli standard.

Un’altra GPU che sporge, e un po ‘come un pollice dolente, è la GP108 – questo è un altro dei chip Nvidia e si trova principalmente nella GeForce GT 1030. Questo prodotto di fascia bassa, rilasciato nel 2017, ha un formato molto piccolo processore a soli 74 mm2 di dimensioni con un TDP di soli 30 W. Tuttavia, le prestazioni relative in virgola mobile non sono in realtà migliori della prima GPU shader unificata di Nvidia, la G80, del 2006.

Di fronte al GP108 c’è il chip Fuji AMD che alimentava la sua serie Radeon R9 Fury. Questo design non sembra essere eccessivamente efficiente dal punto di vista energetico, soprattutto perché l’uso della memoria ad alta larghezza di banda (HBM) dovrebbe essere d’aiuto in questo senso. Il design delle Fiji ha funzionato piuttosto caldo, il che rende i processori a semiconduttore meno efficienti dal punto di vista energetico a causa di maggiori perdite. Qui è dove l’energia elettrica viene persa per l’imballaggio e l’ambiente circostante, anziché essere vincolata all’interno dei circuiti. Perdono tutti i chip, ma il tasso di perdita aumenta con la temperatura.

Forse il punto dati più interessante è Navi 10: questo è il progetto GPU più recente di AMD ed è prodotto da TSMC, usando il loro nodo di processo N7, attualmente la scala più piccola utilizzata. Tuttavia, il chip Vega 20 è realizzato sullo stesso nodo, ma sembra essere più efficiente, nonostante sia un design più vecchio. Allora, cosa sta succedendo qui?

Il Vega 20 (AMD lo utilizzava solo una scheda grafica di consumo – il Radeon VII) è stato l’ultimo processore realizzato da AMD a utilizzare la propria architettura GCN (Graphics Core Next). Racchiude un numero enorme di core shader unificati in un layout che si concentra fortemente sul throughput FP32. Tuttavia, programmare il dispositivo per ottenere queste prestazioni non è stato facile e mancava di flessibilità.

Navi 10 utilizza la loro ultima architettura, RDNA, che risolve questo problema, ma a un costo per il throughput FP32. Tuttavia, è un nuovo layout e prodotto su un nodo di processo relativamente nuovo, quindi possiamo aspettarci di vedere miglioramenti di efficienza mentre TSMC sviluppa il suo nodo di processo e AMD aggiorna l’architettura.

Se ignoriamo i valori anomali, le GPU più efficienti nel nostro grafico sono GP102 e GP104. Questi utilizzano l’architettura Pascal di Nvidia e possono essere trovati in schede grafiche come GeForce GTX 1080 Ti, GTX 1070 e GTX 1060. Quello accanto al GP102, ma non etichettato per motivi di chiarezza, è il TU104 che utilizza L’ultimo design di Turv di Nvidia, e può essere trovato in una serie di modelli GeForce RTX: 2060, 2070 Super, 2080, 2080 Super, solo per citarne alcuni.

Anche questi sono realizzati da TSMC ma utilizzano un nodo di processo appositamente progettato per i prodotti Nvidia, chiamato 12FFN, che a sua volta è una versione raffinata del nodo 16FF.

I miglioramenti si concentrano sull’aumento della densità degli stampi, riducendo al contempo le perdite, il che contribuirebbe in qualche modo a spiegare perché le GPU di Nvidia siano apparentemente le più efficienti.

Efficienza GPU: TDP vs. Unit Die Area

Possiamo ridurre l’impatto del nodo di processo dall’analisi, sostituendo la metrica della densità dello stampo con la sola area dello stampo. Questo ci dà un’immagine molto diversa …

L’efficienza aumenta nella stessa direzione in questo grafico, ma ora possiamo vedere che alcune posizioni chiave sono state scambiate. Il TU102 e il GV100 sono scesi proprio mentre il Navi 10 e il Vega 20 hanno fatto un salto in avanti nel grafico. Questo perché i due precedenti processori sono enormi chip (754 mm2 e 815 mm2), mentre gli ultimi due di AMD sono molto più piccoli (251 mm2 e 331 mm2).

Se focalizziamo il grafico in modo che mostri solo le GPU più recenti e le differenze diventino ancora più pronunciate:

Questo punto di vista suggerisce fortemente che AMD si è concentrata meno sull’efficienza energetica rispetto all’efficienza delle dimensioni degli stampi.

In altre parole, hanno voluto ottenere più chip GPU per wafer prodotto. Nvidia, d’altra parte, sembra aver adottato l’approccio in cui stanno progettando i loro chip per essere sempre più grandi (e quindi ogni wafer fornisce meno matrici), ma stanno usando meglio l’energia elettrica.

Quindi AMD e Nvidia continueranno in questo modo con le loro prossime GPU? Bene, il primo ha già dichiarato stanno focalizzando il miglioramento del rapporto prestazioni-watt in RDNA 2.0 del 50%, quindi dovremmo vedere le loro future GPU posizionate più a destra sul nostro grafico sopra. Ma che dire di Nvidia?

Sfortunatamente, sono noti per essere molto legati agli sviluppi futuri, ma sappiamo che i loro prossimi processori saranno realizzati da TSMC e Samsung su un nodo di processo simile a quello usato per Navi. Ci sono state alcune affermazioni che vedremo una grande riduzione della potenza, ma anche un grande aumento nel conteggio degli shader unificato, quindi forse vedremo una posizione simile sulla tabella per Nvidia.

In che modo le GPU sono diventate più efficienti?

Quanto sopra è abbastanza conclusivo: nel corso degli anni, AMD e Nvidia hanno aumentato le prestazioni di elaborazione per unità di densità dello stampo e unità TDP. In alcuni casi, l’aumento è stato sorprendente …

Prendi i processori Nvidia G92 e TU102. Il primo alimentava dispositivi simili a GeForce 8800 GT e 9800 GTX e racchiude 754 milioni di transistor in un chip 324 mm2 in area. Quando è apparso nell’ottobre 2007, è stato ben accolto per le sue prestazioni e requisiti di potenza.

Undici anni dopo Nvidia ci offrì il TU102 sotto forma di GeForce RTX 2080 Ti, con quasi 19 miliardi di transistor in un’area di 754 mm2 – che è 25 volte più componenti microscopici in una superficie che è solo 2,3 volte più grande.

Niente di tutto ciò sarebbe possibile se non fosse per il lavoro svolto da TSMC di sviluppare costantemente la loro tecnologia di fabbricazione: il G92 nella 8800 GT è stato costruito su un nodo di processo a 65 nm, mentre l’ultimo TU102 è la sua speciale scala 12FFN. I nomi dei metodi di produzione non ci dicono davvero il senso della differenza tra i due, ma i numeri della GPU lo fanno. Quello attuale ha una densità dello stampo di 24,67 milioni di transistor per mm2, rispetto al valore di quello vecchio di 2,33 milioni.

Un aumento di dieci volte nell’imballaggio dei componenti è il motivo principale alla base dell’enorme differenza nell’efficienza delle due GPU. Le unità logiche più piccole richiedono meno energia per funzionare e i percorsi più brevi che le collegano significano meno tempo per il trasferimento dei dati. Oltre a miglioramenti nella produzione di chip di silicio (riduzione dei difetti e migliore isolamento), ciò si traduce in una capacità di funzionare a velocità di clock più elevate per lo stesso fabbisogno di energia o di utilizzare meno energia con la stessa frequenza di clock.

A proposito di orologi, questo è un altro fattore da considerare. Confrontiamo la RV670, da novembre 2007 nella Radeon HD 3870, con la Vega 10 che alimenta la Radeon RX Vega 64, rilasciata nell’agosto 2017.

Il primo ha una velocità di clock fissa di circa 775 MHz, mentre il secondo ha almeno tre frequenze disponibili:

  • 850 MHz – quando si fa semplicemente desktop, elaborazione 2D
  • 1250 MHz – per lavori 3D molto pesanti (noto come orologio base)
  • 1550 MHz – per carichi 3D da leggeri a medi (noto come boost clock)

Diciamo “almeno” perché la scheda grafica può variare in modo dinamico la sua velocità di clock e la potenza consumata, tra i valori sopra indicati, in base al suo carico di lavoro e alla temperatura operativa. Questo è qualcosa che diamo per scontato ora, con le ultime GPU, ma questo livello di controllo semplicemente non esisteva 13 anni fa. La capacità non ha alcun impatto sui nostri risultati di efficienza, come abbiamo solo visto picco elaborazione dell’output (ovvero alla massima velocità di clock), ma influisce sulle prestazioni della scheda per il consumatore generale.

Ma il motivo più importante per il costante aumento dell’efficienza di elaborazione della GPU nel corso degli anni è stato dovuto ai cambiamenti nell’uso del processore stesso. Nel giugno 2008, il migliori supercomputer in tutto il mondo erano tutti alimentati da CPU di AMD, IBM e Intel; undici anni dopo e c’è un altro fornitore di chip nel mix: Nvidia.

Loro GV100 e GP100 i processori sono stati progettati quasi esclusivamente per il mercato dei computer, presentano una serie di funzioni architettoniche chiave a supporto di ciò e molti di essi sono molto simili alla CPU. Ad esempio, la memoria interna dei chip (la cache) è simile a quella di una tipica CPU del server:

  • File di registro per SM = 256 kB
  • Cache L0 per SM = 12 kB di istruzione
  • Cache L1 per SM = 128 kB istruzione / 128 kB dati
  • Cache L2 per GPU = 6 MB

Confronta questo con quello di Intel Xeon E5-2692 v2, che è stato utilizzato in molti server di calcolo:

  • Cache L1 per core = istruzione 32 kB / dati 32 kB
  • Cache L2 per core = 256 kB
  • Cache L3 per CPU = 30 MB

Le unità logiche all’interno di una moderna GPU supportano una vasta gamma di formati di dati; alcuni hanno unità specializzate per i calcoli di numeri interi, float e matrici, mentre altri hanno strutture complesse che li fanno tutti. Le unità sono collegate alla cache e alla memoria locale con interconnessioni ad alta velocità e ampie. Questi cambiamenti certamente aiutano nell’elaborazione della grafica 3D, ma sarebbero considerati eccessivi per la maggior parte dei giochi. Ma queste GPU sono state progettate per un set più ampio di carichi di lavoro rispetto alle sole immagini e c’è un nome per questo: GPU generica (GPGPU).

Apprendimento automatico e estrazione dei dati sono due campi che hanno beneficiato enormemente dello sviluppo di GPGPU e dei pacchetti software e API supportati (ad es. CUDA di Nvidia, ROMc di AMD, OpenCL) in quanto comportano numerosi calcoli complessi e massicciamente paralleli.

Le GPU di grandi dimensioni, piene di migliaia di unità shader unificate, sono perfette per tali compiti e sia AMD che Nvidia (e ora Intel si unisce al divertimento) hanno investito miliardi di dollari nella ricerca e sviluppo di chip che offrono prestazioni di calcolo sempre migliori.

Al momento, entrambe le società progettano architetture GPU che possono essere impiegate in una varietà di settori di mercato ed evitano in genere di creare layout completamente separati per la grafica e il calcolo. Questo perché la maggior parte del profitto derivante dalla realizzazione di GPU viene ancora dalla vendita di schede grafiche 3D, ma non è certo che rimanga tale. È possibile che la domanda di elaborazione continui a crescere, quindi AMD o Nvidia potrebbero dedicare più risorse al miglioramento dell’efficienza dei chip per quei mercati e meno per il rendering.

Ma qualunque cosa accada dopo, sappiamo che una cosa è certa: il prossimo round di transistor multi-miliardari, GPU ad alta potenza continuerà ad essere un po ‘più efficiente dei loro predecessori. E questa è una buona notizia, non importa chi la stia facendo o per cosa venga usata.

Link alla fonte

LEAVE A REPLY

Please enter your comment!
Please enter your name here