NVIDIA ha annunciato che da oggi il crescente gruppo di programmatori che utilizzano il linguaggio open-source Python potrà sfruttare al massimo le potenzialità delle GPU per applicazioni HPC e Big Data Analytics, utilizzando il modello di programmazione in parallelo NVIDIA CUDA.
Facile da imparare e da utilizzare, Python è tra i primi 10 linguaggi di programmazione, vantando più di tre milioni di utilizzatori. Esso consente agli utenti di scrivere un codice software di alto livello, che cattura le loro idee algoritmiche senza scavare in profondità nei dettagli di programmazione. Le ampie librerie di Python e le sue funzioni avanzate lo rendono ideale per una vasta gamma di applicazioni HPC, di engineering e Big Data Analytics.
Il supporto per la programmazione in parallelo di NVIDIA CUDA viene da NumbaPro, un compilatore Python della nuova soluzione Anaconda Accelerate di Continuum Analytics.
"Centinaia di migliaia di programmatori Python da ora saranno in grado di sfruttare l'accelerazione su GPU per migliorare le prestazioni delle loro applicazioni", ha affermato Travis Oliphant, co-fondatore e CEO di Continuum Analytics. "Con NumbaPro, i programmatori hanno il meglio di entrambi i mondi: possono sfruttare la flessibilità e l’elevata produttività di Python da una parte e le elevate prestazioni delle GPU NVIDIA dall'altra."
Un più ampio accesso all’Accelerated Computing via LLVM
Questo nuovo supporto allo sviluppo di applicazioni GPU-accelerated è conseguente al contributo di NVIDIA nel portare CUDA in LLVM, un compilatore open source molto diffuso.
L’ambiente di sviluppo Python di Continuum Analytics utilizza LLVM e il NVIDIA CUDA Compiler Software Development Kit per fornire ai programmatori Python la capacità di sviluppare applicazioni accelerate da GPU.
La modularità di LLVM semplifica il compito di chi si occupa di linguaggi e librerie nell'aggiungere il supporto all'accelerazione su GPU per un’ampia gamma di linguaggi general purpose come Python, così come a linguaggi di programmazione Domain-Specific. La capacità di compilazione just-in-time di LLVM consente agli sviluppatori di compilare linguaggi dinamici come Python per diverse architetture.
"Il nostro gruppo di ricerca solitamente si occupa della prototipizzazione e iterazione di nuove idee e algoritmi in Python e poi riscrive l'algoritmo in C o C++, una volta che ne è stata dimostrata l’efficacia.", ha dichiarato Vijay Pande, professore di Chimica, Biologia Strutturale e Scienze Informatiche presso la Stanford University. "Il supporto CUDA di Python ci permette di scrivere codici prestazionali, pur mantenendo la produttività offerta da Python."
Anaconda Accelerate è disponibile nell'ambito dell'offerta Anaconda Python di Continuum Analytics, e come parte dell'ambiente basato su browser Wakari.
|