NVIDIA GeForce RTX: analisi dell'architettura delle prime GPU con Ray Tracing

NVIDIA GeForce RTX: analisi dell'architettura delle prime GPU con Ray Tracing

Tutti i dettagli architetturali delle nuove GPU NVIDIA, ormai alla vigilia del debutto nei negozi. Turing è la prima architettura con implementazione Ray Tracing in hardware, ma non solo: Tensor Core e intelligenza artificiale contribuiranno a migliorare le prestazioni. Ecco come funzioneranno tutti questi elementi

di , Paolo Corsini pubblicato il nel canale Schede Video
GeForceNVIDIATuring
 

Introduzione: la famiglia di schede e le specifiche

E' solo una questione di pochi giorni prima che gli appassionati possano finalmente mettere le mani sulle nuove schede video NVIDIA GeForce RTX, basate su architettura Turing e anticipate da NVIDIA in occasione di un evento tenuto al Gamescom di Colonia alcune settimane fa. Le 3 nuove schede, modelli GeForce RTX 2080Ti, GeForce RTX 2080 e GeForce RTX 2070, arrivano sul mercato portando non solo prestazioni superiori rispetto alle schede che le hanno precedute ma introducendo per la prima volta il supporto hardware al Ray Tracing.

E' per questo motivo che NVIDIA ha abbandonato la tradizionale sigla GTX per quella RTX, volendo così rimarcare in misura ancora più netta come queste schede rappresentino un cambiamento radicale rispetto a quanto offerto sino ad ora. Del resto basta confrontare le specifiche tecniche di questi prodotti per rendersi conto delle differenze con le schede della famiglia GeForce GTX 1000 che NVIDIA continuerà in ogni caso ancora a offrire sul mercato nel corso dei prossimi mesi.

Modello

GeForce RTX 2080Ti GeForce GTX 1080Ti GeForce RTX 2080 GeForce GTX 1080 GeForce RTX 2070 GeForce GTX 1070
GPU TU102 GP102 TU104 GP104 TU104 GP104
CUDA cores 4352 3.584 2.944 2.560 2.304 1.920
clock GPU 1.350 MHz 1.480 MHz 1.515 MHz 1.607 MHz 1.410 MHz 1.506 MHz
boost clock GPU 1.545 MHz
1.635 MHz (OC)
1.582 MHz 1.710 MHz
1.800 MHz (OC)
1.734 MHz 1.620 MHz
1.710 MHZ (OC)
1.683 MHz
ROPs 88 88 64 64 64 64
TMU 272 224 184 160 144 120
clock memoria 14 Gbps 11 Gbps 14 Gbps 10 Gbps 14 Gbps 8 Gbps
dotazione memoria 11 Gbytes 11 Gbytes 8 Gbytes 8 Gbytes 8 Gbytes 8 Gbytes
bandwidth memoria 616 GB/s 484 GB/s 448 GB/s 320 GB/s 448 GB/s 256 GB/s
architettura memoria GDDR6 GDDR5X GDDR6 GDDR5X GDDR6 GDDR5
bus memoria 352bit 352bit 256bit 256bit 256bit 256bit
alimentazione 8pin+8pin 8pin+6pin 8pin+6pin 8pin 8pin 8pin
TDP 250W
260W - FE
250W 215W
225W - FE
180W 175W
185W - FE
1750W
prezzo al debutto 1.259,00€ - FE
1.199$ - FE
999$ - OEM
699$ 849,00€ - FE
799$ - FE
699$ - OEM
699$ - FE
599$ - OEM
639,00€ - FE
599$ - FE
499$ - OEM
449$

Cambia l'architettura delle schede, ma come vedremo alcuni elementi alla base rimangono facilmente confrontabili. A parità di modello evidenziamo un aumento nel numero di CUDA cores in ogni GPU, con frequenze di clock che si riducono leggermente nei valori di clock di default risultando superiori in quelli di boost clock. Questa differenza è però presente nelle schede Founder's Edition proposte direttamente da NVIDIA, caratterizzate da un valore di 80 MHz superiore per il dato di boost clock rispetto alle impostazioni di default delle schede sviluppate dai partner AIB NVIDIA. L'aumento nella frequenza di clock si ripercuote direttamente sul TDP: quello delle schede Founder's Edition è superiore di 10 Watt rispetto a quanto indicato per le proposte dei partner AIB.

Anche in questo caso, quindi, NVIDIA ha scelto di presentare proprie schede abbinate alle nuove GPU quale proposta alternativa alle schede dei partner, così come avvenuto al debutto delle soluzioni GeForce GTX 1000. I prezzi delle schede Founder's Edition, secondo quanto indicato da NVIDIA, sono superiori ai listini di partenza delle schede dei partner ma eventuali differenze dipenderanno molto dalle caratteristiche delle schede video degli AIB: non mancheranno infatti da subito versioni caratterizzate da overclock di serie e sistemi di raffreddamento particolarmente elaborati, così come del resto è sempre stato per le schede video top di gamma. Nella tabella abbiamo riportato i prezzi in dollari indicati da NVIDIA come "a partire da", con riferimento ai modelli dei partner OEM, assieme ai listini in dollari e in Euro delle schede Founder's Edition. Ricordiamo come i prezzi in Euro siano comprensivi di IVA, mentre quelli in dollari siano tasse escluse.

Il design delle schede Founder's Edition è cambiato in misura sensibile rispetto a quanto proposto con le schede GeForce GTX 1000. Il sistema di raffreddamento è a doppia ventola, simile per costruzione a quanto offerto da molti produttori con le proprie schede custom basate su GPU della famiglia Pascal. L'aria viene ora prelevata dall'interno del case e soffiata sempre all'interno, non più espulsa all'esterno dalla griglia posteriore se non in minima parte.

Con questo nuovo design NVIDIA ha implementato due ventole dotate ciascuna di 13 palette, una base di contatto con heatpipe integrate e una struttura di tipo vapor chamber con una capacità doppia rispetto a quanto implementato con le precedenti schede Founder's Edition. La risultante di questa costruzione è un funzionamento più silenzioso delle schede a parità di temperatura e in generale una capacità di mantenere la temperatura della GPU su valori più contenuti. L'utilizzo di una circuiteria di alimentazione particolarmente sofisticata, con architettura a 8 fasi ad utilizzo sequenziale in funzione del carico, ha permesso inoltre ad NVIDIA di garantire una maggiore tolleranza all'overclock per le proprie schede Founder's Edition. Da questo derivano le specifiche tecniche con frequenza di boost clock che è superiore per queste schede rispetto a quanto indicato per le schede dei partner OEM.

