Tecnologia Cuda Parallel Processing:
CUDA è un'architettura di elaborazione in parallelo realizzata da NVIDIA che permette netti aumenti delle prestazioni di computing grazie allo sfruttamento della potenza di calcolo delle GPU (unità di elaborazione grafica).
La tecnologia NVIDIA CUDA è il solo ambiente in linguaggio “C” che permette a programmatori e sviluppatori di programmare applicazioni software di risolvere i problemi di calcolo più impegnativi, riducendo nettamente il tempo necessario grazie alla potenza di elaborazione in parallelo multi-core delle GPU.
I prodotti compatibili con NVIDIA CUDA possono aiutare ad accelerare le operazioni più impegnative, per esempio, codifica audio e video, prospezione petrolchimica, progettazione di prodotti, imaging medico e ricerca scientifica, solo per citare le più eclatanti. Molti programmi CUDA richiedono almeno 256 MB di memoria residenti sulla GPU.
Sono stati rilasciati applicativi commerciali che supporteranno questa tecnologia, primi fra tutti Adobe Photoshop CS4 e Badaboom Media Converter ecc…
Ricordiamo che già attualmente la tecnologia CUDA riesce ad accelerare programmi come GPUGRID. Il team del progetto PS3GRID ha annunciato il supporto per le GPU nVidia con BOINC. Nasce così GPUGRID, il primo progetto BOINC per GPU. GPUGRID si propone di creare una potente infrastruttura per le simulazioni biomolecolari sfruttando oltre alla potenza delle PS3, anche la potenza delle GPU.
Il settore del HIGH Performance Computing, è continua espansione e NVIDIA vuole entrare in questo mercato.
Molto interessante è l’evoluzione della nuova tecnologia CUDA, che promette di snellire, attraverso soluzioni ben ottimizzate per la scheda, il carico di lavoro della CPU grazie all’uso più massiccio della GPU. Un primo esempio di CUDA è arrivato in questi giorni anche nel settore videoludico. Il gioco Just Cause 2 sfrutta la tecnologia CUDA per rendere più realistico l’effetto acqua.
http://www.youtube.com/watch?v=A29uSkIo04s
Riassumendo, con la nuova tecnologia CUDA abbiamo:
-
Linguaggio C standard per lo sviluppo di applicazioni in parallelo sulle GPU;
-
Librerie numeriche standard per FFT (Fast Fourier Transform) e BLAS (Basic Linear Algebra Subroutines);
-
Driver CUDA dedicato per l’elaborazione con un percorso di trasferimento dati velocizzato tra GPU e CPU;
-
Il driver CUDA è interoperabile con i driver grafici OpenGL e DirectX;
-
Supporto per i sistemi operativi Linux a 32/64 bit e Windows a 32/64 bit.
Attualmente sono diversi i programmi che sfruttano a pieno le potenzialità di CUDA. Siamo sicuri che con il tempo il progetto portato avanti da Nvidia riserverà diverse sorprese interessanti.
Per maggiori informazioni:
http://www.nvidia.it/object/what_is_cuda_new_it.html