Newsgroup: it.comp.hardware.video-3d
Titolo: GPU/VPU anche per accellerazione di rendering da software 3D. Come funziona sta cosa?

Salve :)
Ho cercato di capire come dovrebbe funzionare la cosa ma ancora ci
sono informazioni troppo contrastanti in giro.
Ricapitoliamo:
Ora se devo rendere animazioni di una certa complessita' ho bisogno
di:
1) Una o piu' licenze, o multilicenze specie 'integrali' per le
macchine dove devo anche modellare. Oppure avere licenze dei programmi
sempre in 'multi' ma legate piu' che altro sono al motore di rendering
distribuito e anche senza funzioni di editing.
2) Avere piu' PC, collegarli in rete e con il sofware a posto (vedi
sopra) assegnare/lanciare il calcolo.
Cosi' si parla normalmente di 'render-farm' (tanto per precisare)
Con le GPU/VPU o come si chiameranno (in particolare R300 etc visto
che perlomeno ESISTE e quindi se ne puo' parlare)
Si parla di plugin per 'accellerare' il rendering, ma in definitiva
questo che significa? Che potenzialmente posso/potro' sostituire
l'ambaradan della farm con schede stile 'MAXX' con piu' processori su
una stessa board e tramite questo 'plugin' delegare granparte del
calcolo a questi processori?
Che so, 'sparo' un file .rib ad uno di questi plugin e la scheda video
(o qualunque cosa sara' o come si chiamera') mi restituisce il/I
file/s generato/i a qualunque risoluzione chiedo e con qualunque
algoritmo di resa voglio (mapping o trace che sia) direttamente su
hard disk?
Ma intendo in modo che la VPU (o quello che e'/sara') prende o no i
dati che gli mando da elaborare in un modo e poi me li reinterpreta
(tramite plugin o quello che e') o no secondo altri algoritmi piu'
funzionali magari 'hard coded'?
SE e' buona la seconda avete idea di quanto si puo' risparmiare sia in
termini di licenze di software che di macchinosita' di sistema che di
costo dell'hardware?
Pero' sinceramente ancora non ho capito come diavolo dovrebbe
funzionare tutto cio', se qualcuno ne ha idea ...:)

calcolo a questi processori?
considerando quali sono gli attuali limiti delle schede video,
suppongo che l'idea sia di suddividere i compiti fra processore e
scheda - molti engine di rendering usano varie passate ognuna che
apporta uno "strato" di calcoli all'immagine (Setup poligonale,
rimozione dei poligoni inutili, aggiunta delle textures, luci di base,
luci ed ombre portate, luci ed ombre riflesse, filtri grafici vari
tipo alpha ecc...) - in teoria (teoria _mia_, non c'e' documentazione
in giro al momento quindi vado a naso) e' possibile che alcuni di
questi passaggi siano svolti dalla scheda video riducendo di un
fattore imprecisato la mole di calcolo al processore  - ad esempio le
fasi due, tre, quattro e sette della lista che ho riportato sono
tranquillamente fattibili da una gpu flessibile come quelle di r300,
nv30 e n10 mentre la prima e' ancora relativamente dipendente dal
processore e gli shader avanzati sono parecchio al di la' delle
attuali capacita' delle schede video...
questo su un sistema monomacchina - in una rendering farm il calcolo
viene suddiviso fra le varie macchine secondo le usuali soluzioni
mentre poi ogni singola macchina dovrebbe usare la suddivisione
cpu/gpu sulla prorzione a lei assegnata.
ripeto: questa e' soltanto una mia ipotesi sulla base delle
caratteristiche dichiarate delle varie schede - da qui a come (e se)
effettivamente sara' implementata la cosa e' tutta da vedere, e quali
saranno le prestazioni e' assurdo tentare di fare anche soltanto delle
supposizioni...
--
    (iao!!oai)                                    (ICQ: 10860566)
    //.aurizio
[WARNING!: togliete _nessuno_ per rispondere]
    Il segreto per essere considerato un creativo sta nel non fare
    mai riconoscere le proprie fonti [A. Einstein]

 ha scritto nel messaggio
news:ejdemukc7kcqrodv7...@4ax.com...

Secondo me hai ragione, alcune fasi del rendering verranno eseguite dalla
scheda video, mentre altre penso ancora dal processore, oppure potrebbe
essere che per esempio considerata la potenza delle attuali (r300) schede
video, magari questa esegua una percentuale (mettiamo il 20%) delle
operazioni e il restante 80% il processore, scaricando quindi un buon 20% di
lavoro. Beh tanto manca poco, si vedrà :-)

 lavoro. Beh tanto manca poco, si vedrà :-)
