Hardware Upgrade - il sito italiano sulla tecnologia - www.hwupgrade.it
« Torna all'articolo  -  Stampa
NVIDIA GeForce GF100 Fermi: preview dell'architettura
Gabriele Burgazzi, Paolo Corsini - 18 Gennaio 2010
"NVIDIA rilascia parte delle specifiche delle prime schede video della famiglia GeForce basate su architettura Fermi, destinate all'utilizzo in sistemi desktop. Il debutto, dopo lunga attesa, sembra confermato per il mese di Marzo 2010"
Pagina 1 - Introduzione

Settembre 2009: AMD presesenta le prime schede video basate su architettura DirectX 11, modelli Radeon HD 5870 e Radeon HD 5850, stabilendo nuovi riferimenti prestazionali nel mondo dei videogiochi 3D per schede a singola GPU. NVIDIA, al proprio evento GPU Technology Conference, rende per la prima volta pubbliche alcune delle caratteristiche architetturali della propria generazione di GPU DirectX 11, indicate con il nome di Fermi, puntando l'attenzione in particolare sul mercato delle applicazioni GPU Computing con le schede Tesla.

AMD ha a disposizione proprie architetture DirectX 11 da mesi; a Febbraio verrà completato il lancio delle ultime soluzioni della serie Radeon HD 5000, destinate al segmento di fascia entry level, grazie alle quali AMD potrà avere a disposizione una completa gamma di schede DirectX 11 prima che NVIDIA possa aver immesso in commercio la propria prima scheda basata su architettura Fermi.

NVIDIA, nel frattempo, ha continuato lo sviluppo interno delle proprie soluzioni Fermi, basate su GPU nota con il nome in codice di GF100. Le schede debutteranno presumibilmente a Marzo, a nostro avviso utilizzando la cornice del CeBit di Hannover per dare spazio ai vari partner di meglio comunicare a clienti e stampa le novità. Dopo aver anticipato a Settembre le caratteristiche architetturali delle soluzioni Fermi per l'utilizzo in applicazioni GPU Computing, NVIDIA prosegue la strategia di rilascio di maggiori dettagli architetturali fornendo informazioni sul segmento destinato ai calcoli grafici di GF100, aiutando quindi a capire quali potranno essere le specifiche tecniche delle prime schede GeForce basate su GPU GF100.

die_fermi.jpg (131776 bytes)

E' bene precisare da subito quello di cui NVIDIA non ha ancora discusso, e che presumibilmente verrà rivelato solo al debutto sul mercato. Non sappiamo quali e quante versioni di schede GeForce GF100 NVIDIA presenterà al lancio, anche se possiamo presumere saranno almeno 2 considerato i precedenti debutti di nuove architetture di GPU NVIDIA destinate al segmento top di gamma del mercato.

Non conosciamo quindi le frequenze di clock di GPU, stream processors e memoria video: qualsiasi considerazione sulle prestazioni velocistiche delle schede è quindi altamente speculativa. Come vedremo nel corso dell'articolo NVIDIA ha fornito alcuni elementi prestazionali di confronto, ma si tratta più di analisi su specifiche funzionalità dell'architettura GF100; l'unico benchmark con gioco in commercio che abbiamo a disposizione, e che abbiamo visto eseguito di persona su un sistema Fermi, è noto per penalizzare le schede concorrenti ATI Radeon nel momento in cui viene abilitato l'anti aliasing.

Un altro punto interrogativo riguarda il consumo complessivo delle soluzioni GeForce Fermi, e le eventuali tecniche implementate da NVIDIA per contenere il consumo massimo e quello medio: si tratta di un elemento di notevole importanza, sul quale abbiamo formulato alcune supposizioni a partire dalla struttura fisica della scheda.

Nonostante questi elementi ancora oscuri, non pochi a onor del vero, possiamo fornire una overview di quelle che sono le innovazioni implementate nelle GPU GF100 e specificamente rivolte all'utilizzo in ambiente grafico, il cambio di approccio seguito da NVIDIA con questa nuova architettura e alcune delle funzionalità frutto delle nuove API DirectX 11 che dovrebbero permettere di cambiare radicalmente i giochi di prossima generazione.

Prima di questo, una considerazione molto diretta: le schede Fermi sono in ritardo, ed è la stessa NVIDIA ad ammetterlo. Al momento attuale le GPU GF100 sono in produzione presso la taiwanese TSMC, utilizzando tecnologia produttiva a 40 nanometri comune alle schede ATI Radeon HD 5000. Sappiamo che la GPU GF100 è architettura di notevole complessità, oltre che di dimensioni importanti: questo ha dirette ripercussioni sui tempi di produzione e può in parte giustificare il ritardo accumulato. Sarà quindi nell'interesse di NVIDIA che le prime schede GeForce GF100 siano in grado di distanziare nettamente, dal punto di vista prestazionale, le soluzioni concorrenti ATI Radeon della serie 5000, viceversa l'attesa oltre che lunga sarà stata anche in buona parte vana. Più volte negli ultimi mesi la memoria è ritornata ad un precedente nella storia di NVIDIA che risale alla fine del 2002: non pensiamo che il destino di Fermi sia da accomunare a quello delle schede basate su architettura NV30, ma il dubbio è più volte emerso sia a noi come a tutti i colleghi, nazionali e non, con i quali abbiamo avuto modo di discutere di questo progetto.

