CUDA Python—Public Preview

CUDA® Python is a preview software release providing Cython/Python wrappers for CUDA driver and runtime APIs. Python developers will be able to leverage massively parallel GPU computing to achieve faster results and accuracy.

Python is an important programming language that plays a critical role within the science, engineering, data analytics, and deep learning application ecosystem. However, these applications will tremendously benefit from NVIDIA’s CUDA Python software initiatives.

hpc-cuda-python-public-preview-2c50-d.png

Features

Access Python Wrappers for CUDA Driver and Runtime APIs

Unify the Python CUDA ecosystem with a single set of interfaces that provide full coverage of and access to the CUDA host APIs from Python. Available on GitHub.

Read the blog

Accelerate Python Performance with NVIDIA GPUs

Learn how Numba, a Python compiler, helps developers achieve higher performance from their Python code with GPU acceleration.

Read the blog

Increase Python Code Portability and Compatibility

Help developers with code portability and compatibility by reducing code variants and forks.

Set up CUDA Python

Why CUDA Python?

CUDA Python provides uniform APIs and bindings for inclusion into existing toolkits and libraries to simplify GPU-based parallel processing for HPC, data science, and AI.

cupy.png

CuPy is a NumPy/SciPy compatible Array library from Preferred Networks, for GPU-accelerated computing with Python. CUDA Python simplifies the CuPy build and allows for a faster and smaller memory footprint when importing the CuPy Python module. In the future, when more CUDA Toolkit libraries are supported, CuPy will have a lighter maintenance overhead and have fewer wheels to release. Users will benefit from a faster CUDA runtime!

Numba, a Python compiler from Anaconda that can compile Python code for execution on CUDA-capable GPUs, provides Python developers with an easy entry into GPU-accelerated computing and a path for using increasingly sophisticated CUDA code with a minimum of new syntax and jargon. With CUDA Python and Numba, you get the best of both worlds: rapid iterative development with Python and the speed of a compiled language targeting both CPUs and NVIDIA GPUs.

Ecosystem

Our goal is to help unify the Python CUDA ecosystem with a single standard set of interfaces, providing full coverage of, and access to, the CUDA host APIs from Python. We want to provide a foundation for the ecosystem to build on top of in unison to allow composing different accelerated libraries together to solve the problems at hand. We also want to lower the barrier to entry for Python developers to utilize NVIDIA GPUs.

https://www.anaconda.com/ and https://www.quansight.com/

“Anaconda is very supportive of NVIDIA’s effort to provide a unified and comprehensive set of interfaces to the CUDA host APIs from Python. We look forward to adopting this package in Numba's CUDA Python compiler to reduce our maintenance burden and improve interoperability within the CUDA Python ecosystem.”

— Peter Wang, CEO of Anaconda

“Quansight is a leader in connecting companies and communities to promote open-source data science. The Python data technology landscape is constantly changing and Quansight endorses NVIDIA’s efforts to provide easy-to-use CUDA API Bindings for Python. We plan to use this package in building our own NVIDIA accelerated solutions and bringing these solutions to our customers.”

— Travis Oliphant, CEO of Quansight

Coming Soon to GitHub.