Ma torna a giocare con le micro machines, altro ke rendering e fasi ...
Io almeno ho il buon gusto di tacere visto ke ne so poco di questi
argomenti, tu invece procedi ad ovvietà ...

supposizioni...
Boh :)
Io sto cercando di capire a conti fatti COME questi annunci di GPU
usati come coprocessori possano in qualche modo essere di vantaggio,
specie rispetto agli standard odierni.
Sinceramente il fatto che si dica 'Ehila' questa VPU permette di
accellerare anche i calcoli' non mi dice tantissimo.
Mi auguro che le case che vogliano lanciare queste features perlomeno
prima o poi si decidano a rendere note caratteristiche SERIE che vanno
al di la' di uno screenshot che non dice proprio un bel niente.
Perche' se tutto cio' si risolve in vantaggi reali, concreti e
quantificabili potremi quasi rivedere con queste VPU famose lo stesso
impulso al mercato ad esempio del Videotoaster, che ha contribuito ad
allargare significativamente l'utilizzo di CG3D ed effettistica
nell'ambito televisivo (basti ricordare la serie tv Babylon V, la
spielbergiana Seaquest etc.). Se ad un ambito produttivo evoluto poi
si affiancheranno prodotti realizzati in 'subset' per il grande
mercato ne gioveremo tutti, dai videogiocatori ai realizzatori di
content vari, specie in ambito televisivo.

 fattore imprecisato la mole di calcolo al processore
C'entra proprio con questo una caratteristica di questo tipo?
"Back-end photo-realistic renderers producing stunning imagery that, for the
first time, can be accelerated in hardware"


Senti bamboccio, non intrommerti in discorsi per grandi, io non procedo per
ovvietà, ma dato che qua nessuno ha i dati in mano di queste vpu non
possiamo neanche determinare cosa, come e quanto calcolerà per alleggerire
la cpu. Forse non hai capito che io ci capisco qualcosa anche di
modellazione e rendering.....sei tu che dovresti tacere se le cose non le
sai invece di limitarti ad offendere (unica cosa che sei in grado di fare
con vera bravura)..

allargare significativamente l'utilizzo di CG3D ed effettistica
i tempi sono diversi - all'ora con il videotoaster si aveva una
macchina intorno ai 2000$ che competeva con ws dedicate da 70.000$,
non c'erano alternative "intermedie" - oggi chiunque puo' mettere le
mani su un programma di rendering 3d anche free e creare grafica con
il comunissimo computer di casa - l'unica differenza fra quello e le
soluzioni professionali e' il tempo necessario ad avere il
risultato...


 con vera bravura)..
"La cpu potrebbe continuare a fare l'80% del lavoro e far fare il restante
20 alla sk video" : cazzo ke discorso da grande, da vero veterano della
grafica 3d ...
Mugelli, digli k'è un genio, nn vedi cosa dice ?


LoL, manca solo che mi eleggiate come "mamma" del ng...
tanto per dirne una dovrei tagliarmi la barba... {e.g}


