Seleziona una pagina
mercoledì, Ott 12

Ada Lovelace, scopriamo le novità dell’architettura alla base delle GeForce RTX 4000

da Hardware Upgrade :

Le schede video NVIDIA GeForce RTX 4000, di cui oggi pubblichiamo la prima recensione con l’analisi della GeForce RTX 4090, si basano sulla nuova architettura Ada Lovelace, un progetto che espande e innova su quanto visto precedentemente con l’architettura Ampere delle GeForce RTX 3000. Scopriamo insieme quali sono le novità di questa architettura rispetto al passato e quali potenzialità nasconde.

Unità shader e frequenza in deciso aumento

NVIDIA è riuscita ad ampliare di molto il numero di CUDA core rispetto ad Ampere, introducendo parallelamente nuove generazioni di RT core e Tensor core. La prima cosa che bisogna sapere è che il numero di CUDA core per Streaming Multiprocessor non cambia rispetto ad Ampere, ne abbiamo infatti un massimo di 128 unità per SM. NVIDIA ha però aumentato di molto gli SM e di conseguenza il resto delle unità, CUDA core inclusi. Nel caso della GPU top di gamma AD102 ne abbiamo il 70% in più rispetto al GA102 della generazione Ampere. Per raggiungere questo obiettivo NVIDIA si è servita di 76,3 miliardi di transistor, inseriti all’interno di un’area di 608,5 mm2.













  AD102 (completamente attivo) GA102 (completamente attivo)
Architettura Ada Lovelace Ampere
Processo produttivo TSMC 4N Samsung 8N
Transistor 76,3 miliardi  28,3 miliardi
Dimensione die 608,5 mm² 628,4 mm²
Streaming Multiprocessor 144 84 
CUDA Core 18432 10752 
Tensor Core 576 336
RT Core 144 84 
ROPs 192 112 
Cache L2 98,3 MB 6,1 MB 
Bus 384 bit 384 bit 

Si tratta di 20 mm2 in meno rispetto ai 628,4 mm2 del GA102, il quale a sua volta integra 28,3 miliardi di transistor. Siamo quindi di fronte a un netto balzo del numero di transistor in un’area inferiore, il che si può ascrivere al passaggio di NVIDIA dal processo 8N di Samsung al 4N di TSMC. Il processo 4N non deve essere confuso con l’N4 della stessa TSMC: 4N è da vedersi come un’ottimizzazione per NVIDIA del processo N5 (5 nm) della società taiwanese.

AD102 include anche 288 core FP64, 2 per Streaming Multiprocessor, che NVIDIA non ha però integrato nel diagramma, e c’è anche un motivo. Le prestazioni delle unità FP64 sono pari a un sessantaquattresimo della potenza con calcoli FP32. Tali unità sono comunque necessarie per assicurare che qualsiasi programma con codice FP64 operi nel modo corretto, incluso il codice Tensor core FP64.

A pesare sulle prestazioni shader è più che altro l’alta frequenza operativa. Per fare un importante balzo rispetto alla generazione precedente NVIDIA ha ottimizzato transistor ad alta velocità nei percorsi critici che avrebbero altrimenti fatto da “collo di bottiglia” al resto del chip. Se guardiamo il clock della RTX 4090 FE e lo confrontiamo con quello della RTX 3090 Ti, osserviamo che questa generazione di GPU compie un netto balzo in avanti in termini di clock.













  GeForce RTX 4090 GeForce RTX 3090 Ti GeForce RTX 3090
Architettura Ada Lovelace Ampere Ampere
CUDA core 16384 10752 10496
RT core 128 84  82
Tensor core 512 336  328
ROPs 176 112 112 
Boost Clock (GHz) 2,52  1,56 1,39 
Base Clock (GHz) 2,23  1,86 1,69 
Memoria 24 GB GDDR6X 21 Gbps 24 GB GDDR6X 21 Gbps  24 GB GDDR6X 19,5 Gbps 
Bandwidth 1008 GB/s 1008 GB/s 936,2 GB/s 
Bus 384 bit 384 bit  384 bit 
TGP 450W  450W  350W

