Skip to content

NVIDIA/cuda-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b90f2df · Jan 15, 2025
Jan 15, 2025
Jan 15, 2025
Jan 15, 2025
Jan 13, 2025
Dec 4, 2024
Nov 6, 2024
Jan 15, 2025
Aug 10, 2021
Jul 3, 2021
Jan 15, 2025

Repository files navigation

cuda-python

CUDA Python is the home for accessing NVIDIA’s CUDA platform from Python. It consists of multiple components:

  • cuda.core: Pythonic access to CUDA Runtime and other core functionalities
  • cuda.bindings: Low-level Python bindings to CUDA C APIs
  • cuda.cooperative: Pythonic exposure of CUB cooperative algorithms
  • cuda.parallel: Pythonic exposure of Thrust parallel algorithms

For access to NVIDIA CPU & GPU Math Libraries, please refer to nvmath-python.

CUDA Python is currently undergoing an overhaul to improve existing and bring up new components. All of the previously available functionalities from the cuda-python package will continue to be available, please refer to the cuda.bindings documentation for installation guide and further detail.

cuda-python as a metapackage

cuda-python is being re-structured to become a metapackage that contains a collection of subpackages. Each subpackage is versioned independently, allowing installation of each component as needed.

Subpackage: cuda.core

The cuda.core package offers idiomatic, pythonic access to CUDA Runtime and other functionalities.

The goals are to

  1. Provide idiomatic ("pythonic") access to CUDA Driver, Runtime, and JIT compiler toolchain
  2. Focus on developer productivity by ensuring end-to-end CUDA development can be performed quickly and entirely in Python
  3. Avoid homegrown Python abstractions for CUDA for new Python GPU libraries starting from scratch
  4. Ease developer burden of maintaining and catching up with latest CUDA features
  5. Flatten the learning curve for current and future generations of CUDA developers

Subpackage: cuda.bindings

The cuda.bindings package is a standard set of low-level interfaces, providing full coverage of and access to the CUDA host APIs from Python.

The list of available interfaces are:

  • CUDA Driver
  • CUDA Runtime
  • NVRTC
  • nvJitLink

Supported Python Versions

All cuda-python subpackages follows NEP 29 for supported Python version guarantee.

Before dropping support, an issue will be raised for an advanced notice.