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.
- Forrester Study: The Total Economic Impact of VMware View
- Video Surveillance: Meeting the Massive Growth and Scalability Challenge
- Strategy: The Hybrid Enterprise Data Center
- SaaS 2011: Adoption Soars, Yet Deployment Concerns Linger
- Thwart off Application-Based Security Exploits: Protect Against Zero-Day Attacks, Malware, Advanced Persistent Threats
- Optimize Your SQL Environment for Performance & Flexibility
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.