Skip to main content

cuQuantum Python

Documentation

Please visit the NVIDIA cuQuantum Python documentation.

For instructions on installing cuQuantum Python, refer to our getting started section

Building and installing cuQuantum Python from source

Requirements

The build-time dependencies of the cuQuantum Python package include:

  • CUDA Toolkit 12.x or 13.x
  • Python >=3.11, <3.15
  • Cython >=3.0.4,!=3.1.0,!=3.1.1 (>=3.1.3 for Python 3.14)
  • pip 21.3.1+
  • packaging
  • setuptools 77.0.3+
  • wheel 0.34.0+

Note: Starting with cuQuantum Python v25.06, cuQuantum C libraries including cuDensityMat, cuStateVec and cuTensorNet are no longer build-time dependencies. However, they are still required at runtime.

Except for CUDA and Python, the rest of the build-time dependencies are handled by the new PEP-517-based build system (see Step 7 below).

To compile and install cuQuantum Python from source, please follow the steps below:

  1. Clone the NVIDIA/cuQuantum repository: git clone https://github.com/NVIDIA/cuQuantum
  2. Set CUDA_PATH to point to your CUDA installation
  3. [optional] Make sure cuQuantum and cuTENSOR are visible in your LD_LIBRARY_PATH
  4. Switch to the directory containing the Python implementation: cd cuQuantum/python
  5. Build and install:
    • Run pip install . if you skip Step 3 above
    • Run pip install -v --no-deps --no-build-isolation . otherwise (advanced)

Notes:

  • For Step 5, if you are building from source for testing/developing purposes you'd likely want to insert a -e flag before the last period (so pip ... . becomes pip ... -e .):
    • -e: use the "editable" (in-place) mode
    • -v: enable more verbose output
    • --no-deps: avoid installing the run-time dependencies
    • --no-build-isolation: reuse the current Python environment instead of creating a new one for building the package (this avoids installing any build-time dependencies)
  • Please ensure that you use consistent binaries and packages for either CUDA 12 or 13. Mixing-and-matching will result in undefined behavior.

Running

Requirements

Runtime dependencies of the cuQuantum Python package include:

  • An NVIDIA GPU with compute capability 7.5+
  • Driver: Linux (525.60.13+ for CUDA 12, 580.65.06+ for CUDA 13)
  • CUDA Toolkit 12.x or 13.x
  • cuStateVec 1.15.1+
  • cuTensorNet 2.15.0+
  • cuDensityMat >=0.7.1, <0.8.0
  • cuPauliProp >=0.5.1, <0.6.0
  • cuStabilizer >=0.5.0, <0.6.0
  • Python >=3.11, <3.15
  • NumPy v1.21+
  • nvmath-python >=1.0.0, <2.0.0
  • cuda-pathfinder >=1.6.0, <2
  • cuda-bindings >=12.9.4, <13.0.0 for CUDA 12 or cuda-bindings >=13.0.3, <14.0.0
  • CuPy v13.0.0+ (see installation guide)
  • PyTorch v1.10+ (optional, see installation guide)
  • Qiskit v1.4.2+ (optional, see installation guide)
  • Cirq v0.6.0+ (optional, see installation guide)
  • mpi4py v3.1.0+ (optional, see installation guide)
  • cuSolverMp >=0.9.1, <0.10.0 (optional, see installation guide)
  • NCCL >=2.29, <3.0 (optional, see installation guide)

If you install everything from conda-forge, all the required dependencies are taken care for you (except for the driver).

If you install the pip wheels, CuPy, cuTENSOR and cuQuantum (but not CUDA Toolkit or the driver, please make sure the CUDA libraries are visible through your LD_LIBRARY_PATH) are installed for you.

If you build cuQuantum Python from source, please make sure that the paths to the CUDA, cuQuantum, and cuTENSOR libraries are added to your LD_LIBRARY_PATH environment variable, and that a compatible CuPy is installed.

Known issues:

  • If a system has multiple copies of cuTENSOR, one of which is installed in a default system path, the Python runtime could pick it up despite cuQuantum Python is linked to another copy installed elsewhere, potentially causing a version-mismatch error. The proper fix is to remove cuTENSOR from the system paths to ensure the visibility of the proper copy. DO NOT ATTEMPT to use LD_PRELOAD to overwrite it --- it could cause hard to debug behaviors!
  • Please ensure that you use consistent binaries and packages for either CUDA 12 or 13. Mixing-and-matching will result in undefined behavior.

Samples

Samples for demonstrating the usage of both low-level and high-level Python APIs are available in the samples directory. The low-level API samples are 1:1 translations of the corresponding samples written in C. The high-level API samples demonstrate pythonic usages of the cuTensorNet and cuDensityMat library in Python.

Testing

If pytest is installed, typing pytest tests at the command prompt in the Python source root directory will run all tests. Some tests would be skipped if cffi is not installed or if the environment variable CUDA_PATH is not set.

Citing cuQuantum

H. Bayraktar et al., "cuQuantum SDK: A High-Performance Library for Accelerating Quantum Science", 2023 IEEE International Conference on Quantum Computing and Engineering (QCE), Bellevue, WA, USA, 2023, pp. 1050-1061, doi: 10.1109/QCE57702.2023.00119

Metadata

