Skip to main content

CUDA Python: Performance meets Productivity

Project description

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: A Python package providing CCCL’s reusable block-wide and warp-wide device primitives for use within Numba CUDA kernels

  • cuda.parallel: A Python package 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: 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.

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 now 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

  • NVVM

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

cuda_python-12.9.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file cuda_python-12.9.0-py3-none-any.whl.

File metadata

  • Download URL: cuda_python-12.9.0-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cuda_python-12.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 926acba49b2c0a0374c61b7c98f337c085199cf51cdfe4d6423c4129c20547a7
MD5 4f9d6cf4097c20e65d80b8bcb758640e
BLAKE2b-256 243c4475aebeaab9651f2e61000fbe76f91a476d371dbfbf0a1cf46e689af253

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuda_python-12.9.0-py3-none-any.whl:

Publisher: release.yml on NVIDIA/cuda-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page