View Full Version : Pathscale cerca una alternativa a CUDA e OpenCL
Redazione di Hardware Upg
28-04-2010, 08:20
Link alla notizia: http://www.hwupgrade.it/news/skvideo/pathscale-cerca-una-alternativa-a-cuda-e-opencl_32390.html
PathScale è intenzionata a ritagliarsi una presenza nel settore delle elaborazioni GPU Computing, facilitando il lavoro degli sviluppatori software, con un proprio compilatore
Click sul link per visualizzare la notizia.
Sembra infatti che PathScale donerà 3 schede Fermi al team di Nouveau per reverse engineering.
Nouveau è il progetto più attivo ed avanzato nello sviluppo di driver nVidia open-source.
Boh.. sinceramente a me sembra di vedee una sempre crescente frammentazione di linguaggi e soluzioni che creano ancora più confusione di quella che già c'è!
Senza contare poi il fatto che nonostante il tanto sbandierare soluzioni e kit di sviluppo ad oggi la presenza di software UTILE in ambito desktop che faccia un uso della GPU è praticamete ZERO.
Boh.. sinceramente a me sembra di vedee una sempre crescente frammentazione di linguaggi e soluzioni che creano ancora più confusione di quella che già c'è!
Senza contare poi il fatto che nonostante il tanto sbandierare soluzioni e kit di sviluppo ad oggi la presenza di software UTILE in ambito desktop che faccia un uso della GPU è praticamete ZERO.
Ed il motivo è proprio la complessità di programmazione, a cui il progetto Terascale vuole porre rimedio.
Il fine di PathScale è quindi quello di fornire strumenti che possano sia ottimizzare lo switch alla GPU di quelle applicazioni che richiedano una parziale integrazione del codice per poter venir eseguito sulla GPU, sia gestire in modo completamente automatizzato il passaggio del codice dalla CPU alla GPU, di fatto semplicemente attraverso una operazione di ricompilazione fatta dallo sviluppatore.
La radicale differenza di architettura tra CPU e GPU impone una radicale differenza nel modo in cui si scrivono i programmi, a mio parere è impossibile avere un compilatore in grado di far girare lo stesso codice sull'una o sull'altra, a meno di pagare un prezzo enorme in termini di prestazioni (e in questo caso sarebbe totalmente inutile).
The_Saint
28-04-2010, 09:27
Senza contare poi il fatto che nonostante il tanto sbandierare soluzioni e kit di sviluppo ad oggi la presenza di software UTILE in ambito desktop che faccia un uso della GPU è praticamete ZERO.Questo non è vero, pian piano i software arrivano: Adobe Photoshop ed i principali software di modellazione 3D già fanno uso intenso della GPU (per citare i primi che mi vengono in mente)... non mi pare che siano software inutili... :p
Anche il nuovo Falsh Player utilizza la GPU per accelerare i video, per non parlare dei vari media player con supporto CUDA, etc...
la potenza dell'open-sources !
AleLinuxBSD
28-04-2010, 10:07
Lato sviluppatori, almeno in ambito open, temo sia difficile riscuotere interesse:
PathScale EKO Compiler Suite (http://www.pathscale.com/node/223)
Lato utente finale, come utente linux.
nVidia e parzialmente Ati non rilasciano tutte le specifiche dei loro prodotti ma, al contempo, per lo sviluppo di questi driver è richiesta la collaborazione della community.
Quindi presumo saranno open e free.
Ma basandosi sulle specifiche open o con il reverse engine non possono essere completi di tutte le funzionalità presenti nell'hardware.
Se invece fossero completi, dovrebbero fare accordi con nvidia ed ati, ma allora non potrebbero rilasciare driver open.
publiorama
28-04-2010, 10:23
Premetto che sviluppo su OpenGL/CL da molto tempo, mi scontro con le GPU e relativi driver dalla mattina alla sera, quindi ci tengo a precisare due cose. (Utente Linux, per precisare)
Primo: anche se le specifiche dei registri e tutta la documentazione relativa ad una famiglia di GPU fossero disponibili, sarebbe MOOLTO difficile per un team open source raggiungere i livelli qualitativi dei driver proprietari NVidia.
Il driver di una GPU (peggio ancora, di un'intera famiglia) e' un pezzo di software molto complesso, molto di piu' di quanto lo possa essere un driver per una scheda di rete e audio. Solo chi ci lavora a contatto 24H sarebbe in grado di fare un buon lavoro, e dubito che un team open source possa farlo anche se finanziato, senza contare che ad ogni piccola variazione di architettura, si dovrebbero aspettare mesi per avere qualcosa di funzionante, e questo non e' accettabile da chi spende dei soldi e pretende di avere il massimo da quello che compra, soprattutto in ambito professionale.
Secondo: il problema dello sviluppo su GPGPU e' il testing/debugging.
Su GPU e' molto facile avere l'algorimo ottimizzato, poiche' basta scrivere un kernel che opera su un oggetto e la GPU di occupa di distribuire. Pero' e' molto piu' difficile arrivare ad evere qualcosa di funzionante. Su GPU la catena di set-up dei dati, testing e debugging e' molto piu' complessa. La difficolta' arriva da questo, non dal fatto che si debba scrivere il sorgente in turco.
Su CPU scrivi un for e codice alla c****o di cane e riesci a testarlo e fare debug molto facilmente. Poi puoi passare a ottimizzarlo, in maniera incrementale.
Mah siamo alle solite. Si era trovato uno standard per il GPGPU, approvato in tempi record che ha cominciato da poco ad essere utilizzato, mi riferisco ad OpenCL, ed ecco che spunta un'altro che vuole reinventare la ruota.
Bho perchè non contribuire invece al miglioramento delle specifiche di OpenCL che sicuramente non è perfetto, ma almeno è standard?
Che un gruppo di programmatori riesca a realizzare driver per GPU complesse come quelle di NVIDIA e ATI senza avere accesso alle specifiche delle stesse, è praticamente impossibile. E anche se avessero specifiche precise, comunque non avrebbero lo stesso livello di conoscenza ed esperienza che hanno i gruppi di sviluppo interni ad ATi e NVIDIA sull'architettura stessa.
The_Saint
28-04-2010, 13:38
Che un gruppo di programmatori riesca a realizzare driver per GPU complesse come quelle di NVIDIA e ATI senza avere accesso alle specifiche delle stesse, è praticamente impossibile. E anche se avessero specifiche precise, comunque non avrebbero lo stesso livello di conoscenza ed esperienza che hanno i gruppi di sviluppo interni ad ATi e NVIDIA sull'architettura stessa.Infatti è proprio per questo che sono nati CUDA, OpenCL ed ora PathScale... altrimenti a che servirebbero?
tutti dicono che non è possibile, non ci riescono, eppure stanno andando avanti da sempre!
secondo voi campano con l'aria questi qui.
Mah, non ne so molto a riguardo, ma da quel poco che ho recepito in giro, OpenCL è abbastanza ben visto nel mondo dei sviluppatori per tutta una serie di vantaggi, tipo standard attualmente abbastanza ben supportato, sia da ATI che da Nvidia in maniera consistente, offre tutto sommato buone prestazioni, somiglia un po' a CUDA...etc
Adesso oltre a Cuda, Stream, OpenCL arriva anche il quarto...PathScale...insomma, l'imbarazzo della scelta :stordita:
virtualdj
28-04-2010, 17:10
Ma non c'è anche DirectCompute (nelle DirectX 11)?
Senza contare poi il fatto che nonostante il tanto sbandierare soluzioni e kit di sviluppo ad oggi la presenza di software UTILE in ambito desktop che faccia un uso della GPU è praticamete ZERO.
Vabbè :doh:
http://www.boincitaly.org/
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.