Costruttori: NVIDIA Formato: PCI-Express 16x 2.0 Chip grafico: NVIDIA GTX 280 Memoria on board: 1 GB GDDR3 Prezzi: € 549,00 IVA inclusa Link utili: http://www.nvidia.it
Architettura unificata di seconda generazione - parte 1
A tre mesi dal lancio della GeForce 9800 GX2, che ha coronato la recente gamma di schede grafiche GeForce 9, NVIDIA lancia una nuova reference ammiraglia: la GeForce GTX 280. Malgrado le versioni successive al G80, la GPU all'origine delle schede GeForce 8800, le performance non sono aumentate e la recente GeForce 9800 GTX è stata globalmente solo al livello della GeForce 8800 Ultra, uscita più di un anno fa. Da mesi in preparazione, la GeForce GTX 280 permetterà a NVIDIA di rinnovare la sua offerta entry level, mettendo così la parola fine a performance stagnanti da mesi. La GeForce GTX 280 si annuncia sulla carta come un mostro di performance, che affianca l'API proprietaria CUDA, permettendo di utilizzare il processore grafico come un co-processore. La nuova arrivata di NVIDIA ha un nuovo nome commerciale. Finita la serie GeForce 9, ecco arrivare le GPU GeForce della serie 200. Con questa nuova nomenclatura, NVIDIA porta maggiore chiarezza nella sua gamma. La GeForce GTX 280, nome in codice G200, possiede un'architettura differente dalla gamma GeForce 9. NVIDIA approfitta in effetti della GeForce GTX 280 per lanciare la sua seconda generazione di architettura grafica unificata. Con la G80, che ha fatto nascere la serie GeForce 8 e GeForce 9, NVIDIA aveva gettato le basi sulla sua prima architettura grafica unificata, dove la nozione di pixels pipeline e unità di vertex non esisteva più. Puttosto che dotare la GPU di unità fisse specializzate in determinati compiti, NVIDIA, come del resto AMD, ha dotato la sua GPU di unità riconfigurabili per lavorare indifferentemente su ogni tipo di dato. Così, in una scena carica di pixels shaders, piuttosto che avere come nella vecchia architettura DirectX 9, una parte delle unità destinate ai Vertex inservibili, tutte le unità della GPU in questo caso, si dedicano al trattamento dei pixels shaders, con le risorse utilizzate in modo efficiente. Queste risorse possono anche essere sfruttate per compiti che esulano la grafica 3D: la GPU può essere programmata per un uso che va oltre la grafica. Già da alcuni anni, diversi ricercatori e matematici hanno tentato di utilizzare la potenza della GPU per elaborare altri processi al di fuori del 3D: è quello che si chiama GP-GPU (general purpose GPU). Al contrario della CPU, la GPU ha un'architettura massicciamente parallela e particolarmente adatta ad alcuni tipi di calcoli (simulazioni finanziarie, compressione video, ecc.). Mentre le CPU sono concepite per offrire le migliori performance in funzione dei flussi d'istruzioni utilizzati, e dunque eseguire dati (threads) il più velocemente possibile, le GPU sono concepite per trattare un massimo di dati o threads di un certo tipo. Conseguenza logica, l'architettura dei due chip è differente: la maggior parte dei transistor di una CPU è consacrata alla memoria cache, una larga parte della GPU è dedicata invece alle unità di esecuzione. Fino ad oggi, nessuno standard è stato definito in modo chiaro per sfruttare le risorse della GPU in contesti oltre il 3D. Gli sviluppatori hanno dovuto in effetti utilizzare il loro codice sotto forma di pixel shaders per utilizzare la GPU come aiuto nei calcoli. Con l'evoluzione dei chip grafici, anche ATI e AMD hanno iniziato a porsi delle domande, apportando una propria soluzione. Con le GeForce 8800, NVIDIA ha introdotto il CUDA, la sua libreria di sviluppo che utilizzava un linguaggio molto conosciuto dagli sviluppatori, il C ed il C++. Divisa da una parte software con ambiente di esecuzione da un lato ed un driver dall'altro, l'API CUDA è praticamente trasparente per gli sviluppatori e necessita ovviamente di un chip grafico compatibile. Con la GeForce GTX 280, NVIDIA propone diverse migliorie nell'architettura per accelerare il trattamento dei programmi CUDA, prendendo in carico per la prima volta la doppia precisione. Per l'utente, CUDA ed i programmi che ne tirano profitto, è l'inizio di una nuova era, dove la GPU assiste la CPU per altri processi diversi dal 3D. Con le serie GeForce 8, GeForce 9 e GeForce GTX 200, NVIDIA vanta inoltre un parco di 70 milioni di GPU nel mondo che possono sfruttare i programmi CUDA. Inoltre la prossima versione del CUDA può anche essere utilizzata sulle CPU x86.
Per accompagnare il lancio della GeForce GTX 280, NVIDIA propone due applicativi che si basano sulla sua API CUDA. Abbiamo la versione NVIDIA del client Folding@Home. Un tempo disponibile in una versione funzionante con le schede grafiche ATI, Folding@Home è stato sviluppato, dall'Università di Stanford, per funzionare sulle schede grafiche NVIDIA attraverso il CUDA. Il principio è sempre quello del calcolo distribuito: un server invia ai client Folding@Home diversi dati da trattare e di conseguenza la scheda grafica va a risolvere i dati in questione. NVIDIA lavora anche con Elemental Technologies suullo sviiluppo di un convertitore software multimediale. Chiamato BadaBOOM, utilizza CUDA e quindi le risorse del chip grafico per effettuare il transcoding video verso il formato H.264, con diversi profili proposti (iPhone, iPod, PSP, PS3, Xbox 360, ecc.). Attenzione: si tratta di un applicativo a pagamento. Nei fatti, l'encoding video operato da BadaBOOM si rivela particolarmente veloce.
Con la GeForce GTX 280, l'architettura unificata è sempre presente, nonostante NVIDIA apporti qualche ritocco, ad iniziare dal numero dei processori di flusso e dalla loro organizzazione in seno alla GPU. Mentre le GeForce 8800 erano dotati di 128 processori di flusso, la GeForce GTX 280 ne comprende 240, quasi il doppio. In quest'ambito, NVIDIA tenta di confrontare i 240 processori di flusso del suo processore grafico con i quattro core che troviamo sui recenti processori Intel Penryn. Questa comparazione non vale affatto, considerato che i processori di flusso della GeForce GTX 280 non hanno le stesse capacità di calcolo dei quattro core di una CPU che utilizzano un set d'istruzioni x86 (come i processori AMD...).
|