Il base clock sale da 1,67 GHz a 2,23 GHz (+560 MHz), mentre il boost clock da 1,86 GHz a 2,52 GHz (+660 MHz). Questa è la situazione dati alla mano, ma sappiamo che gli algoritmi di boost si spingono ben oltre in base al carico e alle condizioni operative. NVIDIA durante il suo keynote di presentazione ha dichiarato di avere in laboratorio GPU Ada Lovelace capaci di operare oltre i 3 GHz in overclock.

Shader Execution Reordering (SER) migliora la gestione dei carichi

Nonostante l’evoluzione e il numero di unità integrate in aumento, NVIDIA sa che la potenza bruta degli RT core non è sufficiente a garantire un frame rate elevato con i contenuti di nuova generazione, anche perché i carichi di ray tracing possono essere frenati da diversi fattori.

In particolare, NVIDIA parla di shader RT divergenti che frenano le prestazioni perché non permettono alle GPU di processare il lavoro in modo uniforme. Cosa significa divergenza? NVIDIA ci spiega che all’aumentare della precisione con la quale si modella il movimento della luce lungo ambienti diversi ed estremamente dettagliati, il carico di lavoro grezzo diventa sempre meno coerente. I raggi secondari usati per riflessi, illuminazione indiretta ed effetti di traslucenza, ad esempio, tendono a sparare in direzioni diverse e a colpire materiali diversi, portando “hit shader secondari” meno ordinati ed efficienti. “Se non affrontata, una perdita nella regolarità di esecuzione può portare a un uso inefficiente delle unità SM“.

Per far fronte a questo problema, l’architettura Ada Lovelace include Shader Execution Reordering (SER), una nuova soluzione pensata per migliorare l’efficienza nell’esecuzione degli shader RT e che prende di petto il problema divergenza.

Fondamentalmente SER è un nuovo sistema di scheduling che riordina il lavoro di shading al volo per una migliore esecuzione e località dei dati. L’architettura Ada Lovelace è stata realizzata con SER in mente e per questo presenta ottimizzazioni mirate nello Streaming Multiprocessor e nella memoria per un efficiente riordino dei thread.

Shader Execution Reordering aggiunge quindi un nuovo stadio nella pipeline di ray tracing che riordina e raggruppa gli shading hit secondari per avere una migliore esecuzione locale, migliorando così l’efficienza generale. Secondo SER può fornire prestazioni fino a 2 volte migliori per gli shader RT nei casi con un alto livello di divergenza – come il path tracing. In test interni con Cyberpunk 2077 con RT in modalità Uber, il lavoro svolto da SER è stato in grado di migliorare le prestazioni del 25%.

SER è pienamente controllata dall’applicazione attraverso quella che viene definita una “piccola API” che permette agli sviluppatori di applicare il riordino dei carichi facilmente in quelle fasi dove i benefici sono tangibili. NVIDIA sta lavorando con Microsoft e altri per “estendere le API grafiche standard con SER”.

Cache L2: da GA102 ad AD102 aumenta di 16 volte

Ogni Streaming Multiprocessor di Ada Lovelace contiene 128 KB di cache L1, in un’architettura unificata che consente di configurarla come cache L1 dati o memoria condivisa a seconda del carico di lavoro. Fatte le debite proporzioni, dentro una GPU AD102 completamente attiva ci sono quindi 18432 KB di cache L1, contro 10752 KB del GA102.

Siamo quindi di fronte a un incremento, non paragonabile però a quello della cache L2. È qui che NVIDIA si è concentrata e ha “copiato” – passateci il termine – quanto fatto da AMD con la sua Infinity Cache sulle GPU RDNA. All’interno di AD102 ci sono infatti 98304 KB (98,3 MB) di cache L2, ovvero 16 volte in più rispetto ai 6144 KB (6,1 MB) di GA102. Un quantitativo di cache così ampio permette di mantenere molti più dati vicino alle unità di calcolo e restituisce particolari benefici nelle operazioni più complesse, come nel ray tracing.

RT core di 3a generazione

