Da AMD SDK per usare OpenCL anche sulle CPU

Da AMD SDK per usare OpenCL anche sulle CPU

AMD rilascia la versione beta di un tool di sviluppo per consentire la programmazione OpenCL sfruttando le normali CPU

di pubblicata il , alle 09:30 nel canale Processori
AMD
 
17 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
Eraser|8507 Agosto 2009, 11:33 #11
Con opencl scrivi dei kernel di computazione in un linguaggio simil-c. Questi kernel vengono poi mandati in esecuzione su un Computing Device. Un CD può essere una CPU, una GPU, un CELL o un DSP.. dal punto di vista OpenCL non c'è alcuna differenza... poi sta al programmatore ottimizzare determinati task mandandoli in esecuzione su GPU piuttosto che CPU.. in teoria l'OpenCL prevede anche l'esecuzione di codice nativo (ad esempio una funzione contenuta in una .dll compilata diverso tempo fa) su di una qualsiasi CD... però le specifiche non richiedono che questa caratteristica debba venire supportata per potersi fregiare del logo OpenCL..

Cmq, tutto è molto interessante.. vediamo l'evoluzione concreta sul mercato di questo framework (OpenCL) a cosa porterà..
masty_<307 Agosto 2009, 13:42 #12
Originariamente inviato da: JackZR
ehm, e chi ce li ha 24 cores?

Questa idea di AMD è cosa buona e giusta, ora, se vogliono prendere un po' di distanza da Intel e nVidia, devono solo fare in modo di far collaborare CPU e GPU in modo da poterle sfruttare insieme contemporaneamente ed il gioco è fatto.

già
Originariamente inviato da: cignox1
Anche io condivido questa mossa: AMD e' indietro (almeno per quanto riguarda la diffusione) sia con le CPU che con le GPU, pero' e' attualmente l'unica ad offrire entrambe le piattaforme, ed e' su questo che deve puntare il piu' possibile...


da quando?
SwatMaster07 Agosto 2009, 17:44 #13
Originariamente inviato da: masty_<
già


Già.

da quando?


E' indietro in quanto a marketing, avrà voluto dire.
LMCH08 Agosto 2009, 04:48 #14
Originariamente inviato da: lishi
Il concetto dell'OpenCL è che puoi scrivere una cosa e gira su tutte le piattaforme supportate.

Quindi anche gpu nvidia e se noti dice cpu x86, non cpu amd.

Certamente però nvidia dovrebbe implementare questa funzione anche nel suo sdk.


La tecnologia di base che gestisce la (ri)compilazione automatica per cpu x86 oppure per GPU e' gia utilizzata anche da Nvidia.

Sia Apple (per gli shader per OpenGL) che AMD ed Nvidia per OpenCL utilizzano la tecnologia di LLVM ( http://www.llvm.org ).
Apple ha persino supportato lo sviluppo del compilatore CLang (il front-end "ottimizzato per llvm" per compilare codice C/C++) che viene utilizzato anche per compilare il codice OpenCL.

LLVM "liscio" di suo supporta gia parecchie cpu (x86, x86-64, ARM, ecc.) ed ha parecchi front-end per molti linguaggi ad alto livello e non, oltre al CLang c'e' un front-end basato su GCC che supporta C,C++,Ada e mi sembra anche il Fortran, poi ce ne sono anche per Scheme, per Java e per linguaggi di tipo funzionale.
mjordan08 Agosto 2009, 19:07 #15
La versione finale richiederà ancora agli sviluppatori di determinare quale delle risorse disponibili, CPU o GPU, siano da utilizzare per la computazione multi-thread.


Perchè, questo sarebbe un processo automatizzabile?
elevul09 Agosto 2009, 22:17 #16
Sarebbe interessante se fossero in grado appunto di far usare opencl sia su cpu che su gpu, in modo che non vi sia proprio distinzione tra le due cose, ma il carico di lavoro venga ripartito equalmente.
Praticamente un unico metodo di scrittura, a cui le varie aziende devono adattare i loro drivers. Praticamente avremmo drivers superottimizzati sia per cpu che per gpu.
Per assurdo credo si possa arrivare a sbarazzarsi dell'emulazione x86 che fanno le cpu moderne, e far lavorare direttamente il programma sulla cpu nuda, bypassando l'emulazione.
Ovviamente my 2 cents.
JackZR09 Agosto 2009, 23:43 #17
Originariamente inviato da: elevul
Sarebbe interessante se fossero in grado appunto di far usare opencl sia su cpu che su gpu, in modo che non vi sia proprio distinzione tra le due cose, ma il carico di lavoro venga ripartito equalmente.
Sono d'accordo sul fatto che OpenCL dovrebbe essere ugualmente supportato sia da CPU che da GPU però il sistema dovrebbe essere in grado di distinguere e riconoscere le varie capacità di calcolo per poter poi distribuire il carico di lavoro in maniera equa e proporzionata, se no la CPU per certi calcoli fonderebbe e la GPU rimarrebbe semi-inutilizzata.

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