GPU Nvidia e CUDA compatibili con il linguaggio Python

Nvidia ama il Phyton con la CUDA. Con una squallida battuta si potrebbe riassumere lo sposalizio tra la tecnologia di programmazione parallela sviluppata da Nvidia e il linguaggio Phyton.

Avatar di Manolo De Agostini

a cura di Manolo De Agostini

Nvidia ha annunciato che i programmatori che usano il linguaggio open-source Python potranno sfruttare le potenzialità delle GPU per applicazioni HPC e Big Data Analytics usando il modello di programmazione in parallelo Nvidia CUDA.

Python è tra i primi 10 linguaggi di programmazione e vanta più di tre milioni di utenti. Secondo Nvidia "consente 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 alla programmazione in parallelo di Nvidia CUDA viene da NumbaPro, un compilatore Python della nuova soluzione Anaconda Accelerate di Continuum Analytics. Non si tratta del primo compilatore, dato che esiste PyCUDA, ma sembra che Nvidia voglia trasformare la soluzione di Continuum nell'implementazione standard di Python per CUDA.

"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, cofondatore e amministratore delegato 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 grandi prestazioni delle GPU NVIDIA dall'altra".

Nvidia sottolinea che questo nuovo supporto allo sviluppo di applicazioni accelerate dalla GPU è conseguente al proprio contributo nel portare CUDA in LLVM, un compilatore open source molto diffuso. L'ambiente di sviluppo Python di Continuum Analytics usa LLVM e l'Nvidia CUDA Compiler Software Development Kit per fornire ai programmatori Python la capacità di sviluppare applicazioni accelerate delle GPU.

"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.