Python programmers can now gain GPU acceleration for high performance computing (HPC) apps through the Nvidia CUDA parallel programming model as a result of new support announced this week.
- The Essential Guide to IT Transformation
- Consolidation: The Foundation for IT Business Transformation
- State of Cloud 2011: Time for Process Maturation
- Research: Federal Government Cloud Computing Survey
- Smarter Process: Five Ways to Make Your Day-to-Day Operations Better, Faster and More Measurable
- HTML5 Roundtable Series: Inside the Brackets
Open source Python runs on Windows, Linux/UNIX, and Mac OS X, and has been ported to the Java and .NET virtual machines. Today it is ranked among the top 10 programming languages with more than three million users.
Python developers say that they enjoy the language's ability to let them write high-level software code (that captures their algorithmic ideas) without delving deep into programming details. Python's extensive libraries and advanced features position it well for a 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.
Cofounder and CEO at Continuum Analytics Travis Oliphant explains that 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.
"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.