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.
The growing ranks of programmers using the Python open-source language can now take full advantage of GPU acceleration for their high performance computing (HPC) and big data analytics applications by using the NVIDIA CUDA parallel programming model, NVIDIA today announced.
Easy to learn and use, Python is among the top 10 programming languages with more than three million users. It enables users to write high-level software code that captures their algorithmic ideas without delving deep into programming details. Python's extensive libraries and advanced features make it ideal for a broad range of HPC science, engineering and big data analytics applications.
Support for NVIDIA CUDA parallel programming comes from NumbaPro, a Python compiler in the new Anaconda Accelerate product from Continuum Analytics.
"Hundreds of thousands of Python programmers will now be able to leverage GPU accelerators to improve performance on their applications," said Travis Oliphant, co-founder and CEO at Continuum Analytics. "With NumbaPro, programmers have the best of both worlds: they can take advantage of the flexibility and high productivity of Python with the high performance of NVIDIA GPUs."
Expanded Access to Accelerated Computing Via LLVM
This new support for GPU-accelerated application development is the result of NVIDIA's contribution of the CUDA compiler source code into the core and parallel thread execution backend of LLVM, a widely used open source compiler infrastructure.
Continuum Analytics' Python development environment uses LLVM and the NVIDIA CUDA compiler software development kit to deliver GPU-accelerated application capabilities to Python programmers.
The modularity of LLVM makes it easy for language and library designers to add support for GPU acceleration to a wide range of general-purpose languages like Python, as well as to domain-specific programming languages. LLVM's efficient just-in-time compilation capability lets developers compile dynamic languages like Python on the fly for a variety of architectures.
"Our research group typically prototypes and iterates new ideas and algorithms in Python and then rewrites the algorithm in C or C++ once the algorithm is proven effective," said Vijay Pande, professor of Chemistry and of Structural Biology and Computer Science at Stanford University. "CUDA support in Python enables us to write performance code while maintaining the productivity offered by Python."
Anaconda Accelerate is available for Continuum Analytics' Anaconda Python offering, and as part of the Wakari browser-based data exploration and code development environment.
Source: NVIDIA Press Release
Links