La 3a generazione degli RT core di Ada Lovelace presenta diverse novità che ne migliorano le prestazioni in modo da poter affrontare i carichi di ray tracing futuri, sempre più complessi. La prima novità è il raddoppio del throughput delle intersezioni raggio-triangolo rispetto ad Ampere. Il valore è superiore di 4 volte rispetto all’RT core implementato nelle GPU Turing (RTX 2000).

La seconda è la capacità dell’unità di compiere due volte più rapidamente operazioni Alpha Traversal: questo è possibile tramite un nuovo Opacity Micromap Engine che si occupa della geometria alpha-test e riduce in modo marcato i calcoli alpha svolti dagli shader.

Si tratta di una mesh virtuale di microtriangoli, ognuno con uno stato di opacità che l’RT core usa per risolvere direttamente le intersezioni dei raggi con triangoli non opachi.

In questo modo, secondo NVIDIA, gli sviluppatori possono “descrivere in modo compatto le forme irregolari o gli oggetti traslucenti, come felci o siepi, ed eseguirne il ray tracing direttamente in modo più efficiente tramite l’RT core”.

L’altra novità degli RT core di Ada Lovelace è la costruzione di BVH (Bounding Volume Hierarchy) con una velocità 10 volte maggiore e usando 20 volte meno spazio tramite il nuovo Displaced Micro-Mesh Engine per generare micro-triangoli partendo da micro-mesh su richiesta.

NVIDIA ci ha spiegato che la complessità geometrica delle scene è in costante aumento e, sebbene le prestazioni di ray tracing scalino bene all’aumentare di tale complessità  – un aumento di cento volte nella geometria impatta solo per il doppio sul tempo di tracciamento dei raggi – si presenta un problema: creare una struttura dati (BVH) che renda quell’incremento di tempo limitato richiede un tempo e memoria più o meno lineari: ciò significa che una geometria 100 volte maggiore può richiedere 100 volte più tempo per la costruzione di una struttura BVH e 100 volte più memoria.

Le Displaced Micro-Meshes (DMM) del nuovo RT core aiutano sotto questo profilo. “Abbiamo sviluppato le displaced micro-mesh di Ada come una rappresentazione strutturata della geometria che sfrutta la coerenza spaziale per la compressione e la sua struttura per un rendering efficiente con un livello di dettaglio intrinseco e deformazioni/animazioni leggere”.

“Durante il ray-tracing utilizziamo la struttura displaced micro-mesh per evitare un grande aumento dei costi di costruzione BVH (tempo e spazio) preservando un attraversamento BVH efficiente. Durante la rasterizzazione utilizziamo il LOD micro-mesh intrinseco per rasterizzare primitive di dimensioni corrette con Mesh Shader o Compute Shader”.

DMM è una nuova primitiva geometrica che è stata co-progettata con il Micro-Mesh Engine nell’RT core di terza generazione. Ogni micro-mesh è definita da un triangolo base e da una displacement map. Il Micro-Mesh Engine genera all’occorrenza micro-triangoli da questa definizione al fine di risolvere le intersezioni di raggi micro-mesh fino al singolo micro-triangolo. L’RT core di Ada processa nativamente questa primitiva, risparmiando spazio e calcoli rispetto a quanto è normalmente richiesto nella descrizione delle geometrie complesse usando solo triangoli base.

Tutti insieme questi tre avanzamenti integrati nell’RT core di terza generazione migliorano le prestazioni di calcolo senza incrementare il tempo o il consumo di memoria.

DLSS 3, tante novità con Frame Generation e Reflex

L’altra novità legata alle GPU GeForce RTX 4000 si chiama DLSS 3, ed è da intendersi come una tecnologia esclusiva di questa generazione, almeno al momento: tutte le altre continueranno ad appoggiarsi a DLSS 2 e versioni precedenti.

La divisione Applied Deep Learning Research di NVIDIA ha messo a punto una tecnica di generazione dell’immagine (chiamata Frame Generation) che combina la stima del flusso ottico (optical flow) con il DLSS per migliorare l’esperienza di gioco.

