PDA

View Full Version : [Riflessioni] GPGPU, DX10.x e trend futuro


Simon82
10-11-2006, 11:25
Ciao,
stamane nella ora libera pre entrata a lavoro (:mc: ) mi leggevo le 69 pagine stampate dell'ottima recensione (che tra l'altro consiglio senza nulla togliere alla eccellente di Paolo) della 8800 GTX di Anandtech in cui c'e' una lunga prefazione sull'architettura che piano piano sta' mutando dalla ormai "vecchia" DX9 based all'attuale unificata.
Mi rendo conto nel leggere che questo termine non permette di capire seriamente a quale enorme modifica la statica sebbene programmabile architettura odierna vada incontro.
Si passa decisamente ad una struttura per moltissimi aspetti pari a quella di una CPU e gia' dal G80, che ora noi vediamo in recensioni piu' o meno dettagliate, la rivoluzione e' cominciata.
Con la perdita totale di una struttura dedicata alla grafica e l'inizio di una reale general purpose processing unit (forse avrebbe piu' senso chiamarla cosi GPPU) mi risulta indubbiamente piu' chiaro cio' che fino a poco tempo fa lasciava forti dubbi, uno su tutti l'acquisizione di ATI da parte di AMD. Le parole di Anand Lal Shimpi lasciano presagire sotto le righe un possibile interesse di Nvidia in un campo general purpose che potrebbe in futuro accumunare CPU e GPU. Questo lascia immaginare scenari davvero incredibili e spiega appunto l'interesse di AMD che fin'ora sembrava quasi non avere un idea di fondo certa nemmeno dalle stesse slide ufficiali (possibili implementazioni CPU-GPU on die per mercati handheld o mobile a basso costo non giustificano da soli 5,4 miliardi di dollari di spesa).
Da qui mi risulta riduttiva qualsiasi recensione in cui le questo genere di GPU viene testato con applicazioni sviluppate su API basate su architetture dedicate. L'aspetto dei benchmark nel futuro prendera' imho una sorte simile a quella dei bench disponibili per le cpu e gia' ora avrebbe piu' senso.
Forse per certi versi il retro della medaglia sara' una perdita di ottimizzazione a basso livello in ambito grafico (come si evince dal fatto che Microsoft non permetta di far compilare codice ASM ma solo high level language) sia quindi lato software che ovviamente hardware, ma apre possibilita' enormi e in questo insieme la fisica e' solo uno dei tanti aspetti.
Pensando a questo mi appare differente anche la figura di Ageia nell'attuale panorama videoludico. Con tutte le possibilita' sara' obbligata a offire anch'essa delle unita' di computazione generiche visto che gli aspetti in cui le "espansioni dedicate alla computer graphics in real time" ormai stanno perdendo il concetto unico di scheda video termine ormai superato con questa nuova generazione.

Solo una riflessione

toniz
10-11-2006, 11:30
Complimenti per avermi fatto capire qualcosina dal tuo discorso...
non ho letto l'articolo che dici ma il succo e' che si apre un ventaglio molto ampio di possibilità se la GPU diventa meno specifica ma piu' "aperta"...
penso di avere capito giusto no??? :fagiano:

ci ritroveremo un computer nel computer??? :eek:
ciao ;)

Simon82
10-11-2006, 12:19
Complimenti per avermi fatto capire qualcosina dal tuo discorso...
non ho letto l'articolo che dici ma il succo e' che si apre un ventaglio molto ampio di possibilità se la GPU diventa meno specifica ma piu' "aperta"...
penso di avere capito giusto no??? :fagiano:

ci ritroveremo un computer nel computer??? :eek:
ciao ;)
In qualche modo e' cosi' e se ci si pensa un'attimo non e' lontano un mondo in cui GPU e CPU saranno molto simili se gia' non lo sono. Le CPU dalle GPU stanno prendendo spunto sulla parallelizzazione per essere piu' aperte a molteplici funzionalita' cosi' come le GPU piano piano si accomunano alle prime per semplicita' dell'architettura che gli permette di raggiungere anche frequenze piu' alte (vedi gli 1,35ghz degli stream processor del G80) e coprire richieste di mercato che vedono la grafica quasi in secondo luogo. In effetti ci si rende facilmente conto che la grafica 3D rinnovata di generazione in generazione non copre aspetti che attualmente le soluzioni grafiche non sono in grado di gestire. In tutto questo la fisica imho ne ricopre uno ma non e' certo l'unico.
Con il concetto di GPGPU e la realizzazione software che Nvidia ha sfornato cioe' quella dei tool di sviluppo in C e drivers dedicati alle applicazioni general purpose che per lo piu' possono girare contemporaneamente al comparto grafico, si apre un concetto di multithreaded execution che unito a quello del multicore delle attuali cpu fa impallidire per le possibili potenzialita'. Ci si stupiva dei core del Cell ma il futuro su PC sembra davvero ottimo imho.

