1. [Home  
](/)

[NVIDIA CUDA](/cuda)

CUDA Python

# NVIDIA CUDA Python 

NVIDIA® CUDA® Python is a set of tools and libraries that enable Python developers to leverage NVIDIA’s CUDA platform for GPU-accelerated computing. It allows Python applications to utilize the parallel processing power of NVIDIA GPUs, significantly speeding up computationally intensive tasks.  
  
CUDA Python bridges the gap between the productivity of Python and the computational power of NVIDIA GPUs, making GPU acceleration more accessible to a wider range of Python developers in fields like data science, machine learning, and scientific computing.

[Get Started](#section-get-started)

![CUDA Python diagram](https://developer.download.nvidia.com/images/cuda/cuda-diagram-python-ari.jpg)

* * *

## How CUDA Python Works 

CUDA Python provides uniform APIs and bindings for inclusion into existing toolkits and libraries to simplify [GPU-based parallel processing for HPC](https://developer.nvidia.com/hpc), data science, and AI.

CUDA Python enables seamless access to NVIDIA’s CUDA platform from Python. It consists of multiple components:

- 

[cuda.core](https://nvidia.github.io/cuda-python/cuda-core/latest): Pythonic access to CUDA runtime and other core functionalities

- 

[cuda.bindings](https://nvidia.github.io/cuda-python/cuda-bindings/latest): Low-level Python bindings to CUDA C/C++ APIs

- 

[cuda.pathfinder](https://nvidia.github.io/cuda-python/cuda-pathfinder/latest): Utilities for locating CUDA components installed in the user’s Python environment

- 

[cuda.cccl.coop](https://nvidia.github.io/cccl/unstable/python/coop.html): A Python module providing CCCL’s reusable block-wide and warp-wide device primitives for use within Numba CUDA kernels

- 

[cuda.cccl.compute](https://nvidia.github.io/cccl/unstable/python/compute/index.html): A Python module for easy access to CCCL’s highly efficient and customizable parallel algorithms, like sort, scan, reduce, transform, etc., that are callable on the host

- 

[numba.cuda:](https://nvidia.github.io/numba-cuda/) Numba’s target for CUDA GPU programming by directly compiling a restricted subset of Python code into CUDA kernels and device functions following the CUDA execution model

- 

[nvmath-python:](https://docs.nvidia.com/cuda/nvmath-python/latest) Pythonic access to NVIDIA CPU and GPU math libraries, with both host and device (through [nvmath.device](https://docs.nvidia.com/cuda/nvmath-python/latest/overview.html#device-apis)) APIs, and also provides low-level Python bindings to host C APIs (through [nvmath.bindings)](https://docs.nvidia.com/cuda/nvmath-python/latest/bindings/index.html)

As of CUDA 13.3, CUDA Python and C++ now stand as equal first-class citizens, with NVIDIA aiming to maintain feature-complete parity going forward. Please refer to the [cuda.bindings](https://nvidia.github.io/cuda-python/cuda-bindings/latest) documentation for installation guide and further detail.

* * *

## Get Started With CUDA Python 

Dive into high-performance computing by setting up your environment, writing your first CUDA Python code, and exploring the powerful features that harness the full potential of NVIDIA GPUs.

 ![decorative icon](https://developer.download.nvidia.com/icons/m48-accelerating-cuda-c++-appl-with-multiple-gpus.svg)
### 1,001 Ways to Write CUDA Kernels in Python

Explore best practices for writing CUDA kernels using Python, empowering developers to harness the full potential of GPU acceleration.

[Watch Video](https://www.nvidia.com/en-us/on-demand/session/gtc25-s72449/)

 ![decorative icon](https://developer.download.nvidia.com/icons/m48-tools-settings.svg)
### The CUDA Python Developer’s Toolbox

See practical examples of popular CUDA Python libraries in action, illustrating their effectiveness in real-world scenarios.

[Watch Video](https://www.nvidia.com/en-us/on-demand/session/gtc25-s72448/)

 ![decorative icon](https://developer.download.nvidia.com/icons/m48-coding.svg)
### CUDA Python GitHub Repository

Explore the official CUDA Python GitHub repository, a comprehensive resource for developers leveraging NVIDIA GPUs in their Python code. This repository provides the latest Numba releases, detailed documentation, and a variety of examples to help you get started with GPU-accelerated computing and optimize your applications for high performance.

[Visit GitHub Repository](https://nvidia.github.io/cuda-python/latest/)

* * *

## Starter Kits

Get up and running with NVIDIA CUDA Python GPU programming quickly and efficiently. Our starter kits are designed to provide everything you need to begin harnessing the power of NVIDIA GPUs in your Python applications.

### GPU Programming

Designed by Python developers, for Python developers, this kit provides all the essential tools and resources to get you started quickly. Whether you&#39;re new to GPU programming or looking to enhance your existing Python applications, this is your go-to resource for harnessing the power of NVIDIA GPUs.

- 

[Read: Unifying the CUDA Python Ecosystem](https://developer.nvidia.com/blog/unifying-the-cuda-python-ecosystem/)

- 

[Watch: How to Write a CUDA Program: The Parallel Programming Edition](https://www.nvidia.com/en-us/on-demand/session/gtc25-s72897/?playlistId=playList-600dacf3-7db9-45fe-b0a2-e0156a792bc5)

- 

[Watch: 10x Your CUDA Productivity: Python for Programming the GPU](https://www.nvidia.com/en-us/on-demand/session/gtcparis25-gp1032/)

- 

[Watch: The CUDA Python Developer’s Toolbox](https://www.nvidia.com/en-us/on-demand/session/gtc25-s72448/)

### NVIDIA Math Libraries With CUDA Kernel Fusion in Python

This kit is designed to help developers understand and implement kernel fusion, a technique that combines multiple GPU kernels into a single, more efficient kernel to reduce memory transfers and improve performance.

- 

[Read: Delivering the Missing Building Blocks for NVIDIA CUDA Kernel Fusion in Python](https://developer.nvidia.com/blog/delivering-the-missing-building-blocks-for-nvidia-cuda-kernel-fusion-in-python/)

- 

[Read: Compiler Explorer: An Essential Kernel Playground for CUDA Developers](https://developer.nvidia.com/blog/compiler-explorer-the-kernel-playground-for-cuda-developers/)

- 

[Watch: 1,001 Ways to Write CUDA Kernels in Python](https://www.nvidia.com/en-us/on-demand/session/gtc25-s72449/)

### Streamline Python Workflows With Wheel Variants

This starter kit simplifies the installation and packaging of CUDA-accelerated Python applications by providing tools and guidelines to create and distribute wheel variants compatible with multiple CUDA versions and environments.

- 

[Read: Streamline CUDA-Accelerated Python Install and Packaging Workflows With Wheel Variants](https://developer.nvidia.com/blog/streamline-cuda-accelerated-python-install-and-packaging-workflows-with-wheel-variants/)

- 

[Read more about the WheelNext open source initiative](https://wheelnext.dev/)

- 

[Explore the WheelNext GitHub Repository](https://github.com/wheelnext)

### Domain Libraries

This kit explores NVIDIA’s GPU-accelerated domain libraries—RAPIDS™, CUDA-Q™, Warp, and PyTorch—giving developers the resources to quickly integrate specialized, high-performance capabilities into their Python applications.

- 

[Learn more about RAPIDS](http://Rapids.AI)

- 

[Learn more about CUDA-Q](https://developer.nvidia.com/cuda-q)

- 

[Learn more about Warp](https://developer.nvidia.com/warp-python)

- 

[Learn more about PyTorch](https://pytorch.org/)

* * *

## 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 shared foundation that empowers the ecosystem to build cohesively, ensuring different accelerated libraries work together to solve complex computational challenges. We also want to lower the barrier to entry for Python developers.

### Software Partners

[CuPy](https://cupy.dev/) is a NumPy/SciPy-compatible array library from [Preferred Networks](https://www.preferred.jp/en/) 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](https://github.com/numba/numba), a Python compiler from [Anaconda](https://www.anaconda.com/) 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.

![](https://developer.download.nvidia.com/images/cuda-python/cupy-logo.svg) ![](https://developer.download.nvidia.com/images/cuda-python/numba-logo.svg)

* * *

## More Resources

 ![Icon showing three people, representing a Developer Community Group](https://developer.download.nvidia.com/icons/m48-people-group.svg)
### Visit the Deveoper Forums

 ![Icon representing a blog or news article](https://developer.download.nvidia.com/icons/m48-newspaper-256px-blk.png)
### Read Python Developer Blogs

 ![Play button icon representing a training video or media session](https://developer.download.nvidia.com/icons/m48-play.svg)
### Watch Latest in Tools and Training for Developers GTC Sessions 

 ![Icon representing accelerated computing or coding. Browser window with coding brackets.](https://developer.download.nvidia.com/icons/m48-developer-1.svg)
### Accelerated Computing Hub

pip install cuda-python

[Access GitHub](https://nvidia.github.io/cuda-python/latest/)


