TU104 e GeForce RTX 2080

Com'è fatta la GPU Nvidia TU104 Turing

In modo simile al TU102 anche il TU104 è prodotto da TSMC con processo a 12 nanometri FinFET. Il suo minor numero di transistor, pari a 13,6 miliardi, porta ad avere un die più piccolo di 545 mm2. Già, piccolo ma per modo di dire. TU104 è comunque più grande di GP102 (471 mm2) e ha una dimensione simile al GK110 del 2013 a bordo della GeForce GTX Titan.

gpu tu104 turing diagramma
Clicca per ingrandire

TU104 è realizzato con gli stessi blocchi fondamentali del TU102; ne ha solo di meno. Gli Streaming Multiprocessors hanno ancora 64 CUDA core, otto Tensor core, un RT core, quattro unità texture, 16 unità load/store, 256 KB di spazio di registro e 96 KB di cache L1/memoria condivisa. I TPC sono ancora formati da due SM e un PolyMorph geometry engine. Qui però troviamo quattro TPC per GPC e sei GPC in tutto il processore. Perciò un TU104 completamente abilitato ha 48 SM, 3072 CUDA core, 384 Tensor core, 48 RT core, 192 unità texture e 24 PolyMorph engine.

Un backend allo stesso modo limitato nelle risorse alimenta le risorse di calcolo tramite otto controller di memoria a 32 bit GDDR6 (256 bit totali) collegati a 64 ROPs e 4 MB di cache L2.

TU104 perde anche un collegamento NVLink, il che lo limita a un collegamento x8 e 50 GB/s di throughput bidirezionale.

Specifiche tecniche TU104 a bordo della RTX 2080

Dopo aver visto la RTX 2080 Ti offrire prestazioni rispettabili in Battlefield V in Full HD con ray tracing attivo non possiamo che domandarci se la RTX 2080 abbia sufficiente potenza per mantenere frame rate giocabili con il ray tracing attivo.

geforce rtx 2080
Clicca per ingrandire

Un TU104 completo è limitato a 48 RT core rispetto ai 68 del TU102. Poiché però Nvidia ha spento un TPC di TU104 per creare la GeForce RTX 2080, si perdono un altro paio di RT core (insieme a 128 CUDA core, otto TMU, 16 Tensor core e così via).

  GeForce RTX 2080 FE GeForce GTX 1080 FE
Architettura (GPU) Turing (TU104) Pascal (GP104)
CUDA core 2944 2560
Potenza FP32 di picco 10.6 TFLOPS 8.9 TFLOPS
Tensor Core 368 -
RT Core 46 -
Unità texture 184 160
Freq. base GPU 1515 MHz 1607 MHz
Freq. GPU Boost 1800 MHz 1733 MHz
Memoria 8GB GDDR6 8GB GDDR5X
Bus 256-bit 256-bit
Bandwidth memoria 448 GB/s 320 GB/s
ROPs 64 64
Cache L2 4MB 2MB
TDP 225W 180W
Numero transistor 13,6 miliardi 7,2 miliardi
Dimensione die 545 mm² 314 mm²
Supporto SLI Sì (x8 NVLink) Sì (MIO)

La GeForce RTX 2080 conta quindi su 46 SM con 2944 CUDA core, 368 Tensor core, 46 RT core, 184 unità texture, 64 ROPs e 4 MB di cache L2. 8 GB di memoria GDDR6 a 14 Gbps su un bus a 256 bit spostano 448 GB/s di dati, aggiungendo oltre 100 GB/s di bandwidth rispetto alla GTX 1080.

Le RTX 2080 di riferimento e la Founders Edition hanno una frequenza base di 1515 MHz. Il modello overcloccato di Nvidia ha un GPU Boost a 1800 MHz, mentre la specifica di riferimento è 1710 MHz. Le prestazioni di calcolo di picco FP32 arrivano a 10,6 TFLOPs, un valore che pone la GeForce RTX 2080 Founders Edition dietro la GeForce GTX 1080 Ti (11,3 TFLOPS), ma ben davanti alla GeForce GTX 1080 (8,9 TFLOPS).

Come già visto per la RTX 2080 Ti, anche nel caso della RTX 2080 il modello Founders Edition, più veloce, richiede più energia. Il suo TDP di 225 W è 10 W più alto della GeForce RTX 2080 di riferimento e 45 W sopra alla GeForce GTX 1080.

Pagina precedente

TU106 e GeForce RTX 2070

Com'è fatta la GPU Nvidia TU106 Turing

La GeForce RTX 2070 è la terza e ultima scheda video annunciata da Nvidia alla Gamescom di agosto. A differenza della GeForce RTX 2080 e della 2080 Ti, la RTX 2070 non sarà disponibile fino a ottobre. Al momento non conosciamo la data precisa.

geforce rtx 2070