Le specifiche delle GPU Turing e gli accorgimenti adottati da NVIDIA nella costruzione delle schede Founder's Edition aprono spazio a interessanti livelli di overclock. Per aiutare l'utente a trovare il miglior compromesso tra tensione di alimentazione e frequenza di clock per la propria scheda NVIDIA ha sviluppato un tool proprietario, OC scanner, che esegue una serie di test automatizzati che permettono di giungere ad una indicazione di quello che è il miglior abbinamento tra tensione e clock. OC scanner verrà integrato all'interno delle varie utility di overclock e tweaking disponibili in commercio, con il modello Precision X1 di EVGA che è stato utilizzato per i primi demo di NVIDIA. Il processo è decisamente complesso, in quanto richiede sino a 20 minuti per venir completato fornendo una completa curva dell'andamento della GPU alle varie combinazioni di tensione e frequenza di clock. Al termine della operazione le impostazioni vengono salvate in un database, così da poter essere richiamate dall'utente in un secondo tempo a seconda delle preferenze personali.

Le schede GeForce RTX integrano diversi connettori per display: troviamo un collegamento HDMI 2.0b compatibile HDCP 2.2, con il quale poter pilotare segnale 4K sino a 60Hz di refresh. La connessione DisplayPort 1.4a con DSC 1.2 ha quale massimo il segnale 8k a 60Hz di refresh, mentre non manca il connettore VirtualLink di nuova generazione per interfacciarsi direttamente con i visori VR compatibili fornendo a questi ultimi anche segnale di alimentazione. La connessione Display Port è ovviamente compatibile con lo standard HDR.

In Turing NVIDIA ha implementato alcune specifiche ottimizzazioni anche al versante video: con queste schede è ora possibile eseguire encode HEVC alla risoluzione 8K 30Hs HDR in tempo reale, mentre per la parte decode troviamo supporto a VP9 10/12bit HDR e a HEVC 444 10/12bit HDR.

Le schede GeForce RTX 2080 e GeForce RTX 2080Ti sono compatibili con tecnologia SLI, in configurazioni sino a 2 schede in parallelo. Per l'abilitazione è richiesto l'utilizzo di nuovi bridge, in quanto sono cambiati i pin di collegamento così da garantire una più elevata bandwidth di collegamento bidirezionale tra le due schede. Dalle connessioni emerge comequella utilizzata sia la tecnologia NVLink, sviluppata dall'azienda americana per le proprie soluzioni top di gamma delle famiglie Quadro e Tesla e ora migrata anche nelle schede Turing così da assicurare la bandwidth necessaria per elaborare a risoluzioni elevate come quella 8K, o 4K a 144Hz o ancora 5K a +75Hz. Nel caso della scheda GeForce RTX 2080Ti l'implementazione si spinge oltre sino al supporto alla risoluzione 8K di tipo surround, con una bandwidth di trasmissione bidirezionale che sale sino a 100 GB/s.

Architettura della GPU Turing

Quella Turing è un'architettura rivoluzionaria per NVIDIA, in quanto per la prima volta è stato implementato il supporto hardware al Ray Tracing. Il cambio di sigla identificativa, da GTX a RTX, vuole proprio lasciar intendere come questo per NVIDIA sia un mutamento radicale.

In un paragrafo seguente andremo ad analizzare in dettaglio quale sia l'implementazione del Ray Tracing scelta da NVIDIA con l'architettura Turing e come essa operi. In questo andremo invece a vedere come sia strutturata la GPU Turing in termini di unità di elaborazione, evidenziando come siano ora 3 i moduli computazionali presenti: il primo sono i tradizionali CUDA Cores, il secondo gli RT o Ray Tracing Cores e il terzo i Tensor Cores necessari per le elaborazioni legate all'intelligenza artificiale in ottica gaming.

Analizzando la struttura dei Streaming Multiprocessor delle GPU Turing notiamo le prime differenze rispetto a quanto implementato con le soluzioni Pascal: sono presenti due unità FP e integer di tipo concurrent, in grado cioè di operare in parallelo e contemporaneamente. La presenza di unità FP e INT di tipo concurrent permette di incrementare l'efficienza, sfruttando al meglio e nello stesso tempo tutte le unità di elaborazione presenti: secondo NVIDIA ogni 100 istruzioni di tipo floating point si registrano altre 36 istruzioni di tipo integer che devono essere processate dalla GPU.

E' stata radicalmente modificata anche l'architettura della cache e della memoria condivisa: ora cache L1 e shared memory operano congiuntamente, in composizione 64Kb + 32Kb oppure 32Kb + 64Kb. A differenza di Pascal sono presenti due unità di load/store, ciascuna con la propria memoria L1 + shared memory dedicata, mentre il quantitativo di cache L1 è aumentato sino a 2,7 volte a seconda delle configurazioni. Le Cache L1 sono poi collegate alla cache L2, che rispetto a Pascal raddoppia in quantitativo passando da 3 a 6 Mbyes.

Questi affinamenti hanno permesso, secondo i dati distribuiti da NVIDIA, di migliorare le prestazioni a livello di shading in modo sensibile rispetto a quanto fornito con le soluzioni Pascal: parliamo di almeno il 50%, variabile a seconda del tipo di applicazione che viene eseguita.

L'architettura Turing è incentrata anche sulla presenza dei Turing Tensor Core, utilizzati per tutte le operazioni legate all'intelligenza artificiale anche in ambito gaming. Le specifiche prevedono una potenza di elaborazione di picco di 110 TFLOPS con FP16, 220 TOPS con INT8 e 440 TOPS con INT4 di precisione. La terza tipologia di unità di elaborazione presente nelle GPU Turing sono gli RT cores, ovviamente acronimo di Ray Tracing. Tanto Turing Tensor Cores come RT Cores sono analizzati in dettaglio nei due paragrafi seguenti dedicati a Ray Tracing e NVIDIA NGX, Neural Graphics Framework.