Passiamo ora ad analizzare l'architettura delle soluzioni GF100, con particolare attenzione a quelle che sono le novità per il segmento dedicato destinato ai calcoli grafici.

Pagina 2 - Architettura di GF100 per la parte grafica

Dopo aver visto, negli scorsi mesi, quale sia l'architettura alla base delle GPU Fermi GF100 per applicazioni GPU Computing, concretizzate nella serie di schede della famiglia Tesla, illustriamo quelle che sono le specifiche tecniche della parte destinata al segmento videoludico che NVIDIA ha voluto rendere ora disponibili. Apriamo l'analisi con uno schema a blocchi che dettaglia gli elementi base delle GPU GF100 nel momento in cui vengono utilizzate per applicazioni grafiche:

schema_blocchi_gf100.png (42999 bytes)

Nelle GPU GF100 sono integrati 512 CUDA Cores, nome scelto da NVIDIA per indicare i propri stream processors. Il numero di 512 è ovviamente quello massimo: non è quindi detto che tutte le schede GeForce basate su architettura Fermi verranno proposte con questo numero di CUDA Cores, bensì ci pare molto probabile che alcune versioni di scheda possano vedere alcune parti disabilitate, con una conseguente riduzione nel numero di cores a disposizione.

Le GPU GF100 vedono i 512 CUDA Cores divisi in blocchi, ciascuno dei quali è indicato come streaming multiprocessor o SM; l'approccio richiama quanto già visto con le precedenti generazioni di architetture video NVIDIA a shader unificati compatibili con le API DirectX 10, con alcune ovvie differenze. Se in G80 (GeForce 8800) e GT200 (GeForce GTX 200) i core erano raggruppati a blocchi di 8 all'interno di un SM, in GF100 l'approccio è cambiato con un numero di core 4 volte superiore per ogni SM: siamo quindi ora a 32 core. Riassumiamo questi dati nella seguente tabella:

GPU G80 GT200 GF100
CUDA core 128 240 512
core per ogni SM 8 8 32
SM in totale 16 30 16

Alcune differenziazioni tra le schede GF100 potrebbero quindi essere basate sull'integrazione di un numero più ridotto di SM per ogni GPU, lasciando invariato il numero di CUDA core per ogni SM; disabilitando 2 SM si ottiene una GPU GF100 dotata di 448 CUDA cores, numero che NVIDIA ha del resto indicato in documentazione interna resa pubblica online con riferimento alle soluzioni Fermi della famiglia Tesla.

schema_blocchi_gf100_2.png (17384 bytes)

Vediamo in dettaglio come sia costituito uno streaming multiprocessor. La parte centrale vede la presenza dei 32 CUDA cores: a gruppi di 4 sono associati a due unità di load e store (LD/ST), mentre 2 di questi gruppi, per un totale di 8 CUDA cores, sono abbinati ad una unità di tipo special function (SFU). A monte troviamo una cache per le istruzioni, seguita da due Warp Scheduler e da due unità per le operazioni di dispatch, collegate al registro dei files capace di gestire un massimo di 32.768 entry a 32bit.

Ogni singolo CUDA Core integra al proprio interno un Dispatch Port, una unità per la raccolta degli operanti, una unità in floating point e una per i calcoli interni oltre ad una result queue. Le elaborazioni interne ad ognuno di questi core sono eseguite con precisione IEEE-754 2008 per le operazioni in virgola mobile e a 32bit per quelle con interi: la risultante sono unità di elaborazione indipendenti per le due tipologie che sono pienamente compatibili con gli standard di mercato, caratteristica particolarmente utile non tanto in ambito gaming quanto in quello delle applicazioni GPU Computing.

Abbiamo già segnalato, nella prima analisi dell'architettura Fermi, come la capacità di elaborazione in double precision in virgola mobile (FP64) sia stata largamente incrementata nelle GPU GF100 rispetto alle soluzioni della famiglia GT200. Iil valore di picco nell'esecuzione di codice a doppia precisione in virgola mobile è ora pari alla metà di quanto ottenibile in singola precisione, mentre con GT200 tale valore era pari a circa 1/8. Riassumiamo questi dati nella seguente tabella, introducendo un confronto tra G80, GT200 e GF100:

GPU G80 GT200 GF100
CUDA core 128 240 512
single precision FP32 128 MAD
ops/clock
240 MAD
ops/clock
512 MAD
ops/clock
double precision FP64 assente 30 FMA
ops/clock
256 FMA
ops/clock

E' evidente come l'architettura Fermi sia stata sviluppata per offrire capacità di elaborazione in double precision, utile per alcuni ambiti di calcolo GPU Computing, molto più elevata della prima implementazione fornita da GT200. Non solo il numero di stream processors è più che raddoppiato, ma la penalità data dall'elaborare in FP64 è sensibilmente più ridotta rispetto alla precedente generazione di GPU. G80, prima GPU NVIDIA per API DirectX 10, era del tutto sprovvista di supporto FP64.