La RTX 2070 è basata su una GPU TU106 completa, composta da tre GPC, ognuno con sei TPC. Naturalmente i TPC includono due SM ciascuno, aggiungendo fino a 36 SM in tutto il processore. Questi blocchi non sono stati cambiati tra le varie GPU Turing, quindi la RTX 2070 finisce per avere un totale di 2304 CUDA core, 288 Tensor core, 36 RT core e 144 unità texture.

TU106 mantiene lo stesso bus di memoria a 256 bit del TU104, popolato allo stesso modo con 8 GB di memoria GDDR6 a 14 Gbps capace di muovere fino a 448 GB/s. Ritroviamo anche 4 MB di cache L2 e 64 ROPs. L'unica capacità totalmente mancante è NVLink.

gpu tu106 turing diagramma
Clicca per ingrandire

Anche se TU106 è la GPU Turing meno complessa in questo debutto, il suo die da 445 mm2 contiene non meno di 10,8 miliardi di transistor. Sono valori piuttosto importanti per quella che Nvidia una volta avrebbe considerato la fascia media della sua offerta. Per confronto il GP106 di fascia media Pascal è un chip da 200 mm2 con 4,4 miliardi di transistor.

GP104, a bordo di GTX 1080 e 1070, copre un'area di 314 mm2 e conta 7,2 miliardi di transistor. Nata con l'obiettivo di offrire prestazioni superiori della GTX 1080, la RTX 2070 appare come il tentativo di estendere Tensor e RT core a più schede possibili, mantenendo però l'utilità di tali caratteristiche. Sarà interessante vedere quanto saranno d'aiuto queste unità in una veste quasi dimezzata rispetto alla RTX 2080 Ti non appena il software ottimizzato sarà disponibile.

  GeForce RTX 2070 FE GeForce GTX 1070 FE
Architettura (GPU) Turing (TU106) Pascal (GP104)
CUDA core 2304 1920
Potenza FP32 di picco 7.9 TFLOPS 6.5 TFLOPS
Tensor Core 288 -
RT Core 36 -
Unità texture 144 120
Freq. GPU base 1410 MHz 1506 MHz
Freq. GPU Boost 1710 MHz 1683 MHz
Memoria 8GB GDDR6 8GB GDDR5
Bus 256-bit 256-bit
Bandwidth memoria 448 GB/s 256 GB/s
ROPs 64 64
Cache L2 4MB 2MB
TDP 175W 150W
Numero transistor 10,8 miliardi 7,2 miliardi
Dimensione die 445 mm² 314 mm²
Supporto SLI No Sì (MIO)

Dimensione del die a parte, le schede GeForce RTX 2070 FE hanno un TDP di 175 W che è inferiore a quello di una GTX 1080. Le RTX 2070 FE ha una GPU impostata a 1410 / 1710 MHz, mentre le specifiche di riferimento si fermano a 1410 / 1620 MHz.

Turing e le prestazioni con i giochi attuali

Alcuni appassionati hanno espresso preoccupazione per il fatto che le schede Turing non abbiano un numero di CUDA core nettamente superiore alle schede di precedente generazione. Le schede della serie 10 hanno persino frequenze GPU Boost più alte. Nvidia non ha aiutato a fare chiarezza, non spiegando i miglioramenti generazionali nei giochi attuali all'evento di lancio a Colonia. L'azienda ha però riposto molti sforzi nella riprogettazione di Turing per assicurare migliori prestazioni per core.

concorrent execution
Clicca per ingrandire

Per iniziare, Turing ha attinto dall'architettura Volta per quanto riguarda il supporto all'esecuzione simultanea di istruzioni aritmetiche FP32, le quali rappresentano la maggior parte del carico di lavoro degli shader e le operazioni INT32 (per indirizzare/ripescare dati, calcoli floating-point min/max, confronti, ecc.). Quando leggete che i core Turing raggiungono migliori prestazioni di quelli Pascal a una data frequenza, sono le caratteristiche che abbiamo citato a illustrare ampiamente il motivo.

Nelle generazioni precedenti, un singolo percorso di dati matematici significava che tipi di istruzione differenti non potevano essere svolti contemporaneamente, portando allo stallo della pipeline a virgola mobile ogni volta che erano necessarie operazioni non FP (floating point) in un programma shader.

Volta ha cercato di cambiare la situazione creando pipeline separate. Anche se Nvidia ha eliminato la seconda unità dispatch assegnata a ciascun warp scheduler, l'azienda ha detto di aver aumentato il throughput dell'istruzione emessa. Com'è possibile? Si deve tutto alla composizione di ogni SM all'interno dell'architettura.

Guardate i due diagrammi sotto. Pascal ha un warp scheduler per quad, con ogni quad che contiene 32 CUDA core. Lo scheduler di un quad può emettere una coppia di istruzioni per clock tramite le due unità dispatch con la condizione che entrambe le istruzioni provengano dallo stesso warp a 32 thread, e solo una può essere un'istruzione matematica di base. Comunque, c'è un'unità dispatch per 16 CUDA core.

