Fisica e GPU: un connubio in declino

Fisica e GPU: un connubio in declino

Ne corso del 2006 NVIDIA e ATI hanno dato ampio spazio alla gestione della fisica con GPU, non riuscendo tuttavia a concretizzare in prodotti destinati al commercio.

di pubblicata il , alle 12:50 nel canale Schede Video
NVIDIAATI
 

Nel corso del 2006 sia NVIDIA che ATI hanno presentato i propri approcci per gestire le elaborazioni legate alla fisica utilizzando non il processore, ma la GPU per questi calcoli. L'obiettivo non dichiarato era quello di vendere in ogni sistema destinato ai videogiocatori una GPU in più, quello invece espresso a più voci era la volontà di fornire un maggiore realismo delle scene 3D generate nei giochi più recenti, con una migliore e più realistica interazione degli oggetti dal piano fisico.

Come ottenere questo risultato, secondo la ricetta di NVIDIA e ATI di quel tempo? Abbinare una seconda GPU, o una terza nel caso di configurazioni multi GPU con tecnologia SLI o Crossfire, per veicolare buona parte delle elaborazioni legate alla fisica dei giochi verso la GPU. L'obiettivo era quindi quello di sfruttare la notevole potenza di calcolo delle più recenti GPU in commercio per elaborazioni parallele, sgravando da questo il processore di sistema e incrementando il numero di oggetti nella scena 3D con interazioni di tipo fisico.

Per analogia con quanto è avvenuto nel corso del 2007, lo spostare la fisica dei giochi dalla CPU alla GPU altro non è che una delle possibili interpretazioni dei modelli GPGPU, per i quali elaborazioni di tipo General Purpose vengono indirizzate dalla CPU alla GPU potendo in questo sfruttare la notevole potenza elaborativa di questi componenti.

ati_physics.jpg (33680 bytes)
la fisica secondo ATI, nel 2006: sino a 3 schede video per sistema, 2 per il rendering e la terza per la fisica

Tutto questo, oltre ad hardware e a driver in grado di sfruttare le risorse della GPU, richiede ovviamente anche un componente software integrato all'interno del codice dei vari giochi 3D. Il più utilizzato, soprattutto da ATI e da NVIDIA per mostrare le proprie tecnologie hardware, è stato quello Havok, con l'ultima evoluzione Havok FX a permettere, sulla carta, nuovi livelli di integrazione delle elaborazioni legate alla fisica degli oggetti nei più recenti giochi 3D.

Questa la teoria della gestione della fisica via GPU, quantomeno stando agli approcci di ATI e NVIDIA. All'atto pratico nessuna delle due aziende è stata capace di dare una concretizzazione ai propri approcci legati alla gestione della fisica nei giochi 3D, non tanto per mancanza di interesse da parte di queste due aziende quanto per il ridotto supporto nei giochi dato alle GPU per elaborazioni fisiche.

A questo si deve aggiungere il cambio radicale avvenuto all'interno di Havok: l'azienda è stata infatti acquistata da Intel nel corso degli scorsi mesi, con l'obiettivo per il produttore americano di assicurarsi una posizione importante all'interno del panorama delle schede video 3D sia pensando al lancio delle proprie soluzioni Larrabee, che in previsione della crescente importanza della fisica all'interno dei giochi dei prossimi anni.

In realtà il risultato non dichiarato al quale è arrivata Intel con l'acquisizione di Havok è stato sicuramente quello di fermare qualsiasi tipo di evoluzione di approcci di gestione della fisica via GPU. Il poco sviluppo portato avanti da NVIDIA e ATI per la fisica sulle GPU si è quindi definitivamente sospeso, in attesa che uno standard di mercato, nella forma di un set di API specifico per la fisica, faccia la comparsa.

Questo avverrà presumibilmente solo con le API DirectX 11, che Microsoft sta sviluppando in questo momento ma il cui debutto non è di certo atteso a breve. Con le DirectX 11 avremo un set di funzionalità addizionali specificamente pensate per facilitare la gestione della fisica ai games developer, con l'obiettivo quindi di creare scenari più realistici e, per i produttori di GPU, poter arrivare a implementare in modo più semplice le elaborazioni fisiche direttamente nella GPU.