schema_blocchi_gf100_5.png (29391 bytes)

Per ogni streaming microprocessor troviamo una cache dedicata da 64 Kbytes di capacità, partizionabile come memoria condivisa e come cache L1: i rapporti sono 1:3 oppure 3:1. Il rapporto è funzione del tipo di applicazione che viene eseguita: ricordiamo come GT200 integrasse una memoria cache da 16 Kbytes non partizionabile.

Ogni SM integra al proprio interno 4 texture units, per un totale quindi di 64 unità di questo tipo presenti all'interno di una GPU GF100 con 512 CUDA cores. Le textures units sono dotate di una propria cache dedicata integrata all'interno dello specifico SM.

schema_blocchi_gf100_4.png (8953 bytes)

A completare la gerarchia della cache segnaliamo anche la presenza di una cache L2 integra alla GPU, di tipo unificato tra i vari SM, in quantitativo di 768 Kbytes. La gerarchia della cache vede quindi ogni thread a gestire in primo livello la cache da 64 Kbytes integrata in ogni SM, divisa in un blocco condiviso e in un secondo blocco di tipo L1 con dimensioni che possono essere pari a 16K/48K oppure 48K/16K.

La cache L1 dedicata alle operazioni di load e store non era stata implementata da NVIDIA dell'architettura GT200; in GF100 permette di incrementare le prestazioni soprattutto con applicazioni di fisica e di ray tracing. La cache condivisa era invece presente in quantitativo di 16 Kbytes nelle soluzioni GT200: in GF100 può essere pari a 16 Kbytes oppure a 48 Kbytes, alternandosi in questo con quella L1 dedicata, così da avere a disposizione più cache per i dati che sono ricorrenti ta i vari threads.

schema_blocchi_gf100_3.png (13437 bytes)

A seguire troviamo la texture cache specifica per le 4 unità di elaborazione presenti in ogni SM, in quantitativo pari a 12 Kbytes: in questo caso il valore è rimasto invariato rispetto a quanto implementato nelle GPU GT200. Uscendo dallo specifico SM nel quale il thread viene processato si incontra la cache L2 unificata, triplicata in quantità rispetto a GT200 sino a 768 Kbytes, e a seguire il controller memoria GDDR5 da 384bit di ampiezza. Anche per il controller memoria, come menzionato per il numero di CUDA cores, è possibile che NVIDIA possa implementare alcune restrizioni per alcune versioni di schede GF100; uno scenario plausibile vede l'utilizzo di 10 chip memoria sulla scheda, con un bus da 320bit di ampiezza.

A completare l'architettura segnaliamo la presenza di 4 unit per le operazioni di rasterizzazione, ciascuna quindi collegata ad un blocco di 4 SM, e 16 Polymorph Engine, nome scelto da NVIDIA per indicare le geometry units, ciascuno integrato in un SM. Analizzeremo questo componente nello specifico nelle pagine seguenti, parlando di capacità di elaborazione geometrica delle soluzioni GF100. Per ogni GPU NVIDIA ha implementato 48 ROPs: a titolo di confronto le architetture ATI RV880, utilizzate nelle schede Radeon HD serie 5800, integrano 32 ROPs, al pari delle soluzioni NVIDIA GeForce GTX 200; per le schede G80 il numero era pari a 24.

GPU G80 GT200 GF100
CUDA core 128 240 512
ROPs 24 32 48
numero core per ROPs 5,3 7,5 10,7

E' interessante evidenziare come nelle varie architetture NVIDIA gli stream processors incrementino più che proporzionalmente rispetto al numero di ROPs, a confermare quanto importante sia la capacità di elaborazione degli shader nella generazione delle scene 3D più recenti.

Pagina 3 - Incrementare la complessità geometrica

Il problema legato alla complessità e al realismo geometrico affonda le radici sin dall'avvento dei pirmi videogiochi 3D. Ogni titolo sviluppato con moderne o meno tecnologie di rendering 3D è basato su poligoni geometrici: a partire da questi elementi e dalla bravura degli sviluppatori, si cerca di ricostruire in modo quanto più fedele possibile la realtà, per creare un videogioco che coinvolga e al tempo stesso diverta. Come facilmente intuibile, proprio l'utilizzo di poligoni per la creazione dei personaggi e delle ambientazioni all'interno dei videogiochi rappresenta il primo e più importante problema: il realismo geometrico, per quanto sia migliorato in modo incredibile nel corso degli ultimi anni è ancora ben lontano dall'essere veramente e visivamente reale. Anche i videogiochi di ultima generazione, a conti fatti, sono limitati dalle GPU e dalle loro capacità: i pixel sono ricreati fedelmente così come i colori, ma i dettagli geometrici mancano.

Come è facile notare in questi due screenshot tratti da una delle tante scene di Far Cry 2, non sono rari i dettagli che spesso incorrono in questo tipo di problemi: la spalla del personaggio in questione è tutto fuorchè stondata, con evidenti segni poligonali, così come la fondina della pistola. Se da un lato è lecito obbiettare che si tratta di dettagli è pur vero che sono proprio i dettagli a completare l'esperienza di realismo data da un videogioco. Un ulteriore esempio è dato dalla difficoltà nella rese delle capigliature: vi siete mai domandati perché nella maggior parte dei videogiochi i personaggi vestano sempre dei copricapi? Presto detto: la difficoltà di renderizzare i capelli rappresenta infatti spesso un problema.

