NVIDIA ha reso disponibile oggi NVIDIA CUDA 5, la nuova potente versione della piattaforma per il parallel computing più pervasiva del mondo, nonché modello di riferimento per la programmazione, l'accelerazione scientifica e la progettazione su GPU, che può essere scaricata gratuitamente dal sito NVIDIA Developer Zone.
Con oltre 1.5 milioni di download e supporto a più di 180 applicazioni primarie nell'ambito ingegneristico, scientifico e commerciale, CUDA rappresenta per gli sviluppatori la modalità più popolare per trarre vantaggio dal computing basato su GPU.
In virtù di questo successo, le nuove funzionalità di CUDA 5 rendono lo sviluppo di applicazioni accelerate da GPU più veloci e semplici che mai, compreso il supporto al parallelismo dinamico, alle GPU-callable libraries, alle GPUDirect per RDMA (remote direct memory access) e all'integrated development environment (IDE) NVIDIA Nsight Eclipse Edition.
Riconoscimenti dagli sviluppatori per CUDA 5
Gli sviluppatori che hanno provato la pre-release di CUDA 5 hanno riferito di un deciso incremento nell'accelerazione delle applicazioni e una programmabilità ulteriormente migliorata.
La difesa e l'industria aerospaziale si sono rese conto dei benefici delle accelerazioni con CUDA nel processare immagini, video e sensor data, come ad esempio per i radar. Secondo Dustin Franklin, GPGPU applications engineer di GE Intelligent Platforms a Charlottesville, Virginia, “CUDA 5 è una tecnologia importante per noi. Molte delle applicazioni che utilizziamo prevedono lo streaming sensor data a bassa latenza direttamente sulla GPU e per questo il supporto alle GPUDirect per RDMA delle nuove GPU Kepler è incredibilmente importante per i nostri clienti. Abbiamo già integrato il supporto per molti dei nostri sensori e siamo molto soddisfatti dei risultati."
Guillaume Belz, un ricercatore biochimico del Lyon University Hospital di Lione in Francia ha utilizzato il parallelismo dinamico e le GPU-callable libraries per analisi complesse e per il data mining. “Con l'accelerazione su GPU, possiamo ottenere in ore risultati su progetti che solitamente richiedevano settimane o persino mesi con le sole CPU. Senza l'accelerazione su GPU, questo tipo di analisi non sarebbero fattibili,” ha affermato Belz.
Weihua (Wayne) Sun, Ph.D. candidate in Scienze dell'Immagine presso il Rochester Institute of Technology di New York, è rimasto davvero impressionato da NVIDIA Nsight Eclipse Edition. “Quando ho saputo che CUDA 5 ha incluso il nuovo Nsight Eclipse Edition IDE, ho scoperto di averne bisogno. Avere tutti i miei strumenti per la programmazione, il debugging e l'ottimizzazione in un solo ambiente di sviluppo integrato, si è per me rivelato fonte di un grande incremento nella produttività.”
Nuove funzionalità di CUDA 5
CUDA 5 consente agli sviluppatori di trarre vantaggio dalle performance delle GPU NVIDIA, inclusi gli acceleratori basati su GPU NVIDIA Kepler– l'architettura per il computing più veloce, efficiente e ad alte performance mai realizzata. Le funzionalità chiave includono:
- Parallelismo dinamico – Porta l'accelerazione su GPU a nuovi algoritmi
I GPU threads possono dinamicamente produrre nuovi thread, consentendo alla GPU di adattarsi ai dati. Minimizzando la comunicazione con la CPU, il parallelismo dinamico semplifica sensibilmente la programmazione parallela. E consente l'accelerazione su GPU di un'ampia serie di famosi algoritmi, come quelli utilizzati per l'adaptive mesh refinement e le applicazioni computazionali per la fluido dinamica.
- GPU-Callable Libraries – Abilita l'ecosistema di terze parti
Una nuova libreria CUDA BLAS consente agli sviluppatori di utilizzare il parallelismo dinamico per le loro GPU-callable Libraries. Possono progettare plug-in API che permettono ad altri sviluppatori di estendere le funzionalità dei loro kernel e implementare callback sulla GPU per personalizzare le funzionalità delle GPU-callable Libraries di terze parti. La capacità di “object linking” offre un processo efficiente per lo sviluppo di applicazioni su GPU, consentendo agli sviluppatori di compilare file sorgenti CUDA multipli in object file separati e unirli in applicazioni più grandi e a librerie.
- Supporto GPUDirect per RDMA – Limita i colli di bottiglia della memoria di sistema
La tecnologia GPUDirect permette la comunicazione diretta tra GPU e altri dispositivi PCI-E e supporta l'accesso diretto alla memoria tra la GPU e le schede di rete. Riduce significativamente anche la latenza MPISendRecv tra i nodi GPU in un cluster e migliora le performance complessive.
- NVIDIA Nsight Eclipse Edition – Generare codice CUDA velocemente e facilmente
NVIDIA Nsight Eclipse Edition consente ai programmatori di sviluppare, effettuare il debug e profilare le applicazioni GPU nell'ambito Eclipse-based IDE su piattaforma Linux e Mac OS X. Un editor e sample CUDA integrati velocizzano la generazione di codice CUDA e il refactoring automatico di codice consente di fare il porting facilmente su kernel CUDA. Un sistema integrato offre analisi delle performance automatiche e guida step-by-step per rimediare ai colli di bottiglia nel codice, mentre l'evidenziazione della sintassi rende più semplice differenziare il codice GPU da quello CPU.
Nuovo CUDA Resource Center online
Per aiutare gli sviluppatori a massimizzare il potenziale del parallel computing con la tecnologia CUDA, NVIDIA ha lanciato un centro risorse online gratuito per i programmatori CUDA a questo indirizzo: http://docs.nvidia.com. Il sito offre le ultime informazioni sulla piattaforma CUDA e sul modello di programmazione, così come l'accesso alle tecnologie e documentazione per tutti gli sviluppatori CUDA, compresi strumenti, esempi di codice, librerie, API e guide per la programmazione.
Programma per gli sviluppatori registrati CUDA
I programmatori in parallelo sono invitati ad aderire al programma per gli sviluppatori registrati CUDA per un accesso tempestivo alle nuove release del software, agli strumenti e alle risorse. Visita www.nvidia.com/paralleldeveloper per maggiori informazioni.
[Immagine ad alta risoluzione]
NVIDIA today made available the NVIDIA CUDA 5 production release, a powerful new version of the world's most pervasive parallel computing platform and programming model for accelerating scientific and engineering applications on GPUs. It can be downloaded for free from the NVIDIA Developer Zone website.
With more than 1.5 million downloads, supporting more than 180 leading engineering, scientific and commercial applications, the CUDA programming model is the most popular way for developers to take advantage of GPU-accelerated computing.
Building on this success, the new programming features of the CUDA 5 platform make the development of GPU-accelerated applications faster and easier than ever, including support for dynamic parallelism, GPU-callable libraries, NVIDIA GPUDirect technology support for RDMA (remote direct memory access) and the NVIDIA Nsight Eclipse Edition integrated development environment (IDE).
Developer Accolades for CUDA 5
Developers who evaluated the pre-release version of CUDA 5 have reported often dramatic application acceleration and improved programmability.
The defense and aerospace industries realize the benefits of CUDA GPU acceleration for processing images, video and sensor data, such as radar. According to Dustin Franklin, GPGPU applications engineer at GE Intelligent Platforms in Charlottesville, Va., "CUDA 5 is a significant technology for us. Many of the applications we're using involve streaming sensor data directly into the GPU with low latency, so the GPUDirect support for RDMA on new Kepler GPUs is incredibly important for our customers. We have integrated support for many custom sensors already and are very happy with the results."
Guillaume Belz, a research biochemist at Lyon University Hospital in Lyon, France, has been using dynamic parallelism and GPU-callable libraries for complex signal analysis and data mining. "With GPU acceleration, we can get results in several hours for projects that used to require weeks or even months with CPUs alone. Without GPU acceleration, analysis is not possible at all," said Belz.
Weihua (Wayne) Sun, Ph.D. candidate in imaging science at Rochester Institute of Technology in New York, was impressed with NVIDIA Nsight Eclipse Edition. "When I learned that CUDA 5 included the new Nsight Eclipse Edition IDE, I knew I needed it right away. Having all my programming, debugging and optimization tools in a single integrated development environment is a great productivity boost for me."
New CUDA 5 Features
CUDA 5 enables developers to take full advantage of the performance of NVIDIA GPUs, including GPU accelerators based on the NVIDIA Kepler compute architecture -- the fastest, most efficient, highest-performance computing architecture ever built. Key features include:
- Dynamic Parallelism - Brings GPU acceleration to new algorithms
GPU threads can dynamically spawn new threads, allowing the GPU to adapt to the data. By minimizing the back and forth with the CPU, dynamic parallelism greatly simplifies parallel programming. And it enables GPU acceleration of a broader set of popular algorithms, such as those used in adaptive mesh refinement and computational fluid dynamics applications.
- GPU-Callable Libraries - Enables third-party ecosystem
A new CUDA BLAS library allows developers to use dynamic parallelism for their own GPU-callable libraries. They can design plug-in APIs that allow other developers to extend the functionality of their kernels, and allow them to implement callbacks on the GPU to customize the functionality of third-party GPU-callable libraries. The "object linking" capability provides an efficient and familiar process for developing large GPU applications by enabling developers to compile multiple CUDA source files into separate object files, and link them into larger applications and libraries.
- GPUDirect Support for RDMA - Minimizes system memory bottlenecks
GPUDirect technology enables direct communication between GPUs and other PCI-E devices, and supports direct memory access between network interface cards and the GPU. It also significantly reduces MPISendRecv latency between GPU nodes in a cluster and improves overall application performance.
- NVIDIA Nsight Eclipse Edition - Generate CUDA code quickly and easily
NVIDIA Nsight Eclipse Edition enables programmers to develop, debug and profile GPU applications within the familiar Eclipse-based IDE on Linux and Mac OS X platforms. An integrated CUDA editor and CUDA samples speed the generation of CUDA code, and automatic code refactoring enables easy porting of CPU loops to CUDA kernels. An integrated expert analysis system provides automated performance analysis and step-by-step guidance to fix performance bottlenecks in the code, while syntax highlighting makes it easy to differentiate GPU code from CPU code.
New Online CUDA Resource Center
To help developers maximize the potential of parallel computing with CUDA technology, NVIDIA has launched a free online resource center for CUDA programmers at http://docs.nvidia.com. The site offers the latest information on the CUDA platform and programming model, as well as access to all CUDA developer documentation and technologies, including tools, code samples, libraries, APIs, and tuning and programming guides.
CUDA Registered Developer Program
Parallel programmers are invited to join the free CUDA Registered Developer Program for early access to software releases, tools and resources. Visit http://www.nvidia.com/paralleldeveloper for more information.
News Source: NVIDIA Press Release
Links