GPU GP104: cosa offre?

Test della GTX 1080, la nuova scheda GeForce di Nvidia basata su GPU GP104 Pascal. Com'è fatta, tutti i benchmark e molto altro in questa prova.

Avatar di Tom's Hardware

a cura di Tom's Hardware

GPU GP104: cosa offre?

AMD e Nvidia hanno sfruttato il processo produttivo a 28 nanometri dal 2012. All'inizio entrambe le aziende riuscirono a fare grandi passi avanti con la Radeon HD 7970 e la GeForce GTX 680. Nei quattro anni successivi però sono dovute diventare più creative al fine di raggiungere maggiori prestazioni. Quanto raggiunto dalla Radeon R9 Fury X e dalla GeForce GTX 980 Ti è incredibile se teniamo conto della loro complessità. GK104 - la prima GPU Nvidia a 28 nanometri - integrava 3,5 miliardi di transistor. GM200, il cuore della GTX 980 Ti e della Titan X, ha 8 miliardi di transistor.

GTX 1080   ISO

Clicca per ingrandire

Il passaggio al processo 16nm FinFET Plus di TSMC ha permesso agli ingegneri di Nvidia di "ripartire da zero". Secondo l'azienda taiwanese i 16FF+ sono fino al 65% più veloci, il doppio più densi e il 70% meno affamati di energia dei 28HPM e Nvidia ha sfruttato alcune combinazioni di questi attributi per realizzare le sue GPU. TSMC ha dichiarato inoltre di aver riusato il processo backend metal dei 20 nanometri, ma con transistor FinFET anziché planari. Secondo l'azienda questo permette di migliorare le rese e la maturità del processo, ma ci dice anche che non c'è un processo a 20 nanometri ad alte prestazioni.

GeForce GTX 1080 Block Diagram FINAL

Clicca per ingrandire

Di conseguenza il successore spirituale del GM204 è composto da 7,2 miliardi di transistor in un'area di 314 mm². A titolo comparativo, il GM204 offre 5,2 miliardi di transistor in un die da 398 mm². Al suo livello più alto una GPU GP104 include quattro Graphics Processing Clusters. Ogni GPC offre cinque Thread/Texture Processing Clusters e un raster engine. Entrando ulteriormente nel dettaglio, un TPC combina uno Streaming Multiprocessor e un PolyMorph engine. L'SM combina 128 CUDA core a singola precisione, un file di registro da 256 KB, 96 KB di memoria condivisa, 48 KB di cache L1/texture e otto unità texture. Allo stesso tempo la quarta generazione del PolyMorph engine include un nuovo blocco logico che è posto alla fine della pipeline geometrica e prima dell'unità raster per gestire il Simultaneous Multi-Projection - ne parleremo a breve. Facendo i conti abbiamo a che fare con 20 SM, per un totale di 2560 CUDA core e 160 unità texture.

GeForce GTX 1080 SM Diagram FINAL

Clicca per ingrandire

Il back-end della GPU ha otto controller di memoria a 32 bit, per un bus aggregato a 256 bit, con otto ROPs e 256 KB di cache L2 legati a ciascun controller. Facendo i conti, in totale abbiamo 64 ROPs e 2 MB di cache L2 condivisa. Anche se il diagramma a blocchi del GM204 mostrava quattro controller a 64 bit e un massimo di 16 partizioni ROPs, queste erano raggruppate e funzionalmente equivalenti.

A tal riguardo, alcune specifiche strutturali di GP104 appaiono simili ad alcune parti di GM204 e in effetti questa nuova GPU è realizzata sulle fondamenta del predecessore. Non è una cattiva cosa. Se ricordate, l'architettura Maxwell poneva grande enfasi sull'efficienza senza andare a scombinare troppo i punti di forza di Kepler. La stessa cosa è successa con Pascal.

Aggiungere quattro SM potrebbe non sembrare la ricetta ideale per avere prestazioni nettamente superiori. A ogni modo il GP104 ha alcuni assi nella manica. Il primo è costituito dalle frequenze nettamente superiori. La frequenza base della GPU è 1607 MHz. Il GM204, di contro, lavora a 1126 MHz. La frequenza GPU Boost è 1733 MHz, e siamo riusciti a portare il nostro sample a 2100 MHz con una versione beta di EVGA PrecisionX.