Discorso a parte è invece quello legato al mondo del cinema tridimensionale: la possibilità di non dover gestire i dati real time e avere tempo per renderizzare le scene ha consentito di raggiungere e ottenere una qualità geometrica del tutto simile a quella che è la realtà che ci circonda. In questo particolare ambito le tecnologie di Tessellation e di displacement mapping hanno giocato un ruolo molto importante, diventando di fatto gli standard.

L'importanza quindi di avere una architettura che sia in grado di garantire un boost prestazionale non solo sotto il profilo dello shading ma anche a livello geometrico si è presentata come fondamentale per NVIDIA durante lo sviluppo delle architetture della famiglia Fermi. Inoltre la disponibilità delle nuove API, DirectX 11 grazie all'introduzione sul mercato del nuovo sistema operativo di casa Microsoft, ha rappresentato un ulteriore incentivo al supporto delle tecniche di Tessellation, fondamentali per ottenere sensibili miglioramenti in termini di realismo geometrico.

Pagina 4 - La tessellation implementata in GF100

Di tessellation e della sua implementazione all'interno delle DirectX 11 abbiamo già parlato in un articolo dedicato, disponibile a questo indirizzo. Come abbiamo avuto modo di sottolineare in precedenza, la Tessellation, unita al displacement mapping rappresentano due elementi fondamentali nella renderizzazione di una scena tridimensionale che sia quanto più possibile geometricamente realistica. Quello che è anche vero è che, a livello puramente prestazionale, l'implementazione di Tessellation comporta un importante degrado delle performance. A titolo di esempio riportiamo un test eseguito con Unigine Heaven e Radeon HD 5870, la scheda a singola GPU più performante ora come ora sul mercato:

Inutile commentare il grafico, che mostra un sensibile decadimento prestazionale in occasione dell'attivazione della tecnologia Tessellation. NVIDIA, con lo sviluppo di GF100 si è trovata così ad affrontare il problema relativo alla Tessellation e la sua relativa implementazione: Tessellation rappresenta un importante e fondamentale passo per lo sviluppo di videogiochi e applicazioni future e Fermi non può non essere in grado di supportarla correttamente.

Ma come è stato implementato il supporto a tale tecnologia? Una semplice aggiunta della tessellation alla pre-esistente architettura GT200 avrebbe rappresentato un collo di bottiglia importante per la gestione della geometria, a scapito diretto delle prestazioni. È stato quindi necessario studiare una implementazione nuova e in grado di rispondere in modo corretto alle nuove richieste che DirectX 11 comporta.

Lo sviluppo di una componente hardware dedicata e formata dal PolyMorph Engine e dal Raster engine e la sua implementazione all'interno dell'architettura rappresenta una delle novità fondamentali presenti in Fermi che fino ad ora non era stata chiarita. La vera sfida non è stata tanto quella di introdurre le unità di calcolo ma come integrarle in parallelo così da non incappare in eventuali colli di bottiglia con conseguenti cali prestazionali. Secondo i dati forniti da NVIDIA, le prestazioni geometriche che le nuove schede video GeForce GF100 sono in grado di garantire rispetto a quelle di GeForce GTX 285 sono circa di 8 volte superiori: è un incremento di fondamentale importanza, estremamente significativo se pensiamo che nel passaggio da NV30 a GT200 la potenza di elaborazione in termini di shader è aumentata di 150 volte, mentre quella poligonale solo di 3 volte.

Riproponiamo lo schema a blocchi del funzionamento delle GPU GF100:

schema_blocchi_gf100.png (42999 bytes)

Gli elementi in giallo rappresentano le nuove unità introdotte da NVIDIA e che caratterizzano Fermi: un PolyMorph Engine è presente per ogni SM mentre un Raster engine è dedicato ogni quattro SM. I vantaggi in termini reali di un design di questo tipo sono teoricamente quelli derivanti da una maggiore parallelizzazione dei calcoli, con relativi benefici in termini prestazionali: solo quando avremo GeForce GF100 in mano potremmo confermare questa teoria. A seguire riportiamo invece un grafico prestazionale proposto da NVIDIA stessa:

Come tutti i grafici forniti direttamente dalle società produttrici anche quello sopra riportato va preso con le dovute considerazioni: non abbiamo informazioni realtive alle frequenze di funzionamento di GeForce GF100 e tantomeno la possibilità di replicare questi dati. Il grafico offre una vaga indicazione delle prestazioni che la scheda video di prossima generazione è in grado di garantire, confrontate con quelli ottenuti da Radeon HD 5870. Non abbiamo avuto però modo di verificare i dati e sapere su quale piattaforma e in quali scenari questi siano stati realizzati.

Pagina 5 - GPU Computing e migliore qualità d'immagine