Nell'implementazione più completa il chip TU102, utilizzata da NVIDIA nella scheda Quadro RTX 6000, troviamo 4.608 CUDA cores divisi in 72 SM. La versione utilizzata nella scheda GeForce RTX 2080Ti integra al proprio interno 68 SM attivi: ciascuno integra 64 CUDA cores, per un numero complessivo di 4.352. Ogni SM integra al proprio interno 8 Tensor cores, oltre a 1 RT core e a 4 Texture Units. Il bus memoria da 384bit è diviso in partizioni a 32bit ciascuno: per ognuna di esse sono presenti 8 unità ROPs: in GeForce RTX 2080Ti il bus memoria ha ampiezza di 352bit.

Il chip TU104 è utilizzato nelle schede GeForce RTX 2080: integra nella sua versione più completa 3.072 stream processors con 48 SM e un totale di 384 tensor cores, ma nella declinazione utilizzata dalle schede GeForce RTX 2080 vede 2.944 CUDA cores con 46 SM e un totale di 368 tensor cores. attivi. La vcrsione completa di questa GPU è al momento attuale utilizzata da NVIDIA nella scheda Quadro RTX 5000 destinata alle workstation grafiche.

A chiudere il quadro delle GPU Turing troviamo il modello TU106, adottato dalla scheda GeForce RTX 2070. In questo caso troviamo 2.304 CUDA cores abbinati a 288 Tensor Cores.

GPU

TU102 TU104 TU106
CUDA cores 4.608 3.072 2.304
SM 72 48 36
Tensor Cores 576 384 288
RT Cores 72 48 36
ROPs 96 64 64
Texture units 288 192 144
Bus memoria 384bit 256bit 256bit

Mettendo a confronto le caratteristiche tecniche delle 3 GPU della famiglia Turing risulta immediatamente evidente come la GPU TU106 sia di fatto composta dalla metà degli elementi della proposta TU102. Questa relazione vale per la GPU ma non per il versante memoria: in questo caso passiamo da un bus a 384bit della GPU TU102 nella sua implementazione con tutte le unità attive ai 256bit delle GPU TU104 e TU106.

Tutte le innovazioni introdotte nelle GPU Turing, in abbinamento alla bandwidth della memoria video e al numero di CUDA cores, hanno permesso di ottenere un netto balzo in avanti delle prestazioni nelle applicazioni di grafica tradizionali. I dati forniti da NVIDIA indicano un balzo in avanti che può portare ad un raddoppio delle prestazioni in particolari condizioni d'uso per la scheda GeForce RTX 2080 rispetto al modello GeForce GTX 1080 con risoluzione 4K, ma in media possiamo attenderci un balzo in avanti compreso tra il 30% e il 50%, a seconda del titolo a parità di condizioni.

Memoria GDDR6

Il quantitativo e la tipologia di memorie installate su una scheda video sono direttamente responsabili del livello di prestazioni ottenibile con una specifica GPU. Un quantitativo elevato è particolarmente importante quando si utilizzano risoluzioni elevate, così che tutti i componenti necessari per il rendering dell'immagine siano direttamente disponibili alla GPU senza creazione di colli di bottiglia.

Le specifiche della memoria video adottata, con tipologia, bus e frequenza di clock, rappresentano parametri fondamentali ai fini prestazionali. Anche in questo caso una superiore velocità della memoria video, e quindi una sua bandwidth incrementata, porta benefici più evidenti nel momento in cui questa è abbinata a risoluzioni elevate.

Le schede video GeForce RTX sono le prime ad adottare tecnologia di memoria GDDR6, nuovo standard che vedremo prossimamente adottato su un numero sempre più elevato di schede video top di gamma. Adottando queste nuove memorie video NVIDIA è in grado di offrire un netto incremento della bandwidth pur mantenendo lo stesso tipo di architettura alla base: troviamo infatti bus da 256bit per le schede GeForce RTX 2080 e 2070, con uno a 352bit per la proposta GeForce RTX 2080Ti.

Modello

GeForce RTX 2080Ti GeForce GTX 1080Ti GeForce RTX 2080 GeForce GTX 1080 GeForce RTX 2070 GeForce GTX 1070
clock memoria 14 Gbps 11 Gbps 14 Gbps 10 Gbps 14 Gbps 8 Gbps
dotazione memoria 11 Gbytes 11 Gbytes 8 Gbytes 8 Gbytes 8 Gbytes 8 Gbytes
bandwidth memoria 616 GB/s 484 GB/s 448 GB/s 320 GB/s 448 GB/s 256 GB/s
architettura memoria GDDR6 GDDR5X GDDR6 GDDR5X GDDR6 GDDR5
bus memoria 352bit 352bit 256bit 256bit 256bit 256bit

E' interessante notare come NVIDIA abbia incrementato in misura più marcata la bandwidth dei modelli d'ingresso della famiglia. Per la scheda GeForce RTX 2070 troviamo infatti la stessa architettura di memoria del modello GeForce RTX 2080: nel confronto con il modello GeForce GTX 1070 il balzo in avanti è di ben il 70%, che si riduce al 40% rispetto a quanto offerto dalla scheda GeForce GTX 1080. Per la proposta top di gamma GeForce RTX 2080Ti la differenza è più contenuta: siamo a un +27%, dato a prescindere molto interessante in quanto ottenuto su un prodotto di vertice della famiglia.

Le memorie GDDR6 adottate da NVIDIA hanno frequenza di clock di 14 Gbps: si tratta del dato più elevato tra le memorie ora disponibili in volumi. C'è spazio per una evoluzione futura a 16 Gbps secondo le specifiche GDDR6 e non è difficile immaginare che qualche produttore, in un secondo tempo, possa optare per soluzioni di questo tipo da installare nelle proprie schede.

Per ottenere superiori prestazioni superiori dal comparto memoria è necessario non solo incrementarne le specifiche, ma anche fare in modo che ne migliori l'efficienza complessiva. NVIDIA è intervenuta anche in questa direzione con Turing, evidenziando come la riduzione del crosstalk sino al 40% abbia permesso di incrementare le performance in misura addizionale rispetto a quanto reso accessibile con il solo aumento della pura bandwidth della memoria video. Le tecniche di compressione delle textures continuano a venir perfezionate con ogni cambio di architettura, e questo viene confermato anche in Turing con l'aumento dell'efficienza nell'utilizzo della bandwidth a disposizione.

