Re: PS3 .. ma come, una GPU ?!?
Von: Davide Pasca (dpasca@gmail.com) [Profil]
Datum: 23.01.2007 09:41
Message-ID: <1169541684.633522.117560@s48g2000cws.googlegroups.com>
Newsgroup: it.comp.giochi.sviluppo
Datum: 23.01.2007 09:41
Message-ID: <1169541684.633522.117560@s48g2000cws.googlegroups.com>
Newsgroup: it.comp.giochi.sviluppo
marcotti@gmail.com wrote: > Davide Pasca wrote: > Non sei obbligato ad avere un flusso ben definito di dati in uscita ed > in entrata ma e' ovviamente meglio fare in modo che sia cosi' se vuoi > sfruttare le SPUs come si deve. Non sei neanche obbligato a guidare la macchina sulla strada asfaltata.. 8) > Non sono d'accordo, i videogiochi sono strapieni di strutture alla > quale puoi accedere in maniera regolare, e anche quando non e' > cosi' e' sposso possibile regolarizzarle, almeno entro certi limiti. Da come la vedo io, i calcoli vettoriali nei giochi servono a tre cose: la grafica e la fisica, e l'audio. L'audio pesa poco. La fisica e la grafica (che potrebbero essere accomunate), tendono ad essere ottimizzate tramite strutture gerarchiche, matrici sparse, alberi, etc. Il problema maggiore nella grafica 3D e' l'illuminazione globale, un problema con complessita' quadratica, che mette in relazione ogni elemento con gli altri elementi. Nel caso dell'audio o dell'image processing, essendo 2D, si puo' tranquillamente lavorare con elementi discreti e processare tipo DSP, nel caso del 3D, l'eventuale voxel richiederebbe troppa memoria, per cui si ottimizza utilizzando primitive geometriche.. non si tratta piu' di DSP puro e il processore che cruncha numeri comincia a sentire il peso il peso dell'accesso random. ..questo volevo dire. > Non vedo dove sia il problema: l'esempio che hai fatto e' esattamente > una di quelle cose che girano in maniera estremamente efficiente > su SPUs. Puoi tranquillamente usare la CPU per decidere cosa e' > visibile E l'idea di batchare cose con la CPU, di dati spezzettati che va contro al concetto di processore indipendente. > e cosa e no e per costruire una lista di jobs per le SPUs: una volta > che la lista del lavoro da fare e' pronta si parte.. (anzi, non devi > manco > aspettare che sia completa.. :) ) I risultati pero' spero che li aspetti 8P > anche questo non vedo che particolare problema sia, nessuno ti obbliga > a scrivere il codice piu' ottimizzato dell'universo. ..vabbe' allora diamo per assunto che gli SPU sono programmati alla meno peggio e facciamo finta che sono 3 e mezzo anziche' 7 8) > Programmare su SPU equivale a saper programme in C/C++ con qualche > restrizione sui dati, tutto qui. Ovviamente c'e' sempre il problema del > MT, > ma quello ce l'hai comunque..pure su 360 :) Yeah, ma su 360 mando in MT un pezzo di codice qualsiasi. Un sottosistema intero con dei locks molto generici. > Esattamente l'opposto, su CUDA e' compito dello sviluppatore > decidere come distribuire il lavoro, in quanti task, gruppi di task, > thread, etc.. > Nun ze po' 'dddi de piu' perche' c'e' l'NDA..ma quando l'SDK > sara' pubblico mi sa che non ti piacera' tanto.. ;) L'SDK ce l'ho, ma come ho detto ho letto comunque poco.. In generale mi piace il concetto di "highly multithreaded coprocessor". Notare che personalmente so poco di calcolo parallelo, sicuramente il Cell ha potenziale, ma la questione e' quanto sia facile usarlo decentemente nei giochi piuttosto che nelle ricerche dalla IBM. baubau Davide[ Auf dieses Posting antworten ]
Antworten
- Antonio Martini (23.01.2007 11:57)
- Davide Pasca (24.01.2007 00:43)
- Poster (24.01.2007 12:00)
- GiO (24.01.2007 14:37)
- Davide Pasca (25.01.2007 03:25)
- GiO (25.01.2007 16:06)