Uno degli elementi su cui NVIDIA ha da tempo investito molte risorse, come testimonia del resto l'acquisizione a suo tempo di Ageia, è rappresentato dall'utilizzo della potenza di calcolo della GPU per controllare anche altri elementi oltre a quello grafico all'interno dei videogioci. PhysX è il nome del motore dedicato all'accelerazione della fisica ma non solo all'interno di alcuni titoli attualmente in commercio: la possibilità di sfruttare una potenza di calcolo superiore rispetto a quella solitamente garantita dalla CPU consente così nuovi scenari di impiego. Il calcolo in tempo reale di fumo, tessuti e loro movimenti a seconda degli spostamenti sono solo alcuni esempi; NVIDIA intende continuare a spingere l'acceleratore su questi elementi, sottolineando come, grazie all'implementazione di PhysX i videogiochi possano raggiungere livelli di giocabilità e divertimento con pochi eguali. Nel corso del 2010 nuovi titoli saranno commercializzati e nuove implementazioni saranno rese pubbliche.

Tra i titoli che saranno caratterizzati da un vasto impiego di PhysX va nominato Metro 2033: il gioco, che uscirà a 2010 inoltrato potrà godere di una particolare gestione della profondità di campo, calcolata in tempo reale dalla GPU. A questo va aggiunto Dark Void, un titolo in cui, armi, superfici e jetpack sono gestiti completamente in real time grazie alla potenza della GPU.

L'introduzione sul mercato di GeForce GF100 consentirà inoltre di poter usufruire di una nuova modalità di Anti-aliasing: CSAA 32x (Coverage Sampling Antialiasing): rimane invariata la tecnica CSAA introdotta da NVIDIA con la propria serie di GPU GeForce 8, in grado di garantire un risultato confrontabile con la normale MSAA ma meno esosa in termini di risorse hardware. Nella nuova versione, più evoluta, CSAA 32x (8 color sample e 24 coverage sample) si presenta come in grado di andare a migliorare in modo sensibile molti dei difetti propri delle normali procedure di anti-aliasing.

Il confronto mette sullo stesso piano una immagine elaborata con CSAA 16x, offerta dalle attuali schede GT200 e CSAA 32x supportata da GeForce GF100. Non solo il filtro si rivela decisamente più accurato ma l'implementazione di TMAA (Transparency Multisample AA) offre una visione di insieme più precisa e naturale. Le particolari scelte legate allo sviluppo della nuova modalità CSAA hanno fatto inoltre in modo da andare a ridurre l'impatto prestazionale, come testimonia il grafico a seguire.

La possibilità di abilitare una modalità CSAA 32x sembra quindi avere un impatto molto contenuto sulle prestazioni velocistiche rispetto ad un tradizionale MSAA 8x, a tutto vantaggio di una superiore qualità d'immagine. Anche in questo caso attendiamo di poter avere a disposizione una scheda GeForce GF100 per poter confrontare i divari prestazionali e qualitativi tra le differenti modalità di anti aliasing messe a disposizione.

aa_performances.png (5743 bytes)

Le valide prestazioni velocistiche dichiarate da NVIDIA con CSAA 32x si abbinano al ridotto impatto prestazionale ottenibile passando da AA 4x a modalità 8x; è evidente come il gap prestazionale tra le due modalità sia ben più ridotto, in termini relativi, rispetto a quanto non accada utilizzando una scheda della famiglia GT200. NVIDIA ha inoltre implementato alcune ottimizzazioni qualitative per il TMAA, Trasparent Multisample Anti Aliasing, particolarmente evidenti in quelle scene che presentano elementi caratterizzati da un forte aliasing

Pagina 6 - La scheda

Memore di quanto accaduto lo scorso mese di Ottobre, quando al proprio GPU Technology Conference è stata eseguita la prima dimostrazione pubblica di una soluzione Fermi funzionante in un sistema demo ma mostrando ai presenti una dummy board non funzionante, NVIDIA non ha direttamente mostrato alla stampa la propria attuale revision di board GeForce basata su GPU GF100, benché di fatto questa possa considerarsi molto vicina alla scheda che verrà commercializzata presumibilmente a partire dal mese di Marzo.

Della scheda abbiamo al momento attuale solo alcune immagini parziali, grazie alle quali possiamo tuttavia esprimere alcune considerazioni sulla costruzione e sulle scelte tecniche fatte da NVIDIA. Tutte le foto sono state scattate in occasione del CES 2010, in concomitanza con pubbliche presentazioni allo stand dell'azienda e in alcuni press meeting.

foto_gf100.jpg (88049 bytes)

foto_sistema_gf100.jpg (93489 bytes)

Partiamo dalle dimensioni: la lunghezza complessiva è allineata a quella delle schede GeForce GTX 200 attualmente presenti in commercio, tale quindi da non creare problemi d'installazione nella maggior parte degli chassis sul mercato. In questo senso NVIDIA ha voluto mantenere una tradizione, non seguendo AMD che con le schede ATI Radeon HD 5870 e 5970 ha prodotto soluzioni molto performanti ma più lunghe e ingombranti.

