NVIDIA CUDA supporte Python

Python, sacré langage de l’année 2010 par TIOBE, est désormais supporté par NVIDIA CUDA, la technologie de GPGPU (calcul général sur processeur graphique) de NVIDIA. Auparavant, seuls C, C++ et Fortran étaient supportés. Python est un langage bien plus dynamique, flexible, fournissant en général une meilleure productivité (il n’est généralement pas compilé) et loin d’être en perte de vitesse, en plus d’être facile à apprendre.

Ce support émane de NumbaPro, un compilateur Python, basé sur le compilateur libre (sous licence type BSD) LLVM, développé par la société Continuum Analytics. Il a été rendu possible grâce au passage sur cette base de code du compilateur principal de CUDA, NVCC, de plus sous licence libre.

Au vu des fonctionnalités avancées de LLVM, comme la compilation à la volée, les performances ne sont pas sacrifiées. Selon Vijay Pande, professeur à l’université de Stanford, ce support permettra à son équipe de garder la productivité de Python au-delà des prototypes, au lieu de réimplémenter les algorithmes en C ou C++.

Selon Travis Oliphant, cofondateur de Continuum Analytics,

Hundreds of thousands of Python programmers will now be able to leverage GPU accelerators to improve performance on their applications. 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.

Source : http://www.readability.com/read?url=http://nvidianews.nvidia.com/Releases/GPU-Accelerated-Computing-Reaches-Next-Generation-of-Programmers-With-Python-Support-of-NVIDIA-CUDA-950.aspx.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s