Supporto a OpenCL: la posizione di NVIDIA
NVIDIA vede positivamente l'introduzione OpenCL, che permetterà di supportare un maggior numero di applicazioni GPGPU
di Andrea Bai pubblicata il 12 Dicembre 2008, alle 10:53 nel canale Schede VideoNVIDIA
Il sito web TechReport ha avuto modo di pubblicare una interessante intervista condotta con Manju Hedge, responsabile del progetto NVIDIA CUDA per il colosso californiano. L'intervista ha permesso di fare luce sulla strategia che NVIDIA percorrerà per offrire all'interno delle proprie soluzioni, il supporto a OpenCL.
Innanzitutto, secondo quanto emerso dalle dichiarazioni di Hedge, NVIDIA non considera OpenCL come un possibile antgonista di CUDA. L'azienda californiana, al contrario, guarda positivamente al nuovo standard: l'inserimento del supporto a OpenCL, infatti, si tradurrà immediatamente nella possibilità di supportare applicazioni GPGPU sviluppate con quel linguaggio di programmazione e di estendere così il parco di applicazioni potenzialmente eseguibili tramite le GPU NVIDIA. Un maggior numero di applicazioni supportate, pertanto, significa una maggiore appetibilità sul mercato delle schede, con conseguente possibilità per NVIDIA di stimolare la domanda per le proprie soluzioni, sia nei confronti dell'utente finale, sia nei confronti dei costruttori.
Al di là delle considerazioni di mercato, gli elementi più interessanti riguardano le tempistiche con le quali NVIDIA introdurrà il supporto ad OpenCL. Secondo le informazioni disponibili, a partire dal primo trimestre del prossimo anno il supporto sarà disponibile in fase di beta, per poi proporre la piena implementazione il trimestre successivo.
Hedge ha poi voluto puntualizzare come OpenCL sia un ambiente di sviluppo che consente al programmatore il pieno accesso alle risorse hardware, in modo che possa gestire direttamente la gestione di memoria, l'inizializzazione di periferiche e via discorrendo. La differenza con CUDA, in questo caso, è piuttosto importante: quest'ultimo infatti si configura più come un linguaggio di programmazione ad alto livello, grossomodo confrontabile con il linguaggio C.
18 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoQuello che non mi è del tutto chiaro.. se sono diversi sono anche "incompatibili": o usi cuda o usi openCL no??
Alla fine CUDA essendo Nvidia only andtà necessariamente a morire o (come spero) a venire assorbito in un sistema più ampio che usi tutte le GPU e non solo le nvidia..
Quello che non mi è del tutto chiaro.. se sono diversi sono anche "incompatibili": o usi cuda o usi openCL no??
Alla fine CUDA essendo Nvidia only andtà necessariamente a morire o (come spero) a venire assorbito in un sistema più ampio che usi tutte le GPU e non solo le nvidia..
Se non sbaglio opecl è un layer sopra ai vari cuda, brook cal ecc ecc
penso che alla fine o implementeranno direttamente il gpgpu all'interno di opecl o più probabilmente creeranno delle routine di conversione opencl--> cuda, brook ecc ecc
del prossimo cosa? anno? mese? decenio? non si capisce la data
"OpenCL sia un ambiente di sviluppo che consente al programmatore il pieno accesso alle risorse hardware, in modo che possa gestire direttamente la gestione di memoria, l'inizializzazione di periferiche e via discorrendo."
del prossimo cosa? anno? mese? decenio? non si capisce la data
anno prossimo visto che nel 2009 è previsto snow leopard
cit demon77: Non sono programmatore quindi capisco solo grossolanamente la differenza tra openCL e CUDA...
Quello che non mi è del tutto chiaro.. se sono diversi sono anche "incompatibili": o usi cuda o usi openCL no??
ciao,
in maniera grossolana le differenze tra linguaggi di programmazione di alto e basso livello è questa:
in un linguaggio di alto livello dici alla "macchina" cosa deve fare (leggi qua, scrivi questo ecc.....), ma la tua istruzione (di lettura o scrittura in questo esempio) non è immediata, il tuo prgramma è uno strato software che interagisce più in basso con un altro strato software, il s.o., che esegue le tue istruzioni al momento che ritiene "più opportuno". Lo stesso s.o. poi, deve interagire ancora più in basso con un altro strato software, il firmware del dispositivo che fisicamente effettuerà la tua istruzione (il motore e la testina del disco rigido ad esempio)
sostanzialmente più il linguaggio di programmazione è ad alto liello più è "capibile" dall'uomo,
più è di basso livello più si avvicina al dispositivo hw
spero di essere stato semplice e chiaro
detto questo, è assolutamente normale e, come avrai capito, necessario che vari linguaggi di programmazione interagiscano tra loro, ogni linguaggio è buono per svolgere particolari compiti e assolutamente incapace di svolgerne di altri
ciao
Dici a me?
No non voglio la morte di cuda.. dico solo che se viene delineato un sistema standard (cosa per cui faccio un tifo enorme) è fisiologico che cuda essendo proprietario e valido solo per nvidia venga accantonato..
Chiaro che però con "accantonato" non intendo "buttato via" ma assorbito nel sistema standard al fine di renderlo migliore!
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".