Il design prevede un tradizionale dissipatore di calore, con ingombro di 2 slot sulla scheda madre, che ricopre completamente la parte superiore del PCB lasciando scoperta del tutto quella posteriore. In quest'area sono montati solo dei componenti superficiali, senza moduli memoria che sono invece presenti sul solo lato principale del PCB. Il bus memoria da 384bit di ampiezza richiede la presenza di 12 moduli memoria GDDR5, ciascuno collegato al controller memoria con bus da 32bit; dalla parte posteriore del PCB è possibile visualizzare i punti di contatto sul PCB per i 12 moduli memoria, montati attorno alla GPU GF100.

scheda_fermi_2.jpg (111794 bytes)
pannello posteriore delle schede GeForce Fermi: uno slot per i 3 connettori video (2 DVI e 1 HDMI), uno per la griglia di evacuazione dell'aria di raffreddamento

Il sistema di raffreddamento dovrebbe riprendere quanto sviluppato da NVIDIA per le schede a singola GPU della famiglia GeForce GTX 200; troviamo quindi una ventola che aspira aria dall'interno dello chassis, soffiandola sul radiatore posto a contatto sia con GPU sia con i moduli memoria GDDR5 e con la circuiteria di alimentazione. Al termine del percorso l'aria viene espulsa all'esterno del case, attraverso l'apposita griglia presente sopra i connettori per i display.

scheda_fermi_1.jpg (155956 bytes)
sistema triple SLI con schede GeForce Fermi, dotato di sistema di raffreddamento a liquido integrato per CPU, 3 GPU e chipset

NVIDIA ha eseguito al CES di Las Vegas varie dimostrazioni pubbliche di sistemi basati su schede GeForce Fermi, proponendo configurazioni a singola scheda, SLI e Triple SLI. Tutti i sistemi Triple SLI mostrati in funzione erano basati su sistema di raffreddamento a liquido, come quello mostrato nell'immagine. Se da un lato questa può essere considerata una scelta legata al design e all'estetica dello specifico sistema utilizzato nei demo, si può anche ipotizzare che l'utilizzo del istema di raffreddamento a liquido sia stato reso necessario a motivo dell'elevata dissipazione termica delle schede.

Che le GPU GeForce GF100 abbiano livelli di consumo elevato non è del resto un mistero; basti per questo considerare come ogni scheda venga alimentata con un connettore PCI Express a 6 pin affiancato da uno a 8 pin per giungere a questa conclusione. Le schede ATI Radeon HD serie 5800 integrano due connettori PCI Express a 6 pin, mentre la sola scheda Radeon HD 5970 dotata di due GPU richiede una coppia di connettori di alimentazione come la soluzione NVIDIA GeForce GF100. E' possibile che questi componenti cambino con la versione finale della scheda, ma riteniamo francamente questo scenario come poco probabile.

Pagina 7 - 3D Vision Surround

Una delle funzionalità che verranno implementate con le schede GeForce basate su architettura GF100 è quella 3D Vision Surround, mostrata in anteprima al CES di Las Vegas da NVIDIA. Come il nome lascia facilmente intendere, 3D Vision Surround permette di sfruttare la tecnologia 3D Vision su più schermi, 3, disposti in modalità surround cioè uno accanto all'altro. La risultante è una superficie di gioco estremamente estesa, con un senso di coinvolgimento ben più elevato di quanto sia possibile con un singolo schermo benché dotato di risoluzione elevata.

L'accostare 3 schermi permette di estendere la risoluzione orizzontale in modo sensibile, con un diretto impatto sulle prestazioni velocistiche complessive: la scheda video, infatti, dovrà generare il triplo dei pixel rispetto ad un singolo schermo a parità di risoluzione del pannello. Una tecnologia di questo tipo richiede quindi una notevole potenza elaborativa, e un corretto bilanciamento nel tipo di schermi che vengono utilizzati: la risoluzione video ideale, in questo senso, è quella di 1920x1080 pixel (o 1920x1200 pixel, a seconda dello schermo utilizzato), ottenendo con 3 schermi un risoluzione orizzontale di ben 5760 pixel.

Osservando questa nuova tecnologia NVIDIA è naturale fare un paragone con Eyefinity, l'approccio al surround gaming sviluppato da ATI per le proprie schede video della serie Radeon HD 5000. Eyefinity permette di gestire, con una particolare versione di scheda Radeon HD 5870 non ancora ufficialmente apparsa sul mercato, sino ad un massimo di 6 schermi contemporaneamente. L'approccio tradizionale compatibile con tutte le schede Radeon HD 5000 apparse sino ad ora in commercio prevede 3 schermi affiancati con i quali gestire la riproduzione dei videogiochi facendo si che il titolo riconosca la combinazione dei 3 schermi come se si trattasse di un solo pannello.

3dvision_surround.jpg (48736 bytes)
demo di sistema 3D Vision Surround mostrato al CES 2010

La strategia utilizzata da NVIDIA con 3D Vision Surround riprende di fatto quanto implementato da ATI con Eyefinity, limitandosi a 3 schermi gestibili contemporaneamente contro il massimo di 6 della tecnologia ATI, integrando però questa funzionalità con la tecnologia 3D Vision. NVIDIA conferma quindi di credere molto nella tecnologia 3D applicata al mondo videoludico, rendendo l'esperienza di gioco ancora più immersiva grazie all'estensione della risoluzione orizzontale data dall'affiancamento di 3 display. E' ovviamente possibile utilizzare la modalità surround anche senza abilitare la funzionalità 3D Vision, nel momento in cui non si voglia abilitare la funzionalità 3D con uno specifico titolo per esigenze del gioco o per preferenze personali.