In pratica, il nuovo DLSS 3 è dotato di una soluzione di IA che genera le immagini (da qui “Frame Generation”) e le inserisce con precisione tra i frame renderizzati, migliorando il frame rate e restituendo un’esperienza di gioco fluida come mai prima.

A partire da Ampere, le GPU NVIDIA hanno implementato un optical flow engine (OFA) dedicato che usa algoritmi avanzati per assicurare risultati in alta qualità. La stima del flusso ottico è usata tradizionalmente nelle applicazioni di computer vision per misurare la direzione e l’entità del movimento apparente dei pixel tra immagini grafiche renderizzate una dopo l’altra o tra frame video.

L’unità OFA di Ada garantisce una potenza di calcolo di 300 TeraOPS (TOPS) di lavoro OF, oltre 2 volte in più di quella di Ampere e restituisce un’informazione fondamentale alla rete DLSS 3.

L’unità OFA di Ada e i nuovi algoritmi per l’analisi dei vettori di movimento sono parti fondamentali per una generazione di frame sintetici accurata e veloce all’interno della tecnologia DLSS 3.

“L’autoencoder convoluzionale alla base di Frame Generation prende quattro input: il frame attuale e quello precedente, un flusso di campo ottico generato dall’unità OFA di Ada e dati del motore di gioco come vettori di movimento e profondità”, ci ha spiegato NVIDIA.

“OFA analizza due frame in-game sequenziali e calcola un flusso di campo ottico, il quale catturare la direzione e la velocità a cui i pixel si muovono dal primo frame a quello successivo. OFA è in grado di catturare informazioni a livello di pixel come particelle, riflessi, ombre e luce, non incluse nei vettori di movimento del motore di gioco”.

“Laddove OFA traccia gli effetti accuratamente a livello di pixel come i riflessi, DLSS 3 usa anche i vettori di movimento dell’engine di gioco per tracciare precisamente il movimento della geometria nella scena. In questo modo, per ogni pixel, la rete DLSS Frame Generation decide come utilizzare le informazioni dai vettori di movimento, dal flusso di campo ottico e dai frame sequenziali per creare immagini intermedie. Sfruttando i vettori e il flusso ottico per tracciare il movimento, inoltre, la rete è in grado di ricostruire anche la geometria, oltre agli effetti”.

Secondo NVIDIA, con DLSS 3 l’IA è in grado di ricostruire tre quarti del primo frame tramite DLSS Super Resolution e ricostruire l’intero secondo frame mediante DLSS Frame Generation. In pratica, DLSS 3 ricostruisce sette ottavi dei pixel totali visualizzati e questo permette di migliorare significativamente le prestazioni. Quanto? NVIDIA stima che la nuova tecnica di generazione dell’immagine migliora il frame rate di 2 volte rispetto al DLSS 2 e, quando è abbinata ai nuovi RT core e alle altre migliorie di Ada, le prestazioni possono salire fino a 4 volte.

DLSS 3, inoltre, può migliorare le prestazioni nei giochi in cui la GPU è frenata dalla CPU, i cosiddetti titoli “CPU bound”. Un esempio è sicuramente Microsoft Flight Simulator, dove la sua fisica e lunghissime distanze limitano l’impatto delle tecnologie di upscaling. In un gioco di questo tipo, la GPU rimane in attesa di istruzioni perché le prestazioni della CPU fanno da collo di bottiglia.

Il DLSS 3, però, è in grado di alleviare questo problema trasformando i giochi “CPU bound” in “GPU bound” perché la CPU non ha bisogno di fare una chiamata alla GPU per renderizzare ogni frame. La Frame Generation del nuovo DLSS viene eseguita in “post processing” sulla GPU, consentendo alla rete di IA di aumentare il frame rate persino quando il gioco è frenato dalla CPU. Secondo NVIDIA, nei giochi CPU limited con effetti fisici pesanti o mondi molto vasti, il DLSS 3 permette alle GPU RTX 4000 di renderizzare fino al doppio del frame rate rispetto a quello che la CPU è in grado di calcolare.