Ray Tracing con le schede GeForce RTX

Forse non molti ricordano quanto importante fu la GeForce 3 (NV20) nell'ottica dell'evoluzione della computer graphics: quella, infatti, fu la prima scheda video capace di gestire in hardware pixel shader programmabili. Per la prima volta gli sviluppatori di videogiochi hanno avuto la possibilità di gestire gli effetti grafici sulla base del singolo pixel e non sulla base del poligono. Questo, fra le altre cose, permetteva di gestire effetti come il bump mapping, riflessioni e rifrazioni in maniera molto realistica, o superfici di liquido dove ogni singola goccia si comportava in maniera differente rispetto a ciò che la circondava.

Un grande cambiamento per la grafica: forse la GeForce 3 non comportò un miglioramento prestazionale notevole, ma l'appassionato di grafica la ricorda con grande nostalgia perché diede il via a una serie di applicazioni che avrebbero cambiato per sempre la storia della grafica. Lo stesso può accadere con Turing e la tecnologia GeForce RTX se nei prossimi anni il Ray Tracing diventerà il punto di riferimento per la grafica tridimensionale.

Le schede della famiglia GeForce RTX 2000, infatti, supportano in hardware il Ray Tracing. Come noto, si tratta di un algoritmo in realtà di vecchia concezione che, per via delle elevate risorse di elaborazione che richiede, è stato accantonato per tecniche più semplici e di facile esecuzione, come la rasterizzazione. Ma il Ray Tracing è teoricamente l'unica strada percorribile se si vuole riprodurre fedelmente uno scenario reale a livello di comportamento della luce.

NVIDIA RTX

La tecnica di raytracing, infatti, proietta i raggi di luce dal punto di osservazione agli oggetti; i raggi poi rimbalzano dagli oggetti al resto della scena, determinando in ultima analisi le interazioni tra le fonti di luce e gli oggetti in un modo realistico. L'algoritmo segue il percorso tracciato da ogni singolo raggio al fine di determinare il colore del pixel su cui è proiettato. Se la destinazione è considerabile come destinazione finale il processo si interrompe, in caso contrario viene gestito il conseguente effetto di riflessione o rifrazione. Rispetto alle tecniche tradizionali di rasterizzazione, si parte quindi dal punto di osservazione, mentre fino a oggi l'illuminazione viene gestita a partire dalla fonte di illuminazione nella scena virtuale. Ne abbiamo parlato diffusamente qui, nel momento dell'annuncio di Microsoft DirectX RayTracing.

Il Ray Tracing, dunque, proietta le sonda raggio su ogni pixel dell'immagine e verifica se i raggi intersecano qualsiasi figura primitiva, dunque i triangoli, nella scena. Sulla base della distanza percorsa dalla sonda e del colore originale della primitiva viene determinato il colore finale, considerando che il processo può non interrompersi se si verificano le condizioni per il rimbalzo della luce sulla primitiva. Per fare tutto questo serve una capacità di elaborazione notevole non disponibile ai tempi di GeForce 3 e, in realtà, non disponibile neanche oggi con GeForce RTX 2000. Quello di cui parla NVIDIA è infatti un compromesso: inizialmente, infatti, si dovrà rinunciare a una parte delle prestazioni velocistiche all'interno di un approccio comunque ibrido, a metà strada fra Ray Tracing puro e rasterizzazione dove a discernere tra l'uso dell'una e dell'altra sono complessi algoritmi di intelligenza artificiale. Inoltre, gli sviluppatori avranno modo di configurare la complessità del sistema di illuminazione in funzione delle risorse di elaborazione a disposizione.

NVIDIA RTX

In passato NVIDIA ha fornito degli strumenti come Iray e OptiX per consentire ai designer di realizzare rendering fotorealistici con Ray Tracing, il tutto ottimizzato via GPU ma non in tempo reale (perlomeno con una sola GPU). I videogiochi richiedono almeno 60 frame per secondo e impongono latenze tra input e visualizzazione pressoché nulle: motivi per i quali Ray Tracing fino a oggi non è stato applicabile. Si è fatto ricorso, pertanto, alla rasterizzazione, la quale però presenta delle limitazioni significative. Con rasterizzazione gli sviluppatori devono centellinare le fonti di luce e usare dove possibile lightmap precalcolate. Allo stesso modo i riflessi sono approssimativi e le ombre spesso soffrono di aliasing e artefatti. Le riflessioni cosiddette screen-space (la quasi totalità delle riflessioni che vediamo nei videogiochi attuali), inoltre, funzionano solo con gli oggetti visibili a schermo. Questi artefatti riducono il realismo e sono costosi in termini di risorse di elaborazione richieste agli sviluppatori che tentano di risolverli con effetti aggiuntivi. Mettendo a disposizione un RT Core per ogni SM adesso NVIDIA cerca di risolvere queste limitazioni storiche della computer graphics calcolando il Ray Tracing in hardware.

NVIDIA RTX

Semplificando molto, nel nuovo metodo NVIDIA con rasterizzazione si vanno a cogliere i punti dell'immagine in cui serve l'applicazione di un algoritmo avanzato per la simulazione dell'illuminazione, e poi viene avviata quest'ultima. Ray Tracing nell'implementazione completa, invece, non è l'ennesimo effetto grafico a disposizione del motore grafico, ma l'idea alla base del funzionamento di quest'ultimo per il rendering di qualsiasi cosa presente nella scena tridimensionale. Ray Tracing è dunque cieco rispetto ai punti in cui si trovano le fonti di illuminazione: le "scopre" tracciando al contrario tutti i raggi presenti nella scena, come prima spiegato.

Utilizzando l'accelerazione in hardware e un approccio di rendering ibrido, le schede GeForce RTX 2000 fondono rasterizzazione, ray tracing in tempo reale, intelligenza artificiale e meccanismi di simulazione per migliorare la qualità e le prestazioni della grafica dei giochi per PC. Con il termine "ibrido" NVIDIA intende dire che ogni scena viene affrontata con una combinazione di ray tracing e rasterizzazione, perché questo costituisce il "miglior compromesso possibile fra onere computazionale e qualità grafica": così hanno detto gli ingegneri di NVIDIA. Con questo approccio, dunque, la rasterizzazione viene usata nei punti in cui consente di migliorare le prestazioni, mentre con ray tracing si cura il rendering di riflessioni, rifrazioni e ombre. La seguente immagine illustra come funziona questo compromesso, schematizzando cosa succede nella nuova pipeline di rendering.