Release files for cuquantum-python-cu12 26.11.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for cuquantum-python-cu12 26.11.0
File Actions
cuquantum_python_cu12-26.11.0-cp314-cp314-manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details for cuquantum_python_cu12-26.11.0-cp314-cp314-manylinux2014_x86_64.whl
cuquantum_python_cu12-26.11.0-cp314-cp314-manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details for cuquantum_python_cu12-26.11.0-cp314-cp314-manylinux2014_aarch64.whl
cuquantum_python_cu12-26.11.0-cp313-cp313-manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details for cuquantum_python_cu12-26.11.0-cp313-cp313-manylinux2014_x86_64.whl
cuquantum_python_cu12-26.11.0-cp313-cp313-manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details for cuquantum_python_cu12-26.11.0-cp313-cp313-manylinux2014_aarch64.whl
cuquantum_python_cu12-26.11.0-cp312-cp312-manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details for cuquantum_python_cu12-26.11.0-cp312-cp312-manylinux2014_x86_64.whl
cuquantum_python_cu12-26.11.0-cp312-cp312-manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details for cuquantum_python_cu12-26.11.0-cp312-cp312-manylinux2014_aarch64.whl
cuquantum_python_cu12-26.11.0-cp311-cp311-manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details for cuquantum_python_cu12-26.11.0-cp311-cp311-manylinux2014_x86_64.whl
cuquantum_python_cu12-26.11.0-cp311-cp311-manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details for cuquantum_python_cu12-26.11.0-cp311-cp311-manylinux2014_aarch64.whl

Total release size: 84.6 MB

Release files / cuquantum_python_cu12-26.11.0-cp314-cp314-manylinux2014_x86_64.whl

Download URL cuquantum_python_cu12-26.11.0-cp314-cp314-manylinux2014_x86_64.whl
Size 10.4 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
bc7fba302ed50a1d6d1890478b57e17a19d03eb9b7be3cf35e2f8adb7777d407
BLAKE2b-256 checksum
How to use checksums
4ee41a5f61b01ef1cc8ae7beca67d38559c214ef4a298a495ae5dc22f84a49ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / cuquantum_python_cu12-26.11.0-cp314-cp314-manylinux2014_aarch64.whl

Download URL cuquantum_python_cu12-26.11.0-cp314-cp314-manylinux2014_aarch64.whl
Size 10.6 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
a0cd5c57db8c9d74262874c08ba1f4fd0cff6540661b20e6d54ddf8f40e342d2
BLAKE2b-256 checksum
How to use checksums
37875ccb4d33a67ed5f584d53a096a59bba86863dcd186ad5fbfb7ec40773054
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / cuquantum_python_cu12-26.11.0-cp313-cp313-manylinux2014_x86_64.whl

Download URL cuquantum_python_cu12-26.11.0-cp313-cp313-manylinux2014_x86_64.whl
Size 10.5 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
2d58511c5f3cab3e7fcd19e1b846f5c9559a99795da083425c0f72deff2f3def
BLAKE2b-256 checksum
How to use checksums
4bf5563412495ef3f515dc37aa26e02f9fe0020ef87d649aee399d9791df9dcc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / cuquantum_python_cu12-26.11.0-cp313-cp313-manylinux2014_aarch64.whl

Download URL cuquantum_python_cu12-26.11.0-cp313-cp313-manylinux2014_aarch64.whl
Size 10.6 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
0941cf94e9b1b2e73f294427fcaf874996fbdefa26a4c0f81fbdd6fa9aabd863
BLAKE2b-256 checksum
How to use checksums
6cba8eaa147fea81026b5b0bd98dffc64552ef527c524fcb7e6048976220ed7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / cuquantum_python_cu12-26.11.0-cp312-cp312-manylinux2014_x86_64.whl

Download URL cuquantum_python_cu12-26.11.0-cp312-cp312-manylinux2014_x86_64.whl
Size 10.6 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
2f451c666c93f86660be12edb0b9e3ebf5371d0273a08bdea37030cc488f736a
BLAKE2b-256 checksum
How to use checksums
aebf3fd42dc7dcee50f22631586728d0d65771a9711066f932dc67db51a45061
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / cuquantum_python_cu12-26.11.0-cp312-cp312-manylinux2014_aarch64.whl

Download URL cuquantum_python_cu12-26.11.0-cp312-cp312-manylinux2014_aarch64.whl
Size 10.7 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
1f4de4724c356c9c428ae3d3ee908b916c5e74369946b9c94d01df55c0908376
BLAKE2b-256 checksum
How to use checksums
6b40954e167d3fa01e067b52e581dabe80c90a87133b3f968678a7240ba9a018
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / cuquantum_python_cu12-26.11.0-cp311-cp311-manylinux2014_x86_64.whl

Download URL cuquantum_python_cu12-26.11.0-cp311-cp311-manylinux2014_x86_64.whl
Size 10.5 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
9cf913297bfc54bba6c8bc1f4ac3ba45119abb644934fb19c1fcd49b6f05eff6
BLAKE2b-256 checksum
How to use checksums
f3afa119638402faaf74be3d87a42a08c01969ce3852dac715b5e3b7afdb6545
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / cuquantum_python_cu12-26.11.0-cp311-cp311-manylinux2014_aarch64.whl

Download URL cuquantum_python_cu12-26.11.0-cp311-cp311-manylinux2014_aarch64.whl
Size 10.7 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
c3642282dc5d1a2efdfb4a92d8cf0af5ff1963598bc745aafdaa64cede8c34c7
BLAKE2b-256 checksum
How to use checksums
e329bf7adf18b30ff23bd4121339b6857f36a24cc6f5e4cd047265fb42146d2c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Security for cuquantum-python-cu12 26.11.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page