Un’altra novità che troviamo nel DLSS 3 è l’integrazione della tecnologia Reflex, pensata da NVIDIA per ridurre la latenza dell’intero sistema a fronte delle altre novità del DLSS 3 che potrebbero farla salire. In genere, nella pipeline grafica, c’è una coda di rendering che schedula le draw call per la GPU. Al fine di garantire che la GPU funzioni al massimo ed evitare stalli, questa coda di rendering viene riempita. Ciò significa che la CPU deve inviare anzitempo le chiamate, aggiungendo più latenza alla pipeline grafica.

Con Reflex, NVIDIA rimuove la coda di rendering senza sacrificare il frame rate con metodi di rendering “just in time”. La pipeline ottimizzata permette alla CPU di generare le draw call appena prima che la GPU ne abbia bisogno, rimuovendo la necessità della coda di rendering. Di conseguenza, Reflex è in grado di rimuovere la latenza dall’intero sistema. Una minore latenza significa controllo di gioco più reattivi e più possibilità di vittoria nel gaming competitivo. Rispetto al rendering nativo, il DLSS 3 può ridurre la latenza fino a 2 volte secondo NVIDIA.

Tensor Core di 4a generazione

I Tensor core sono unità dedicate per i calcoli sulle matrici che sono critici per addestrare le reti neurali di apprendimento profondo e funzioni di inferenza. Rispetto ad Ampere i nuovi Tensor core di Ada forniscono più del doppio delle prestazioni “Tensor TFLOPS” con i formati FP16, BF16, TF32, INT8, e INT4 e includono anche il Transformer Engine F8 dell’architettura Hopper, garantendo oltre 1.3 PetaFLOPS di calcoli tensor con la RTX 4090.

NVIDIA NVENC con supporto AV1

All’interno delle GPU Ada Lovelace troviamo l’ottava generazione dell’encoder hardware di NVIDIA, anche noto come NVENC. La novità importante è il supporto la codifica AV1, mentre con Ampere NVIDIA supportava solo la decodifica AV1.

AV1 è un codec che richiede una bandwidth del 50% e permette la riproduzione di video fino all’8K HDR senza un grande impatto prestazionale sulla CPU. L’encoder di Ada Lovelace è il 40% più efficiente di quello H.264 della scorsa generazione, ma non solo: per migliorare le prestazioni di codifica, la GPU AD102 offre un doppio encoder NVENC per permettere la codifica a 8K/60 oppure la gestione di quattro flussi 4K/60. Per quanto riguarda invece NVDEC, il decoder hardware, è lo stesso della generazione Ampere.

Conclusione

Ada Lovelace espande in modo marcato le unità hardware rispetto alla generazione Ampere e, come potete vedere nel nostro articolo in cui abbiamo provato la GeForce RTX 4090, i risultati sono incredibili. La nuova architettura segue quanto abbiamo visto in casa AMD con l’aumento delle frequenze di clock e l’espansione della cache. Quello che però emerge sempre di più è l’importanza delle tecnologie di upscaling e ricostruzione – o in questo caso, generazione – dell’immagine basate sull’IA.

Il DLSS 3 non è un vezzo temporaneo per permettervi di gestire il 4K Ultra con ray tracing con tanti fps, ma è una tecnologia che ancora più delle versioni precedenti dà un chiaro indizio sull’importanza che la “parte software” avrà sempre di più rispetto al mero aumento grezzo delle specifiche tecniche. Con la generazione dei frame si è compiuto un passo sempre più verso la simulazione.

Caratterizzare le prestazioni di una scheda video sta diventando sempre più difficile, perché se una volta c’erano poche variabili hardware a influire (clock, bus, memoria e numero di unità di calcolo), oggi l’IA cambia tutto. Aspettiamoci un futuro di miglioramenti esponenziali, perché la sensazione è che abbiamo solo grattato la superficie di ciò che gli algoritmi di IA permetteranno di fare all’hardware. Quanto all’architettura in sé e per sé, difficile parlarne male con un balzo nella potenza bruta così marcato all’interno di consumi non superiori alla scorsa generazione: la palla passa ora alla concorrenza e a RDNA 3; ne sapremo di più a novembre.

Source link