risultato...
Non sono d'accordo su un punto. E' vero che i tempi sono cambiati, ma
queste realizzazioni non sono alla portata di tutti, per un semplice
motivo. Se solo meno di una decina di anni fa erano sufficienti
due/tre pentium 133mhz per poter lavorare a livello piu' che decente
specie in ambito televisivo, ai giorni nostri la qualita' sempre
maggiore e la ricercatezza degli effetti comportano sempre di piu' dei
tempi di calcolo, paradossalmente, maggiore. E qua siamo d'accordo. 
Il problema e' che non e' solo questione di 'finisci prima o dopo' e'
questione di avere hardware molto potente, e molto piu' di uno o due
PC, praticamente nessuno studio ormai lavora senza render farm.
SE queste nuove VPU tanto pubblicizzate potessero essere utilizzate
realmente per diminuire i tempi di calcolo molti studi potrebbero
allargare tra le proprie offerte anche questo tipo di lavorazione.
Di fatto quindi ci sarebbe un piu' che potenziale allargamento del
bacino di utenza, con tutti i benefici che questo puo' portare con
se'. Senza considerare che se il sistema e' semplice ed immediato
anche il concetto di calcolo ridistribuito potrebbe man mano fare la
fine dei controller rs422 (vabbe' questa e' drastica ma non e' detto,
solo 4-5 anni fa nessuno avrebbe mai pensato di poter fare il play di
animazioni 3d facendone il play in tempo reale su un stream simil mpeg
ed in full broadcast overscan senza registrarle frame per frame
passandole per frame buffers e impazzendo di pre-roll ;)

 LoL, manca solo che mi eleggiate come "mamma" del ng...
Eheheh !!

 for the first time, can be accelerated in hardware"
Link direttamente legato a quello di cui parlavate:
http://www.ati.com/developer/sdk/radeonSDK/html/Tools/RenderMonkey.html
Opinioni?
Ciao
Fabio

allargare tra le proprie offerte anche questo tipo di lavorazione.
forse non hai capito quale fosse il mio punto: il video toaster quando
usci' fu una rivoluzione, all'epoca c'erano le workstation da svariate
devcine di kilodollari e stop - sotto di loro c'erano soltanto
soluzioni amatoriali.
nel nostro caso al massimo e' un'evoluzione delle soluzioni attuali,
non certo una rivoluzione.
diciamo - tanto per buttare una cifra ipotetica piu' o meno realistica
- che una delle nuove schede 3dLabs riesca a ridurre del 30% i tempi
di rendering, a pari macchine nella farm.
il 30% di tempo in meno significa veramente tanto, considerando quante
ore sono necessarie per fare il rendering di un filmato pubblicitario
da un paio di minuti, ma direi proprio che non sia assolutamente
sufficiente per creare nuovi mercati...



wrote:

A me basta l'introduzione del manuale del SDK che hai indicato ,
pregasi leggere fino in fondo ;)
"RenderMonkey Introduction
Many of the current challenges facing 3D graphisc application
developers are centered on creating and using Programmable Graphics
Shaders.
These programmable graphic shaders are the heart of all future
graphics chips. With the introduction od the Radeon 9000, the are now
supported on the entry level PC and will soon trickle down to all
other devices."
Mauriziooooooooo che dicevi sugli shaders ? ;-)))))))