Com'è stato possibile ottenere quel margine? Secondo Jonah Alben, vicepresidente senior per l'ingegnerizzazione delle GPU di Nvidia, il suo team sapeva che i 16FF+ di TSMC avrebbero inciso sulla progettazione, quindi hanno posto attenzione all'ottimizzazione dei timing nel chip, al fine di ripulire i percorsi dei segnali che avrebbero impedito frequenze maggiori. Di conseguenza le prestazioni di calcolo a singola precisione di GP104 raggiungono 8228 GFLOPs (se si lavora alla frequenza base) rispetto ai 4612 GFLOPs della GTX 980. E il texture fillrate è passato dai 155,6 GT/s della GTX 980 (a frequenza GPU Boost) ai 277,3 GT/s.

GPU GeForce GTX 1080 (GP104) GeForce GTX 980 (GM204)
SMs 20 16
CUDA core 2650 2048
Frequenza base 1607MHz 1126MHz
Frequenza GPU Boost 1733MHz 1216MHz
GFLOPs (Freq. base) 8228 4612
Unità texture 160 128
Texel Fill Rate 277.3 GT/s 155.6 GT/s
Data rate memoria 10 Gb/s 7 Gb/s
Bandwidth memoria 320 GB/s 224 GB/s
ROPs 64 64
Cache L2 2MB 2MB
TDP 180W 165W
Transistor 7.2 billion 5.2 billion
Dimensione die 314mm² 398mm²
Processo 16nm 28nm

Allo stesso modo, anche se stiamo parlando di un backend con 64 ROPs e un bus a 256 bit, Nvidia ha adottato la memoria GDDR5X per aumentare il bandwidth. L'azienda ha riposto molti sforzi nel far rendere al meglio questa memoria, dato che diverse schede di AMD hanno la memoria HBM e la stessa Tesla P100 offre memoria HBM2. Sembra tuttavia che al momento non ci sia sufficiente memoria HBM2 in circolazione e l'azienda non è disposta ad accettare le limitazioni di HBM (principalmente i quattro stack da 1 GB o le sfide associate a otto stack da 1 GB). E così ha "ripiegato" sulla GDDR5X, che anch'essa dev'essere in scorte limitate dato che la GTX 1070 usa memoria GDDR5. Non banalizziamo però la nuova memoria: la GDDR5 consentiva un data rate di 7 Gb/s sulla GTX 980. Su un bus a 256 bit questo ha consentito di avere un throughput fino a 244 GB/s. La GDDR5X ha invece un data rate di 10 Gb/s, cosa che spinge il bandwidth a 320 GB/s (un incremento del 43% circa). Nvidia dice di aver ottenuto tutto questo senza aumentare il consumo tramite un circuito di I/O ridisegnato.

Se l'architettura Maxwell faceva un miglior uso del bandwidth tramite cache ottimizzate e algoritmi di compressione, lo stesso fa Pascal grazie a nuove tecniche lossless per estrarre del margine in diversi punti lungo del sottosistema di memoria. La compressione delta color di GP104 punta a offrire un risparmio di 2:1 e questa modalità è presumibilmente migliorata per essere usabile con maggiore frequenza. C'è anche una nuova modalità 4:1 che copre i casi in cui le differenze per pixel sono davvero piccole e comprimibili in persino meno spazio. Infine Pascal ha una nuova modalità 8:1 che combina una compressione costante 4:1 a blocchi 2x2 con compressione 2:1 delle differenze tra i blocchi.

CARSOriginal
CARSMaxwell
CARSPascal

Clicca per ingrandire

Spiegato più semplicemente, la prima immagine sopra mostra una cattura a schermo non compressa di Project CARS. Lo scatto successivo evidenzia gli elementi che Maxwell può comprimere, rimpiazzati dal colore magenta. Infine, vediamo che Pascal è in grado di comprimere la scena ulteriormente. Secondo Nvidia questo si traduce in una riduzione del 20% circa dei byte necessari che devono essere prelevati dalla memoria per frame.