Di contro Turing ha meno CUDA core in un SM, ma ha più SM complessivi nella GPU. Ora c'è uno scheduler per 16 CUDA core (il doppio di Pascal), insieme a un'unità dispatch per 16 CUDA core (come Pascal). È stato invece eliminato l'accoppiamento delle istruzioni. E poiché Turing raddoppia gli scheduler, è sufficiente emettere una sola istruzione verso i CUDA core in qualsiasi ciclo per mantenerli occupati (con 32 thread per warp, 16 CUDA core impiegano due cicli per usarli tutti). Nel frattempo, è possibile impartire un'istruzione differente a qualsiasi altra unità, inclusa la nuova pipeline INT32. La nuova istruzione può inoltre provenire da qualsiasi warp.

La flessibilità di Turing deriva dall'avere il doppio di scheduler di Pascal, in modo che ognuno abbia meno calcoli da alimentare per ciclo, non da un progetto più complesso. Gli scheduler emettono ancora un'istruzione per ciclo di clock. L'architettura è solo in grado di usare meglio le risorse grazie all'equilibrio superiore nell'SM.

turing sm nvidia
pascal sm nvidia
A sinistra l'SM di Turing, a destra un SM di Pascal, clicca per ingrandire

Secondo Nvidia i potenziali miglioramenti sono rilevanti. In un gioco come Battlefield 1, per ogni 100 istruzioni in virgola mobile ci sono 50 istruzioni che non sono in virgola mobile nel codice shader. Altri titoli si affidano persino più pesantemente ai calcoli in virgola mobile. L'azienda afferma che ci sono una media di 36 istruzioni integer nella pipeline che bloccherebbero la pipeline FP ogni 100 istruzioni FP. Queste ora possono essere scaricate sui core INT32.

Malgrado la separazione dei percorsi FP32 e INT32 nei diagrammi a blocchi, Nvidia afferma che ogni Turing SM contiene 64 CUDA core per mantenere le cose il più semplici possibile. Il Turing SM comprende anche 16 unità load/store, 16 unità a funzione speciale, 256 KB di spazio per il file di registro, 96 KB di memoria condivisa e cache dati L1, quattro unità texture, otto Tensor core e un RT core.

Sulla carta un SM nella GPU di precedente generazione GP102 appare più complesso, con il doppio di CUDA core, unità load/store, unità a funzione speciale, texture unit, più capacità per il file di registro e più cache.

Ricordate però che il nuovo TU102 ha 72 SM in totale, mentre il GP102 si ferma a 30 SM. Il risultato è che la soluzione di punta Turing ha il 21% di CUDA core e unità texture in più della GeForce GTX 1080 Ti, ma anche più SRAM per registri, memoria condivisa e cache L1 (senza parlare dei 6 MB di cache L2, che raddoppiano i 3 MB del GP102).

L'aumento della memoria sul die gioca un ruolo importante nel migliorare le prestazioni, così come la sua organizzazione gerarchica. Con l'architettura Kepler ogni SM aveva 48 KB di cache texture in sola lettura, più 64 KB di cache L1 / memoria condivisa. In Maxwell e Pascal la cache L1 e le cache texture sono state combinate, lasciando 96 KB di memoria condivisa. Ora Turing combina tutte e tre in un insieme condiviso e configurabile di 96 KB.

Il beneficio dell'unificazione è, naturalmente, che indipendentemente dal fatto che un carico di lavoro sia ottimizzato per la cache L1 o la memoria condivisa, la capacità on-chip viene usata completamente anziché restare inattiva come avrebbe fatto in passato.

Lo spostamento della funzionalità della cache L1 verso il basso ha l'ulteriore vantaggio di porla su un bus più ampio, raddoppiando la larghezza di banda (a livello TPC Pascal supporta 64 byte per clock di bandwidth cache hit mentre Turing arriva a 128 byte per clock). E poiché questi 96 KB possono essere configurati come 64 KB di cache L1 e 32 KB di memoria condivisa (o viceversa), la capacità della cache L1 per SM può essere il 50% maggiore.

turing tpc vs pascal tpc
Clicca per ingrandire

Per riassumere, Nvidia afferma che l'effetto delle pipeline matematiche riprogettate e della nuova architettura di memoria è un incremento prestazionale del 50% per CUDA core. Per mantenere questi core alimentati in modo più efficace, Nvidia ha accoppiato al TU102 la memoria GDDR6 e ottimizzato le sue tecnologie per la riduzione dello scambio dati, come la compressione delta color.

Se mettiamo a confronto i moduli GDDR5X a 11 Gbps della GTX 1080 Ti con la memoria GDDR6 a 14 Gbps della RTX 2080 Ti, entrambe su un bus a 352 bit, avete un data rate/bandwith di picco il 27% più alto. Quindi, a seconda del gioco, quando la RTX 2080 Ti può evitare di inviare dati sul bus, il throughput effettivo aumenta ulteriormente di percentuali a due cifre.

rtx vs gtx traffic
Clicca per ingrandire
Continua a pagina 5

Pubblicità

AREE TEMATICHE