nvidiai_physics.jpg (11823 bytes)
SLI Physics: questo il logo NVIDIA per il proprio approccio alla fisica via GPU

Non possiamo tralasciare il ruolo svolto da Ageia, azienda che ha sviluppato sia una componente software per i games developer che una propria architettura hardware, una PPU (Physics Processing Unit) montata su schede dedicate dotate di connessione PCI oppure PCI Express. La diffusione di queste soluzioni, nonostante l'interesse di alcuni importanti OEM internazionali, è stata complessivamente molto ridotta, relegando Ageia ad una nicchia molto ridotta del mercato: in questo momento Unreal Engine, motore grafico utilizzato da Unreal Tournament 3 e da numerosi altri titoli di prossima commercializzazione, supporta queste architetture per una migliore gestione della fisica ma nel complesso si tratta di approcci non tali da giustificare, per l'ampio pubblico, l'acquisto di una PPU dedicata prodotta da Ageia.

Lo sgravare il processore di sistema dalle elaborazioni fisiche era un modello nato alla luce della limitata potenza di elaborazione delle GPU: poter togliere, almeno in parte, queste ultime da tutti i calcoli legati alla fisica, infatti, permette di rendere disponibili più risorse della CPU per altre elaborazioni legate ai giochi. In un mercato nel quale le architetture di CPU vanno sempre più verso approcci multicore, tuttavia, questa esigenza sembra sempre più venir meno, a meno che il modello di programmazione della fisica via GPU non permetta di ottenere radicali e tangibili benefici non tanto a livello prestazionale, quanto di realismo nella generazione della scena 3D.

E' in ultima analisi questo l'obiettivo dei games developer, ora che i budget per i giochi più complessi e i loro tempi di sviluppo si avvicinano a quelli dei film: poter fornire un'esperienza di gioco che sia la più completa e affascinante per il videogiocatore, ma che allo stesso tempo dia la sensazione di essere sempre più avvolti da un ambiente che sia non solo di gioco ma il più vicino possibile alla realtà.

56 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
El Bombastico20 Novembre 2007, 13:00 #1
Con il proliferare di core all'interno dei processori per me è inutile mettere un'altra scheda video; che si diano una mossa con l'ottimizzazione software! Abbiamo pc simili a ferrari con il cambio bloccato sulla prima ( e in molti casi ridotta!)
Dexther20 Novembre 2007, 13:02 #2
Bell'articoletto
leddlazarus20 Novembre 2007, 13:04 #3
oppure

un domani avremo gpu multicore dove uno potrebbe essere preposto alla fisica.
beatoangelico12820 Novembre 2007, 13:07 #4

sprechi...

Ciao a tutti, premetto che non voglio scatenare flame. Ma quando leggo queste cose nn posso fare a meno di dire "che spreco". Abbiamo dell'hw già molto potente. Io penso molto che nn serva più effettivamente potenziare aggirare il problema essenziale che nessuno vuol toccare: la programmazione stessa. Forse farò male, ma già provate a vedere le differenze fra i S.O. Win, Linux, MacOSX
girano tutti su intel(o x86 compatibili). Eppure solo uno di loro sfrutta a pieno le potenzialità. Questo per quanto riguarda le prestazioni generali. Io penso, dal ragionamento riguardante gli O.S, che sia solo un problema di librerie mal sviluppate! Cioè Io ho una 7900GT, Call Of Duty2 va alla stragrande, GTA San Adreas va uguale ma una grafica che fa ...Ridere basta? E' vero nn sono equiparabili i due giochi ma, pensiamo già a quanto sia più leggero il codice di call of duty. Penso perciò, che il problema principale siano le librerie che non sfruttano l'hw che già c'è. Chiedo scusa se son andato troppo fuori tema, ma nn posso proprio vedere l'hw che cresce e il sw che indietreggia perchè ai programmatori nn va di programmare bene.
faber8020 Novembre 2007, 13:08 #5
che sconclusionati.......ma si aspettano davvero che la gente (anche solo gli entusiast) si installi 2-3-4 schede video ? si limitano a fare solo multi crossfire, quando dovrebbero concentrarsi sulle singole schede multi gpu, limitandone consumi e dissipazione (e naturalmente ottimizzandone i driver)