NVIDIA RTX

Le GPU basate su architettura Turing sono in grado di fare il rendering in Ray Tracing in tempo reale, ma il numero di raggi primari o secondari proiettati per ogni pixel o per ogni superficie può essere scalato sulla base di molti fattori, tra cui la complessità della scena, la risoluzione, gli altri effetti grafici da renderizzare nella scena e la potenza della GPU. Nell'approccio puro del Ray Tracing centinaia di raggi vengono proiettati per ogni pixel in tempo reale in modo da assicurarsi quale sia il colore di quel pixel in funzione delle varie fonti di illuminazione presenti nella scena. Turing non opera così: le servono molti meno raggi per pixel perché Turing combina delle tecniche di filtraggio di tipo "denoising".

La nuova architettura di NVIDIA utilizza dei moduli chiamati Denoiser Tracing per ridurre in modo significativo il numero di raggi richiesti per pixel senza perdere molto della qualità consentita dal Ray Tracing. Il Denoising Filtering si basa su algoritmi di intelligena artificiale e su altri metodi tradizionali per determinare quante sonde raggio utilizzare. La famosa demo Reflections creata da Epic Games con Unreal Engine 4 in collaborazione con ILMxLAB e NVIDIA segue questo approccio, secondo quanto dichiarato da NVIDIA. Una GeForce RTX 2080 Ti può renderizzarla in tempo reale con riflessioni, illuminazioni, ombre e occlusione ambientale "ray-traced".

NVIDIA RTX

Ray Tracing richiede la cosiddetta "Bounding Volume Hierarchy", che gli RT Core delle nuove GeForce gestiscono in hardware mentre in precedenza (anche Pascal "ragiona" così) si era provveduto all'emulazione software. Si tratta della scomposizione gerarchica delle superfici 3D che in computer graphics viene utilizzata anche per il calcolo delle collisioni. Ovvero, un algoritmo che individua le intersezioni tra solidi non regolari, dove i solidi vengono generalmente descritti come insiemi di triangoli che definiscono la superficie tridimensionale dell'oggetto. L'obiettivo finale è proprio l'individuazione del triangolo per capire se questo incrocia uno dei raggi di luce presenti nella scena.

Gli RT Core lavorano insieme ai filtri di denoising all'interno della struttura di accelerazione della BVH sviluppata dagli ingegneri di NVIDIA e compatibile con le API Microsoft DXR e con le prossime API Vulkan ray tracing. Gli RT Core accelerano dunque i test di intersezione tra rettangoli limitrofi che sono alla base della BVH, scaricando gli SM dal lavoro in modo da consentire a questi ultimi di dedicarsi ad altre componenti come l'ombreggiatura di vertici e pixel e altro lavoro di tipo compute shading. Funzioni come il processo di BVH vengono gestiti via driver, mentre la generazione dei raggi e lo shading viene gestito dall'applicazione attraverso nuovi tipi di shader.

NVIDIA RTX

Tutti gli oggetti geometrici della scena, in altre parole, sono suddivisi in volumi confinanti che formano le foglie di un albero. Se le foglie dell'albero non intersecano la sonda raggio l'algoritmo si ferma. Se invece i volumi hanno intersezioni, l'algoritmo procede testando tutte le combinazioni dei figli dei nodi radice. Questo procedimento ricorsivo continua finché non si arriverà ad un livello in cui non ci sono intersezioni oppure finché non si raggiungono le foglie degli alberi. L'ottimizzazione consentita dal metodo BVH riguarda dunque il fatto che non è necessario testare l'intersezione tra raggio e ogni primitiva nella scena, ma grazie al metodo ricorsivo ci si può fermare se il rettangolo che comprende ancora varie foglie fino alla radice (primitiva) non interseca il raggio di luce.


RTX Off


RTX On

Nel caso dell'emulazione software, ha spiegato NVIDIA, gli shader lanciano un raggio che dà il via al processo BVH, composto dai vari test prima velocemente riassunti sulle possibili intersezioni. Si tratta dell'elaborazione di migliaia di slot di istruzioni per ciascun raggio proiettato per testare le intersezioni con i rettangoli confinanti fino a individuare il triangolo finale del processo e colorarlo sulla base del punto in cui si verifica l'intersezione con il raggio proiettato (potrebbe verificarsi il caso in cui non viene colpito nessun triangolo e in questo caso il colore dello sfondo può essere usato per fare lo shading del pixel). Quando il lavoro è compiuto, sulla base dei dati raccolti, la GPU procede allo Shading dell'immagine. Si tratta di un processo intensivo dal punto di vista computazione che rende impossibile eseguire il Ray Tracing via GPU in tempo reale senza accelerazione hardware. La parte di valutazione della struttura degli oggetti e l'individuazione dei triangoli finali (BVH) e quella di test di intersezione tra triangoli e raggi con la tecnologia RTX è invece demandata agli RT Core, ovvero unità che elaborano in hardware le istruzioni ricorsive alla base dell'algoritmo.


RTX Off


RTX On

La scena viene dapprima suddivisa in grandi rettangoli (box), a loro volta composti da altri box sino a quando non si arriva a considerare solo i triangoli. Negli RT Core si trovano 2 unità integrate: una adibita all'elaborazione della scena e sua suddivisione in rettangoli con il metodo dei volumi confinanti, l'altra che lavora sui test di intersezione tra raggi e triangoli finali. Gli SM devono solo lanciare la sonda raggio e gli RT Core eseguiranno i due tipi di test descritti restituendo un risultato in termini di colorazione del pixel, o meno nel caso il pixel non sia illuminato, allo SM (Streaming Multiprocessor) che ha realizzato la chiamata.

NVIDIA RTX

NVIDIA RTX

Secondo i dati comunicati da NVIDIA, Pascal può elaborare 1,1 Giga Rays al secondo (10 TFLOPS/Giga Ray) gestendo il ray tracing via software, mentre Turing, grazie agli RT Core, elabora più di 10 Giga Rays al secondo.