Simon82
10-11-2006, 22:17
:stordita:

ATi7500
10-11-2006, 23:31
:stordita:
una gran bella riflessione la tua; solo che non capisco in che modo una GPPU (come la chiami tu) possa essere più potente di un attuale CPU; insomma osservando singolarmente gli sviluppi delle CPU e GPU si vede come le seconde siano andate verso una sempre maggiore "astrazione" e quindi programmabilità, assomigliando sempre più a delle unità di calcolo generiche che a processori specifici per la grafica. Insomma la mia domanda è: perchè le CPU attuali, processori general purpose, sono più lenti in termini di capacità di calcolo delle nuove GPPU?

bYeZ!

ATi7500
10-11-2006, 23:44
Trovo molto interessante questa parte della recensione di Anandtech:

If DirectX 10 sounds like a great boon to software developers, the fact that DX10 will only be supported in Windows Vista is certain to curb enthusiasm. Other than Vista-only games, all developers will still be required to support DX9 in order to keep the installed Windows XP user base as part of their target market. Some developers have actually made comments to the effect that DX10 is more of a headache than a help right now, and that won't change until they are able to abandon support of older hardware. Hopefully, the DX10 performance and feature benefits will be enough to encourage people to upgrade sooner rather than later, but if the past is any indication it could be several years before DX9 is abandoned by the majority of users and developers.

si parla addirittura di parecchi anni prima che gli sviluppatori si concentrino sul mercato Dx10 :eek:

bYeZ!

sv4
10-11-2006, 23:55
uhm, interessante questa cosa dei tempi di sviluppo delle DX10...

Caterpillar86
11-11-2006, 01:10
Cosa sapete dirmi invece sulle novità delle OpenGL 2.0? Dobbiamo aspettare il prossimo gioco di Carmack per scoprirne le potenzialità? :asd:

Simon82
11-11-2006, 07:28
una gran bella riflessione la tua; solo che non capisco in che modo una GPPU (come la chiami tu) possa essere più potente di un attuale CPU; insomma osservando singolarmente gli sviluppi delle CPU e GPU si vede come le seconde siano andate verso una sempre maggiore "astrazione" e quindi programmabilità, assomigliando sempre più a delle unità di calcolo generiche che a processori specifici per la grafica. Insomma la mia domanda è: perchè le CPU attuali, processori general purpose, sono più lenti in termini di capacità di calcolo delle nuove GPPU?

bYeZ!
Ad una prima analisi direi proprio grazie all'enorme parallelizzazione che da sempre diversifica CPU e GPU e che permette a quest'ultime di essere considerate di lunga superiori alle prime, sebbene fino a ieri la struttura ormai solidificata della catena vertex e pixel processing non permettesse (almeno fino all'avvento dei pixel shaders e quindi di unita' molto piu' flessibili alla programmazione) una astrazione significativa. Ora invece questa astrazione sembra totalmente riuscita e imho scenari in cui le GPPU verranno utilizzate come "co-processori" non mi sembrano cosi' lontani. Se il passato serve come esempio (guardando alle vecchie FPU esterne)e appunto basandosi sul perche' avvengono acquisizione enormi tra aziende come AMD e ATI, non mi stupirei che con la continua miniaturizzazione dei processi produttivi vedremo CPU e GPPU in uniche soluzioni tali da implodere in soluzioni totalmente astratte dallo scopo.

Simon82
11-11-2006, 07:30
Trovo molto interessante questa parte della recensione di Anandtech:

If DirectX 10 sounds like a great boon to software developers, the fact that DX10 will only be supported in Windows Vista is certain to curb enthusiasm. Other than Vista-only games, all developers will still be required to support DX9 in order to keep the installed Windows XP user base as part of their target market. Some developers have actually made comments to the effect that DX10 is more of a headache than a help right now, and that won't change until they are able to abandon support of older hardware. Hopefully, the DX10 performance and feature benefits will be enough to encourage people to upgrade sooner rather than later, but if the past is any indication it could be several years before DX9 is abandoned by the majority of users and developers.

si parla addirittura di parecchi anni prima che gli sviluppatori si concentrino sul mercato Dx10 :eek:

bYeZ!
In effetti credo che le DX10 siano un'arma a doppio taglio per gli sviluppatori. Concentrarsi si questa architettura permette cose fantastiche ma risulta completamente incompatibile con le precedenti a tal punto che rendere compatibile un titolo significa imho scriverne quasi uno nuovo per entrambe le api.