NVIDIA porta CUDA in LLVM, compilatore Open Source

NVIDIA porta CUDA in LLVM, compilatore Open Source

NVIDIA contribuisce al compilatore LLVM andando ad aggiungere il supporto per CUDA, espandendo così la possibilità di accelerare i processi

di Gabriele Burgazzi pubblicata il 10 Maggio 2012, alle 12:08 nel canale Schede Video
 

NVIDIA ha annunciato nella giornata di ieri che LLVM, uno dei compilatori opensource più famosi, supporterà le GPU NVIDIA, andando così a portare importanti benefici non solo nell'accelerazione delle operazioni, ma estendendo anche i linguaggi di programmazione supportati.

LLVM è un compilatore con un design modulare che permette con facilità di aggiungere il supporto per linguaggi di programmazione e architetture nuove. Il compiler CUDA che andrà a supportare le GPU NVIDIA fornirà linguaggi C, C++ e Fortran: questi linguaggi potranno così essere accelerati attraverso la potenza computazionale messa a disposizione dalle GPU NVIDIA. Per poter raggiungere questo traguardo NVIDIA ha lavora con gli sviluppatori di LLVM per fornire il codice sorgente del compiler CUDA, al fine di integrare meglio il tutto.

Il risultato finale è la possibilità per gli sviluppatori di poter creare applicazioni per GPU utilizzando una grande e vasta gamma di linguaggi, estendendo così il GPU computing ancora di più. LLVM supporta una vasta gamma di linguaggi compresi C/C++, Objective-C, Fortran, Ada, Haskell, Java bytecode, Python, Ruby, ActionScript, GLSL e Rust.

Per scaricare l'ultima versione di LLVM compiler con supporto a GPU NVIDIA, è sufficiente recarsi sul sito ufficiale, a questo indirizzo.

11 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
pabloski10 Maggio 2012, 12:39 #1
LLVM è una delle poche cose buone fatte da apple

E' interessante vedere che finalmente sempre più aziende si stanno standardizzando intorno a tecnologie mature e comprovate, piuttosto che reinventare ogni volta la ruota ( ruota peraltro incompatibile con le altre ).
manowar8410 Maggio 2012, 12:47 #2
Originariamente inviato da: pabloski
LLVM è una delle poche cose buone fatte da apple

E' interessante vedere che finalmente sempre più aziende si stanno standardizzando intorno a tecnologie mature e comprovate, piuttosto che reinventare ogni volta la ruota ( ruota peraltro incompatibile con le altre ).


beh anche webkit non direi che sia un brutto progetto (si ok, non sono partiti da zero ma chi ha usato konqueror sa benissimo che faceva veramente schifo )
cmq tornando IT, questa è una ottima notizia!
Aenor10 Maggio 2012, 13:18 #3
Ottima news a mio avviso!
AnonimoVeneziano10 Maggio 2012, 14:42 #4
Bellissima news.

Ma quindi questo vuol dire che CUDA adesso girerà anche su ATI o su qualsiasi altra piattaforma, no? Dopotutto chi vieta di compilare CUDA usando un backend di LLVM per ATI , Intel o altro. Quindi CUDA diventa a pieno titolo un competitor di OpenCL!
MCMXC10 Maggio 2012, 15:07 #5
Originariamente inviato da: AnonimoVeneziano
Ma quindi questo vuol dire che CUDA adesso girerà anche su ATI o su qualsiasi altra piattaforma, no?


No, semplicemente che ora anche il piu' semplice HELLO WORLD! potrebbe essere compilato in modo che venga eseguito dalle GPU NVIDIA invece che dalla CPU, perche' i programmi li' compilati ovviamente gireranno solo su computer e dispositivi dotati di GPU NVIDIA che supportano CUDA.

Quindi CUDA diventa a pieno titolo un competitor di OpenCL!


Sono "filosofie diverse". CUDA e' nato dalle basi dell'OpenCL, ma e' una tecnologia proprietaria e sfrutta unicamente la GPU. L'OpenCL e' uno standard non proprietario e permette la combinazione CPU+GPU.
boboviz10 Maggio 2012, 15:31 #6
Originariamente inviato da: AnonimoVeneziano
Quindi CUDA diventa a pieno titolo un competitor di OpenCL!


Casomai il contrario. Nel settore gpgpu, cuda è nato prima di opencl ed è più "avanti" (anche se Opencl sta rapidamente recuperando)
boboviz10 Maggio 2012, 15:32 #7
Originariamente inviato da: MCMXC
CUDA e' nato dalle basi dell'OpenCL


?? Questa mi giunge nuova...
AnonimoVeneziano10 Maggio 2012, 16:09 #8
Originariamente inviato da: MCMXC
No, semplicemente che ora anche il piu' semplice HELLO WORLD! potrebbe essere compilato in modo che venga eseguito dalle GPU NVIDIA invece che dalla CPU, perche' i programmi li' compilati ovviamente gireranno solo su computer e dispositivi dotati di GPU NVIDIA che supportano CUDA.


Scusa ma non ho capito... hanno fatto un front-end CUDA o hanno scritto un backend che genera codice CUDA dal LLVM-IR? La notizia non lo spiega molto bene ...
ronzino10 Maggio 2012, 17:57 #9
Originariamente inviato da: MCMXC
No, semplicemente che ora anche il piu' semplice HELLO WORLD! potrebbe essere compilato in modo che venga eseguito dalle GPU NVIDIA invece che dalla CPU, perche' i programmi li' compilati ovviamente gireranno solo su computer e dispositivi dotati di GPU NVIDIA che supportano CUDA.



Sono "filosofie diverse". CUDA e' nato dalle basi dell'OpenCL, ma e' una tecnologia proprietaria e sfrutta unicamente la GPU. L'OpenCL e' uno standard non proprietario e permette la combinazione CPU+GPU.


veramente con cuda puoi fare chiamate concorrenti non bloccanti cpu e gpu e questo gia da 2 anni almeno
MasterGuru10 Maggio 2012, 18:20 #10
ma se io volessi utilizzare OpenCL nei miei progetti, senza stravolgere il codice...si puó fare?

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.