RTX Off


RTX On

L'implementazione del Ray Tracing ha bisogno di altre accortezze e, in definitiva, una ridefinizione della stessa pipeline di rendering. Fondamentalmente è necessario individuare quelle parti dell'immagine in cui applicare rasterizzazione e quelle parti, come rifrazioni, riflessioni e ombre, dove sarà più efficace il Ray Tracing. Ci sono vari cambiamenti alla base del funzionamento di Turing, dunque, tra cui l'introduzione di nuovi tipi di shader, tra i quali troviamo il nuovo meccanismo del Mesh Shading, con cui NVIDIA cerca di affrontare il problema della sempre maggiore complessità delle scene tridimensionali, in termini di gestione di un così alto numero di oggetti per scena.


RTX Off


RTX On

Mesh Shading dunque è un nuovo modello di shading per vertex shader, tessellation e shader geometrico che supporta approcci più flessibili ed efficienti per i calcoli geometrici. Mesh Shading in altri termini costituisce un modo per sfruttare il parallelismo di elaborazione delle GPU moderne, evitando di fare calcoli ridondanti tramite l'ottimizzazione delle draw call impartite dalla CPU alla GPU. Nella nuova pipeline la CPU effettua delle draw call per una lista di oggetti con proprietà simili, piuttosto che effettuare una draw call diversa per ciascun oggetto. Con Texture-Space Shading, ad esempio, gli oggetti ricevono la procedura di shading e il risultato viene immagazzinato in uno spazio di memoria con coordinate private. I pixel shader vanno dunque a recuperare lavori già pronti da questo spazio piuttosto che procedere autonomamente per parti delle scene con caratteristiche simili. Con la possibilità di memorizzare in cache i risultati dello shading e di riutilizzarli all'occorrenza, dunque, gli sviluppatori possono eliminare parte del lavoro di shading ridondante. Mesh Shading, inoltre, include nuovi algoritmi per la sintesi delle geometrie e la gestione del livello di dettaglio degli oggetti.

NVIDIA RTX

NVIDIA sta anche sperimentando ciò che definisce Variable Rate Shading, ovvero un meccanismo che bilancia il carico di lavoro per lo shading sulla base delle aree in cui serve effettivamente. Con il crescere della complessità e varietà degli scenari di utilizzo, occorre realizzare una lettura generale della scena per bilanciare carico e precisione nei punti in cui effettivamente serve. VRS permette agli sviluppatori di controllare dinamicamente la frequenza delle operazioni di shading.

Si pensi agli oggetti in movimento: in questi casi, ha spiegato NVIDIA, la risoluzione percepita dall'utente è minore per via della presenza della velocità e della sfocatura prodotta. Nelle aree della schermata in cui ci sono particolari movimenti le operazioni di shading possono essere applicate a un ritmo meno frequente. I nuovi MAS (Motion Adaptive Shading) e CAS (Content Adaptive Shading) sono due componenti del VRS pensate per migliorare la resa visiva dei contenuti e ottimizzeranno le prestazioni. Per quanto riguarda CAS, pensate a quelle situazioni per cui si verifica coerenza cromatica fra un frame e l'altro a livello spaziale o temporale relativamente a una zona della schermata. Lo shading di queste aree può in questi casi essere applicato a una frequenza minore, ottimizzando le prestazioni. Nell'immagine di seguito, ad esempio, le aree blu richiedono uno shading poco frequente, mentre quelle con altri colori shading più frequente fino alle aree rosse dove lo shading è necessariamente molto frequente.

NVIDIA RTX

Si tratta di concetti che NVIDIA aveva già elaborato nel caso di Pascal e del cosiddetto Simultaneous Multi-Projection, ovvero della capacità delle recenti architture di gestire in maniera indipendente porzioni dello schermo al fine di applicare correzioni locali. Si sposa bene con scenari di rendering con necessità moderne: il rendering foveale per la realtà virtuale, dove a causa della distorsione delle lenti non è necessario renderizzare alla massima qualità tutte le aree dell'immagine, oltre alle applicazioni descritte al paragrafo precedente.

Le GPU del futuro saranno sempre più intelligenti in termini di individuazione delle aree dell'immagine su cui concentrare le risorse di calcolo, tralasciando invece quelle parti dove l'elaborazione non è così urgente perché, per esempio, rimangono invariate da frame a frame. Alla base dell'ottimizzazione ci sono meccanismi di intelligenza artificiale, che diventano evidenti quando si parla di rete neurale.

NVIDIA NGX: Neural Graphics Framework

RTX basata sugli RT Core non è l'unica nuova tecnologia che l'architettura Turing offre ai giocatori, perché si somma a NGX, ovvero Neural Graphics Framework, basasa sui Tensor Core. Questi ultimi sono delle unità di esecuzione progettate specificamente per eseguire operazioni sulle matrici le quali rappresentano la funzione di calcolo più ricorrente nel deep learning. Se la parte di Turing rivolta al Ray Tracing è basata sulle API DirectX Raytracing, anche l'intelligenza artificiale di NVIDIA si rifà a una tecnologia Microsoft, anch'essa presentata al GDC nella prima parte dell'anno: si tratta di DirectML.

Dunque, simili ai Tensor Core dell'architettura Volta, mai arrivata su una GeForce, i Tensor Core sono pensati in modo da accelerare i calcoli matriciali alla base del training delle reti neurali e delle operazioni di inferenza. Le GPU basate su Turing includono una nuova versione dei Tensor Core, migliorata per l'inferenza attraverso l'implementazione di nuove modalità di precisione in INT8 e INT4 per gestire operazioni quantistiche che non si sposano bene con la precisione FP16 (comunque supportata).

NVIDIA RTX

Una GPU TU102 contiene 576 Tensor Core: 8 per ciascun SM e due per ogni blocco di elaborazione all'interno di un SM. Tensor Core può eseguire fino a 64 operazioni FMA (Multiple-Add-Fused) in virgola mobile per ciclo di clock utilizzando input FP16. 8 Tensor Core in un SM eseguono un totale di 512 operazioni di tipo FP16 per ciclo di clock o 1024 operazioni FP per ciclo di clock. La nuova modalità di precisione in INT8 opera al doppio di questa velocità, ovvero esegue 2048 operazioni di numeri interi per ciclo di clock.