Per poter operare correttamente con la propria tecnologia di surround gaming NVIDIA richiede necessariamente la presenza di almeno due schede video collegate tra di loro con tecnologia SLI. La compatibilità riguarda le schede GeForce della serie GTX 200, basate quindi su GPU GT200, oltre ovviamente a quelle GeForce con architettura Fermi basate su GPU GF100. La necessità di abbinare due schede è dettata da una considerazione pratica: ogni scheda GeForce GTX 200, e lo stesso vale per quelle GeForce Fermi, permettono di gestire solo un massimo di 2 schermi contemporaneamente per ogni GPU a prescindere dal numero di connettori per display siano integrati sulla scheda. La presenza di due schede collegate in SLI permette quindi di gestire i 3 schermi contemporaneamente, beneficiando inoltre della disponibilità di due GPU per tutte le elaborazioni 3D.

Al momento attuale ATI non ha ancora implementato il supporto CrossFireX alla tecnologia Eyefinity; di conseguenza non è possibile sfruttare la disponibilità di più GPU nel momento in cui si eseguono giochi su più schermi in modalità surround gaming, non sfruttando tutta la potenza di elaborazione che il sistema mette in teoria a disposizione. Con future revision di driver ATI Catalyst, attese nel corso del primo trimestre 2010, AMD implementerà supporto CrossFireX anche con configurazioni Eyefinity. NVIDIA ha superato questa limitazione, di fatto essendo obbligata a farlo: senza almeno due schede video la propria implementazione surround non può funzionare.

Questa considerazione ci lascia ritenere che la tecnologia 3D Vision Surround sia stata sviluppata da NVIDIA di fatto come una risposta, eseguita in modo molto rapido ad onor del vero, a quella Eyefinity di ATI. A giustificare questa affermazione due considerazioni: la necessità di usare due schede video in SLI con le schede GeForce GTX 200, e soprattutto la non implementazione all'interno delle GPU GF100 della possibilità di gestire più di 2 display contemporaneamente per ogni GPU, caratteristica che avrebbe permesso di sfruttare questa tecnologia anche con una sola scheda video presente nel sistema. Viene da pensare che la tecnologia 3D Vision Surround sia stata sviluppata da NVIDIA in un momento in cui era impossibile modificare la struttura base della GPU GF100, implementando al suo interno la possibilità di gestire contemporaneamente più di 2 display per volta: da questo il limite del richiedere una configurazione SLI anche con un sistema GeForce Fermi.

Di fatto l'utilizzo di due schede in parallelo è un requisito oltre che obbligatorio anche fortemente consigliato: le prestazioni velocistiche si riducono sensibilmente utilizzando 3 schermi in parallelo, mentre la tecnologia 3D implica per sua natura un ulteriore dimezzamento dei frames al secondo generati dalla scheda rispetto ad una configurazione 2D tradizionale. Avere a disposizione due GPU che operano in parallelo rende quindi l'impatto dei 3 schermi e della tecnologia 3D meno gravoso, permettendo di ottenere frames adeguati ad una sufficiente giocabilità.

3dvision_surround_2.jpg (29307 bytes)
3D Vision Surround con 3 videoproiettori, così da non avere cornici tra le immagini proiettate

Alcune ulteriori note tecniche in chiusura. Se la tecnologia surround tradizionale può operare con 3 schermi collegati al sistema che siano differenti tra di loro per modello e produttore, quella 3D Vision Surround richiede necessariamente l'utilizzo di 3 schermi identici; il dover gestire un segnale 3D implica refresh di almeno 120 Hz per ciascuno schermo, oltre alla necessità che non si presentino disallineamenti nei timings di ciascun monitor. NVIDIA ha confermato che al debutto delle schede GeForce Fermi rilascerà driver compatibili con 3D Vision Surround con queste schede e con le soluzioni GeForce GTX 200, dotati di bezel correction cioè della funzionalità che tiene in considerazione, nella riproduzione dell'immagine 3D su più schemmi, della presenza delle cornici dei singoli display.

Pagina 8 - Uno sguardo iniziale alle prestazioni

L'occasione di vedere in azione le prime schede basate su Fermi ci ha offerto anche la possibilità di valutare le prime prestazioni che la scheda video, di cui al momento non conosciamo le specifiche di funzionamento, è in grado di garantire. La sessione, per quanto estremamente contenuta, ha previsto l'esecuzione del solo benchmark integrato di Far Cry 2 impostato come segue:

La scelta di utilizzare un titolo come Far Cry 2 non è stata casuale: si tratta infatti di uno dei pochi titoli in cui le schede video ATI Radeon HD della serie 5000 fanno registrare prestazioni non ecellenti con filtro anti-aliasing attivato. A seguire riportiamo un breve grafico che mostra il posizionamento della nuova scheda GF100. La piattaforma hardware utilizzata da NVIDIA per il test comparativo è stata sviluppata su di una CPU Intel Core i7 960 affiancata da 6GB di dmemoria DDR3 in triple channel: i risultati ottenuti sono pertanto direttamente paragonabili a quelli che è possibile ottenere dalla nostra piattaforma di testing impiegata solitamente per il test delle VGA.