... io che ho sempre comprato Ati (per i buoni prodotti, nn per fanboysmo) penso che sia ormai un'azienda priva di competitività, se nn sui prezzi
uvz20 Novembre 2007, 13:22 #6
>Con il proliferare di core all'interno dei processori per me è inutile mettere un'altra scheda video; che si diano una mossa con l'ottimizzazione software! Abbiamo pc simili a ferrari con il cambio bloccato sulla prima ( e in molti casi ridotta!)

Sono pochissimi i sw professionali che sfruttano veramente il multicore. Sono difficile da programmare per bene. Quello che faranno con i sistemi casalinghi sarà una specie di adattamento generale, ma niente di più.

Le schede video odierne sono già potentissime. Facciano andare tutti i giochi a 30 FPS (come erano impostati le primissime ver. Direct X) e così potrebbero benissimo alzare la qualità grafica.

Semplificando per creare una scena 3D ci sono 5 elaborazioni.
Nvidia con la prima GeoForce spostò una di queste elaborazioni dalla cpu alla gpu; così la gpu si dedico da 2 a 3 fasi (chi si ricorda meglio ci illumini di più.
Dovrebbero spostare altre fasi nelle gpu. Allora si che la qualità ne risentirebbe.
Sp4rr0W20 Novembre 2007, 13:36 #7
Originariamente inviato da: beatoangelico128
Ciao a tutti, premetto che non voglio scatenare flame. Ma quando leggo queste cose nn posso fare a meno di dire "che spreco". Abbiamo dell'hw già molto potente. Io penso molto che nn serva più effettivamente potenziare aggirare il problema essenziale che nessuno vuol toccare: la programmazione stessa. Forse farò male, ma già provate a vedere le differenze fra i S.O. Win, Linux, MacOSX
girano tutti su intel(o x86 compatibili). Eppure solo uno di loro sfrutta a pieno le potenzialità. Questo per quanto riguarda le prestazioni generali. Io penso, dal ragionamento riguardante gli O.S, che sia solo un problema di librerie mal sviluppate! Cioè Io ho una 7900GT, Call Of Duty2 va alla stragrande, GTA San Adreas va uguale ma una grafica che fa ...Ridere basta? E' vero nn sono equiparabili i due giochi ma, pensiamo già a quanto sia più leggero il codice di call of duty. Penso perciò, che il problema principale siano le librerie che non sfruttano l'hw che già c'è. Chiedo scusa se son andato troppo fuori tema, ma nn posso proprio vedere l'hw che cresce e il sw che indietreggia perchè ai programmatori nn va di programmare bene.



mi spiace dirtelo ma non è che se uno ha mac os x con una 2400XT i giochi ti vanno più veloci eh

e i giochi cominciano anche a farli... poi non si sa perchè per un imac ti chiedono 1500 e passa euro con schede grafiche pietose
mak7720 Novembre 2007, 13:36 #8
il futuro è un processore quad core, 2 core dedicati al general purpose, 1 core per calcoli grafici potrà dare una mano alla scheda video e un core per calcoli fisici si occuperà esclusivamente di questo... quando si arriverà ad 8 core potremo avere 3 core occupati da una GPU, 2 core per calcoli fisici, 3 core per il calcolo general purpose...

e a quel punto la cpu andrà raffreddata ad azoto liquido
gabi.243720 Novembre 2007, 13:38 #9
Qua la gente pensa che la cpu si possa paragonare a una gpu...

Ma così non è, una gpu è decine di volte più potente di una moderna cpu multi-core...ma solo nei calcoli che può fare! E' lì il problema
Darknight1320 Novembre 2007, 13:39 #10
La programmazione multithreading la conosce qualsiasi programmatore che abbia avuto la decenza di frequentare l'universita' o che semplicemente s'e' letto qualche documento in proposito. Non c'e' nulla di trascendentale, francamente io ho l'impressione che a parte qualche raro caso i programmatori di videogiochi non siano poi gran che, di certo non sono ai livelli dei programmatori di applicazioni enterprise che masticano roba decisamente piu' complessa tutti i giorni.
Concludendo, sono d'accordo con chi dice che l'hardware fa gia' anche il caffe' e che il lato software e' quello che fa ridere i polli.

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.
 
^