NVIDIA RTX

NVIDIA lavora da tempo su tecniche di deep learning di varia natura e, fra queste, è adesso in grado di gestire in hardware delle soluzioni che migliorano la definizione di immagini a bassa risoluzione sulla base di inferenze raccolte nella rete neurale. Con AI Inpainting, NVIDIA si riferisce alla capacità dell'IA di ricostruire immagini prive di alcune parti processando ciò che si trova intorno.

NVIDIA RTX

Durante la fase di training, alle immagini dei dataset vengono sottratte delle parti e poi vengono applicate le maschere per far capire al sistema come riempire i vuoti. I ricercatori hanno affermato che i metodi di deep learning esistenti vanno in crisi perché gli output per i pixel mancanti dipendono necessariamente dal valore dell'input che deve essere fornito alla rete neurale. Per risolvere questo problema, il team di NVIDIA ha sviluppato un metodo che garantisce che l'output per i pixel mancanti non dipenda dal valore di input fornito per quei pixel. Il metodo viene definito "convoluzione parziale" come spiegato qui.

NVIDIA RTX

La capacità di migliorare la risoluzione senza sprecare risorse di calcolo, si capisce di per sé, offre margini di ottimizzazione straordinari. Al GamesCom NVIDIA ha detto che la nuova tecnica di anti-aliasing basata su deep learning, ovvero DLSS (Deep Learning Super Sampling), nel formato 2x equivale a un'applicazione 64x di anti-alias super sampled tradizionale in termini di definizione. La 2080 Ti con DLSS elabora la famosa demo Epic Infiltrator alla risoluzione 4K a oltre 80fps, contro i circa 60 fps di TAA. La 1080Ti, dove non ci sono Tensor Core e quindi si ha solo TAA, la elabora a meno di 40fps. Per NVIDIA, DLSS rappresenta l'inizio della grafica in tempo reale neurale.

Clicca sull'immagine per ingrandire

DLSS sfrutta dunque una deep neural network per estrarre informazioni multidimensionali e combinare in modo intelligente i dettagli di più fotogrammi per ricavare immagini finali di alta qualità. Il DLSS utilizza meno sample in input rispetto alle tecniche tradizionali come TAA, evitando al contempo le difficoltà algoritmiche che caratterizzano queste ultime.

GeForce Experience

Con l'arrivo delle nuove schede video, NVIDIA mette a lucido GeForce Experience migliorando le caratteristiche esistenti e introducendone di nuove. Innanzitutto, cambiano gli strumenti per personalizzare l'esperienza di gioco. NVIDIA Ansel permette di scattare degli screenshot in maniera innovativa, fermando l'azione di gioco e osservandola da qualsiasi tipo di inquadratura. I giocatori possono applicare filtri di varia natura, salvare gli screenshot a risoluzione "uber", applicare l'HDR e molto altro ancora.

NVIDIA FreeStyle, sempre incluso in GeForce Experience, è invece uno strumento che permette di personalizzare colori, contrasto e saturazione delle immagini di gioco per renderle più fotorealistiche o per esaltare alcuni colori, ad esempio per migliorare la visualizzazione per un utente daltonico. Si può anche smorzare l'emissione di luce blu qualora si volesse avere un'esperienza meno faticosa per gli occhi. Ci sono 15 filtri e 38 differenti impostazioni in FreeStyle, che si attiva con la combinazione di tasti "ALT+F3" mentre si è all'interno del gioco, mentre Ansel viene lanciato con "ALT+F2". Ansel e FreeStyle agiscono dopo il lavoro fatto dal motore di gioco e dai vari Color Buffer, Z Buffer e G Buffer.

NVIDIA RTX

Infine, NVIDIA Highlights è un sistema che memorizza automaticamente i momenti di gioco più significativi e crea dei montaggi pronti da condividere. Highlights, infatti, riconosce le sezioni di gioco più enfatiche, in corrispondenza ad esempio dell'uccisione di avversari particolarmente ostici, e monta il video in maniera autonoma.

NVIDIA RTX

22 nuovi giochi sono adesso dotati di supporto Highlights/Ansel e tra questi anche l'atteso Battlefield V. Inoltre, Ansel supporterà il Ray Tracing con la possibilità di effettuare screenshot con Ray Tracing, di migliorare la risoluzione con le nuove tecnologie di deep learning e di utilizzare nuovi tipi di filtri che sfruttano il rinnovato potenziale a livello di illuminazioni.

NVIDIA RTX

Ansel è uno strumento che lavora in post-processing: questo vuol dire che ha il tempo di migliorare le immagini perché non è incalzato dalle esigenze del tempo reale. Il Ray Tracing può così essere applicato in maniera più estesa, proseguendo nel tracciamento inverso per un numero considerevolmente superiore di rimbalzi della luce. Questo non vale solo per le riflessioni o le rifrazioni, ma anche occlusione ambientale e ombre possono essere migliorate "con calma" senza le costrizioni del tempo reale, per una qualità finale delle immagini di altissimo livello, vicina al fotorealismo. Il nuovo Ansel può anche aumentare la risoluzione di specifiche parti delle schermate di gioco servendosi di meccanismi di intelligenza artificiali simili a Inpainting (AI Up-Res).

NVIDIA RTX

Ansel è capace di catturare anche i buffer HDR, e questo consente di personalizzare la luce in vari modi. Tra i nuovi filtri, invece, troviamo Greenscreen, Stickers e Letterbox, tutti da sperimentare.

NVIDIA RTX

L'embargo ai benchmark di GeForce RTX 2080 è fissato per la prossima settimana: ancora qualche giorno e scopriremo se le promesse di NVIDIA per questa nuova famiglia di schede video si tradurranno in realtà oltre a capirne i livelli prestazionali con i titoli ora in commercio.

  • Articoli Correlati
  • NVIDIA annuncia 3 schede della famiglia GeForce RTX: 2080Ti, 2080 e 2070 NVIDIA annuncia 3 schede della famiglia GeForce RTX: 2080Ti, 2080 e 2070 Debutto da settembre per le nuove generazioni di schede video NVIDIA destinate ai videogiocatori, basate su architettura Turing. Focus su Ray Tracing, tecnica che secondo NVIDIA verrà sempre più implementata all'interno dei giochi di prossima generazione e che l'architettura Turing permette di eseguire con prestazioni nettamente superiori alle schede di precedente generazione.