fc.png (22093 bytes)

Ripetiamo per completezza di informazione che i parametri di funzionamento della scheda video GeForce GF100 impiegata non sono in nostro possesso, così come la versione driver. NVIDIA ha eseguito sotto regime controllato i test con la nuova scheda sviluppata su architettura GF100 e messa a confronto con una normale GeForce GTX 285: i risultati per le schede NVIDIA sono quelli registrati in tale sessione.Abbiamo verificato i risultati della scheda GeForce GTX 285 replicandoli con la nostra piattaforma di test: la differenza registrata è abbondantemente all'interno del margine d'errore proprio di ogni benchmark. Nel caso dei test eseguiti con Radeon HD 5870 e Radeon HD 5850, portati avanti nel nostro laboratorio, i driver utilizzati sono stati i Catalyst 9.12.

I valori, per quanto eseguiti con un test ufficiale sono comunque da prendere con il beneficio di inventario: non sappiamo quali driver siano stati utilizzati o se siano state applicate particolari patch al gioco.

Aggiornamento del 19 Gennaio: abbiamo rieseguito i test con le schede Radeon, evidenziando un problema nel primo run di test con la nostra piattaforma di test che ci aveva condotto a risultati più bassi. Quanto riportato nel grafico si riferisce quindi ai valori aggiornati. Ci scusiamo per il disguido che questo possa aver generato.

Pagina 9 - Considerazioni

E' oggettivamente difficile poter trarre delle conclusioni su un'architettura di GPU, potendo avere a disposizione solo alcune delle specifiche tecniche e senza mettere alla prova una scheda con applicazioni. Per quanto abbiamo potuto conoscere dell'architettura Fermi, GF100 rappresenta per NVIDIA un progetto tanto importante quanto complesso: questa può essere una prima giustificazione del ritardo con il quale le prime schede GeForce GF100 debutteranno sul mercato.

L'utilizzo di una nuova architettura in abbinamento a una nuova tecnologia produttiva come quella a 40 nanometri è in genere un connubio che può far sorgere problemi in produzione. Questo è quanto sembra essere accaduto con le soluzioni Fermi GF100, che giungeranno sul mercato ben dopo quanto NVIDIA avrebbe ottimisticamente voluto. Non sappiamo quanto questo sia responsabilità di NVIDIA e quanto di TSMC, il partner produttivo: è evidente che al crescere della dimensione del die e del numero di transistor la probabilità che possano insorgere problemi nella produzione tende a crescere esponenzialmente.

Pensando alle schede GeForce GF100 con applicazioni gaming è evidente come un superiore realismo dei giochi 3D vada nella direzione di un utilizzo sempre più esteso delle tecniche di tessellation. Del resto queste sono alla base delle API DirectX 11, con AMD che già ne aveva implementato un proprio supporto in precedenti generazioni di schede della famiglia ATI Radeon HD. La complessità geometrica, ottenuta grazie alle tecniche di tessellation con un ridotto impatto prestazionale, rende le scene 3D sempre più realistiche e corrispondenti a quella realtà che gli sviluppatori di videogiochi vogliono sempre più ricreare.

La tecnologia 3D Vision Surround è un'altra delle novità che caratterizzerà il debutto delle soluzioni GeForce GF100. E' evidente come NVIDIA voglia cercare di fornire ai videogiocatori degli elementi tecnici che permettano di rendere il gaming su PC differente rispetto a quello su console, sfruttando le potenzalità del mezzo con strumenti che vadano oltre l'arricchimento della scena ma mirino a incrementare il realismo e la cosiddetta immersione nell'azione di gioco. Il risultato è quantomeno interessante, anche se la grafica 3D videoludica potrebbe non essere, da punto di vista del piacere di gioco, una soluzione ideale per tutti gli appassionati.

In chiusura, non possiamo non rimarcare quanto evidenziato nel corso della prima analisi delle specifiche tecniche delle soluzioni NVIDIA della famiglia Fermi. L'architettura GF100 è stata sviluppata da NVIDIA tenendo in massima considerazione le esigenze proprie delle elaborazioni GPU Computing. Un esempio su tutti è l'integrazione di vari livelli di cache, che hanno indubbiamente ripercussioni anche con utilizzi grafici della GPU ma che proprio con calcoli paralleli general purpose rappresentano la differenza.

Nell'evoluzione delle architetture NVIDIA più recenti, passando da G80 a GT200 sino a GF100, appare ben evidente come il peso delle elaborazioni GPU Computing sia diventato, a livello di scelte architetturali, sempre più importante. Questo non è avvenuto a discapito della parte videoludica, ma è chiaro come NVIDIA prefiguri la propria evoluzione futura, nel segmento delle GPU a più alte prestazioni, come sempre più legata a filo doppio ad un utilizzo del chip video per applicazioni che siano storicamente destinate alle CPU.

GALLERY: NVIDIA GeForce GF100
(per vedere la gallery, guardare la versione completa dell'articolo)