sufficiente per creare nuovi mercati...
E hai ragione, ma se, semplificate specie come scene, sequenze, etc
sia per numero di poligoni, di textures, di luci, di complessita' di
animazione, si riuscisse ad ottenere un contributo 'compatibile' o
quanto meno 'paragonabile' specialmente tra real-time e pre-calcolato
ad esempio una sotware house di piccole/medie dimensioni, ad esempio,
puo' limitarsi ad impostare le scene che poi saranno calcolate in
tempo reale (ripeto, semplificate anche TANTISSIMO rispetto alle
pre-calcolate) sui pc degli utenti.
Ossia, se si riuscisse ad ottenere sia una eccellente ottimizzazione,
sia uno 'standard' lavorativo diffuso, hai idea di quanti studi
potrebbero fare a meno di render-farm e in che misura abbatterebbe i
costi la cosa? Si tratterebbe di avere le licenze per il motore di
rendering, ossia una licenza 'developer' su uno dei tanti 'kit'
esistenti, una-due licenze per calcolare e fare una 'preview' e lo
sviluppo dei contributi 3d ed il resto 'lasciato' agi pc degli utenti.
Le renderfarm sarebbero sempre indispensabili in ambito di produzioni
di una certa 'importanza', sia alla tv che al cinema, ma gli altri,
ossia gli sviluppatori di games potrebbero anche farne a meno,
'demandando' questi costi al'aggiornamento degli utenti, cosa che gia'
fanno col codice, non ottimizzandolo ma 'seguendo' e 'sperando' in una
evoluzione delle macchine installate, cosa che gia' ora si fa e non
solo col codice, ma anche con la realizzazione dei contributi.
Appunto questa 'sinergia' possibile di mezzi tra gli ambiti produttivi
e gli ambiti 'finali' la vedo, a livello di 'impatto' sul mercato
assai simile, e forse anche piu' incisiva sul B2C, del videotoaster.
In definitiva queste VPU potrebbero veramente allargare gli ambiti
produttivi attuali, come del resto appunto fece la Newtek solo qualche
anno fa.

 Mauriziooooooooo che dicevi sugli shaders ? ;-)))))))
Sarebbe interessantissimo conoscere a che punto sono e
quanto venga sfruttato ( vedi nVidia con Maxtreme ).
Le differenze tra 9700 e FireGL, quanto aiuti nei rendering, etc.
Postate le vs. opinioni :-)
Saluti
Fabio



zut zut zut, ci facciamo fregare dalle introduzioni? ^___-
stanno parlando di vertex e pixel shader, non di rendering
fotorealistico, continua a leggere... :-)
niente affatto male, comunque - come modulo di preview e' piu'
avanzato di qualsiasi cosa fattibile attualmente in software.


 calcolo a questi processori?
Io ritengo che non sia impossibile realizzare un motore di rendering
con tutta la pipeline gestita da una VPU.
Non ho esperienza diretta di programmazione 3d , ma ho codato un paio
d'anni nella demoscene e ora vi espongo le mie pippe mentali :PP
La svolta decisiva credo stia nell'introduzione del PixSha , più che
del VerSha.Con il PS dovrei poter controllare il rendering del singolo
pixel , perfetto allora.
Se prendiamo un materiale (o shader) chessò del vetro , ci sarà una
texture per il colore , una per la lucentezza e una per la refrazione
(semplifico).
Per ogni mappa ci sarà una procedura nell'asm della VPU oppure in Cg
non so , che grazie anche al T&L (appropò , supporta in HW anche il
calcolo delle normali e altre feature ?) calcola il valore per il pix.
Con le schede nuove , si potranno usare minimo 1K istruzioni , 65K coi
loop ... abbastanza direi.
Poi credo sia possibile cmq fare + di una passata PS ... mica dobbiamo
tenere i 60fps no ? ;P
Se tutto funziona insomma, considerando che ci saranno N unita PS ...
ci sono un sacco di MFlops in gioco ... perche usarli 'solo' per Doom3
:))
Lasciatemi sognare una Radiosity in tempi umani , e se ho detto
ca**ate non siate troppo Kattivi :-D
Ciao , 
 Mauro

avanzato di qualsiasi cosa fattibile attualmente in software.
Non solo come preview, questi chip hanno molte potenzialita' di
utilizzo nella 'programmabilita' che consentono, da qua ad adoperarli
proprio per questi motivi per velocizzare, od anche eseguire 'in
toto', shaders di terze parti, completamente programmabili, si possono
utilizzare in ben altro che in semplici preview :)