54 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
Bivvoz14 Settembre 2018, 15:12 #1
Facile fare questi paragoni:

Link ad immagine (click per visualizzarla)

Nel TAA si vede il tipico effetto mosso dei filtri temporali.
Vedremo con altri filtri quanto è buono il DLSS.
Se fosse veramente così per i miei standard andrebbe più che bene, non saprei per i puristi del 4K nativo però...
demon7714 Settembre 2018, 15:33 #2
Prestazioni velocistiche assolute a parte bisogna davvero dire che il lavoro fatto per lo sviluppo di queste nuove GPU è a dir poco impressionante.

Stanno diventando quasi dei SOC che raggruppano sempre maggiori tipologie di unità di calcolo specialistiche..
Nhirlathothep14 Settembre 2018, 15:34 #3
e la nuova Titan? si sa nulla?

Da titanxp a 2080ti non mi convince come "upgrade"
sgrinfia14 Settembre 2018, 16:19 #4
Prestazioni velocistiche assolute sotto le aspettative bisogna davvero dire che il lavoro fatto per lo sviluppo di queste nuove GPU è a dir poco disarmante
nickname8814 Settembre 2018, 16:44 #5
Originariamente inviato da: sgrinfia
Prestazioni velocistiche assolute sotto le aspettative bisogna davvero dire che il lavoro fatto per lo sviluppo di queste nuove GPU è a dir poco disarmante

Sotto le aspettative ?

Con buona parte del die occupato dai nuovi componenti, lato cuda cores sono comunque riusciti a fornire un incremento tipicamente visibile in un medio salto generazionale, ovvero con la 80 liscia che supera la Ti della precedente generazione.

Un salto analogo a quello che ci fu con Maxwell, nonostante le unità in più e un pp poco distante.

La 2080 per altro monta un chip da circa 550mmq nonostante tutto ( ed anch'essa non dispone nemmeno di tutte le unità attive ).
tuttodigitale14 Settembre 2018, 16:52 #6
Originariamente inviato da: Nhirlathothep
e la nuova Titan? si sa nulla?

Da titanxp a 2080ti non mi convince come "upgrade"

Upgrade naturale per il prezzo è proprio la 2080ti.
mentre il successore è già in commercio da un pò, la Titan V.
A questo punto varrebbe la pena di aspettare la titan T, ma temo che verrà confermato il prezzo di 3000 euro...
Bivvoz14 Settembre 2018, 16:57 #7
Originariamente inviato da: tuttodigitale
Upgrade naturale per il prezzo è proprio la 2080ti.
mentre il successore è già in commercio da un pò, la Titan V.
A questo punto varrebbe la pena di aspettare la titan T, ma temo che verrà confermato il prezzo di 3000 euro...


Imho il brand Titan dopo la Titan V non è più da considerarsi qualcosa per il gaming manco lontanamente.
Secondo me se uscirà una nuova Titan andrà a sostituire la Titan V per il supercomputing, ricercatori e cose del genere.
carlone8814 Settembre 2018, 17:18 #8
Scusate la considerazione da niubbo, ma una domanda mi sorge spontanea:

queste nuove schede sono state presentate quasi esclusivamente facendo riferimento all'implementazione per la prima volta del ray tracing in tempo reale e, come ogni "prima generazione" che si rispetti, bisogna aspettare che la tecnologia che mettono a disposizione venga sfruttata dai software (parlo solo di ambito gaming) per godere dei risultati.

la domanda vien da se: su un gioco che non sfrutta queste caratteristiche, che differenza c'è con l'attuale generazione di schede? queste RTX 20xx vanno comunque di piu? consumano meno?

perchè altrimenti chi le prende ora fa solo da cavia per il mercato... e si porta a casa una "R" al posto di una "G" e nulla piu

personalmente la mia "G"tx 1060 in max e fhd non mi ha mai dato rallentamenti, anzi, sono sempre ben oltre i 60 frames che il mio schermo supporta; figuriamoci se avessi una 1080...

mi sembra un po di rivedere quello che era successo con le dx11 e le dx12... passava l'informazione che senza una scheda che le supportasse non avresti più giocato a nulla e, invece, per diversi ANNI nessuno ne ha sentito la mancanza, ancora oggi una dx11 "liscia" ti fa partire qualsiasi titolo dx12 "ready" (io ho una gtx 660 sul mulo e non ho mai avuto problemi a parte scalare un pochino le impostazioni ingame)...

Belin, mi sembra un po che si voglia "vendere qualcosa di nuovo" per forza...

Inoltre dai video che visto e dalla conferenza Nvidia di presentazione, non mi pare che queste schede siano mature per gestire la tecnologia che portano in grembo.

saranno probabilmente vecchie e obsolete appena quella tecnologia verrà usata a dovere nei videogames...

secondo me faranno la fine dei primi phenom x6: sulla carta molto promettenti, ma sprecati nell'uso quotidiano e, soprattutto, obsoleti quando finalmente piu di 4 core sono diventati sensati da possedere.

spero di essermi spiegato bene
Cfranco14 Settembre 2018, 17:23 #9
Nella prima tabella i 1750 W della 1070 sono un filo troppi

Originariamente inviato da: nickname88
lato cuda cores sono comunque riusciti a fornire un incremento tipicamente visibile in un medio salto generazionale, ovvero con la 80 liscia che supera la Ti della precedente generazione.

Devo essermi perso qualcosa, le prestazioni dove le hai viste ?
tuttodigitale14 Settembre 2018, 17:27 #10
Originariamente inviato da: nickname88
Sotto le aspettative ?

Con buona parte del die occupato dai nuovi componenti, lato cuda cores sono comunque riusciti a fornire un incremento tipicamente visibile in un medio salto generazionale, ovvero con la 80 liscia che supera la Ti della precedente generazione.

ma sai effettivamente quanto spazio è occupato dai nuovi componenti?
perchè il confronto tra GP100 e GV100, vede il secondo avere meno transistor per cuda core, nonostante la presenza dei tensor core, segno che lo spazio occupato da queste unità è piccolo.
Lo stesso potrebbe essere per il RT.

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^