NVIDIA cuQuantum Python
Project description
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.14
- Cython >=3.0.4,!=3.1.0,!=3.1.1
- 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:
- Clone the NVIDIA/cuQuantum repository:
git clone https://github.com/NVIDIA/cuQuantum - Set
CUDA_PATHto point to your CUDA installation - [optional] Make sure cuQuantum and cuTENSOR are visible in your
LD_LIBRARY_PATH - Switch to the directory containing the Python implementation:
cd cuQuantum/python - Build and install:
- Run
pip install .if you skip Step 3 above - Run
pip install -v --no-deps --no-build-isolation .otherwise (advanced)
- Run
Notes:
- For Step 5, if you are building from source for testing/developing purposes you'd likely want to insert a
-eflag before the last period (sopip ... .becomespip ... -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.10.1+
- cuTensorNet 2.9.1+
- cuDensityMat >=0.3.1, <0.4.0
- Python >=3.11, <3.14
- NumPy v1.21+
- nvmath-python ==0.6.0
- cuda-bindings >=12.9.2, <13.0.0 for CUDA 12 or cuda-bindings >=13.0.1, <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)
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_PRELOADto 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cuquantum_python_cu12-25.9.1-cp313-cp313-manylinux2014_x86_64.whl.
File metadata
- Download URL: cuquantum_python_cu12-25.9.1-cp313-cp313-manylinux2014_x86_64.whl
- Upload date:
- Size: 6.2 MB
- Tags: CPython 3.13
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d5d5485f8388ba2371531059c62abac54e4a4bc90d6304b25781c958bc42d15
|
|
| MD5 |
655c94b89cd194d42c63b8268455a6a0
|
|
| BLAKE2b-256 |
c871786122567cc20b986ac5b25eba79f418cbea6d51782e3ed946f2f19960fe
|
File details
Details for the file cuquantum_python_cu12-25.9.1-cp313-cp313-manylinux2014_aarch64.whl.
File metadata
- Download URL: cuquantum_python_cu12-25.9.1-cp313-cp313-manylinux2014_aarch64.whl
- Upload date:
- Size: 6.3 MB
- Tags: CPython 3.13
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2911553522de446ad0a1025c94e17ea20dd19f3d46f2b6d99a62dc05d686f37
|
|
| MD5 |
906bbd01d0422d926f42a4611986e263
|
|
| BLAKE2b-256 |
e6966b91bf94d7e6dbea847f34940b8567133f7afd9af52503cbc2add0d67517
|
File details
Details for the file cuquantum_python_cu12-25.9.1-cp312-cp312-manylinux2014_x86_64.whl.
File metadata
- Download URL: cuquantum_python_cu12-25.9.1-cp312-cp312-manylinux2014_x86_64.whl
- Upload date:
- Size: 6.2 MB
- Tags: CPython 3.12
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b9518bae722384a476f818bed1fdeec7440937db5f7bd6920c367c0d8d84e4e
|
|
| MD5 |
6d68db533332f70d5b39084ecdea2aea
|
|
| BLAKE2b-256 |
f55af31c51ce7045f6e8f75ec135a445eb12623cd5365457b9c2fa3782f4893e
|
File details
Details for the file cuquantum_python_cu12-25.9.1-cp312-cp312-manylinux2014_aarch64.whl.
File metadata
- Download URL: cuquantum_python_cu12-25.9.1-cp312-cp312-manylinux2014_aarch64.whl
- Upload date:
- Size: 6.3 MB
- Tags: CPython 3.12
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c139d074ed94626dbf379b38a89c2e9d4d51e7e22a6bc187c5af6e7036a1613
|
|
| MD5 |
153ad158d514380742e586fcd529df01
|
|
| BLAKE2b-256 |
f93dc979b44073bc3c674a1062d255a19530e5bde2276c708fb14c09f62541f7
|
File details
Details for the file cuquantum_python_cu12-25.9.1-cp311-cp311-manylinux2014_x86_64.whl.
File metadata
- Download URL: cuquantum_python_cu12-25.9.1-cp311-cp311-manylinux2014_x86_64.whl
- Upload date:
- Size: 6.2 MB
- Tags: CPython 3.11
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ff32b3f6a6d30ffe705659e4a0bd71a8d5034ea74007f427f3f8f4cf07b2291
|
|
| MD5 |
d5bc38ad47a7414028b1951e6936ac99
|
|
| BLAKE2b-256 |
5ea0314b73415a73680a8e8ddddf4478eaa74a085aa2e6df1d19c3290a58e892
|
File details
Details for the file cuquantum_python_cu12-25.9.1-cp311-cp311-manylinux2014_aarch64.whl.
File metadata
- Download URL: cuquantum_python_cu12-25.9.1-cp311-cp311-manylinux2014_aarch64.whl
- Upload date:
- Size: 6.2 MB
- Tags: CPython 3.11
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6473c0925ce40821a4a0a9dc0d73616ee9ffeedda8303bb833d812b7b32fa64c
|
|
| MD5 |
776b92d76810757a8ba74b8f3eda9c71
|
|
| BLAKE2b-256 |
d0618ad3ab6b6e0302b9fc0f6a8208d9892b26adae8346ff96fb0eb055e04665
|
File details
Details for the file cuquantum_python_cu12-25.9.1-75-cp313-cp313-manylinux2014_aarch64.whl.
File metadata
- Download URL: cuquantum_python_cu12-25.9.1-75-cp313-cp313-manylinux2014_aarch64.whl
- Upload date:
- Size: 6.3 MB
- Tags: CPython 3.13
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d263023851ab9478206828783dfac501f7bbf78284dd2b4a535ae1abfcc1e475
|
|
| MD5 |
239487725c2019cfb5e370a39a15a722
|
|
| BLAKE2b-256 |
055a61ae07fecee61d8081e613480a5df78f5b18514c5ec59d1c3bab98de680f
|
File details
Details for the file cuquantum_python_cu12-25.9.1-75-cp312-cp312-manylinux2014_aarch64.whl.
File metadata
- Download URL: cuquantum_python_cu12-25.9.1-75-cp312-cp312-manylinux2014_aarch64.whl
- Upload date:
- Size: 6.3 MB
- Tags: CPython 3.12
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afc75437f8f5821f2616d14014eeca325ccb37167e0e7f14087e4bc3c5c070af
|
|
| MD5 |
b2e18c355435d12522d5b24d0226522d
|
|
| BLAKE2b-256 |
714ff398644acf356eb11f43c983ee84a2f335f1bdb9e5217ad955b44697b6b5
|
File details
Details for the file cuquantum_python_cu12-25.9.1-75-cp311-cp311-manylinux2014_aarch64.whl.
File metadata
- Download URL: cuquantum_python_cu12-25.9.1-75-cp311-cp311-manylinux2014_aarch64.whl
- Upload date:
- Size: 6.2 MB
- Tags: CPython 3.11
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86006f808e93eb169cf4eb0a0794541e04907787ae4a2f058dc2c783528b80b9
|
|
| MD5 |
a42bf7524d7f30ee128fa972a8bb58dd
|
|
| BLAKE2b-256 |
cf9579a50b0dc1b37c03d63024b4b0ca417d78eb33efe065dd5315f4005bc715
|
File details
Details for the file cuquantum_python_cu12-25.9.1-74-cp313-cp313-manylinux2014_x86_64.whl.
File metadata
- Download URL: cuquantum_python_cu12-25.9.1-74-cp313-cp313-manylinux2014_x86_64.whl
- Upload date:
- Size: 6.2 MB
- Tags: CPython 3.13
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4719c35f91b701df262de04cee6e729f134cc9f67f54fe88639a89830c68b3de
|
|
| MD5 |
3aa3bb6421b24df4f8858c76bb442949
|
|
| BLAKE2b-256 |
492dd1da6eb389707d6bb750577adfe399bb02523069e7188e17c26be15c7639
|
File details
Details for the file cuquantum_python_cu12-25.9.1-74-cp312-cp312-manylinux2014_x86_64.whl.
File metadata
- Download URL: cuquantum_python_cu12-25.9.1-74-cp312-cp312-manylinux2014_x86_64.whl
- Upload date:
- Size: 6.2 MB
- Tags: CPython 3.12
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c740154a002a208a941eb08e74b95b28f82c22a88c864216547c9f654423dff6
|
|
| MD5 |
38e7aeb6e323965bb384822635d8275c
|
|
| BLAKE2b-256 |
c6201069a90549d9c30f9b809af73ab21869f9b47b253a9a8cf5da71ef47c97a
|
File details
Details for the file cuquantum_python_cu12-25.9.1-74-cp311-cp311-manylinux2014_x86_64.whl.
File metadata
- Download URL: cuquantum_python_cu12-25.9.1-74-cp311-cp311-manylinux2014_x86_64.whl
- Upload date:
- Size: 6.2 MB
- Tags: CPython 3.11
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afb471e0bfc5bfb0d28da9f4c4b2fac571c62dd5109d7134104c4db784701bcd
|
|
| MD5 |
6563d22ef9dfc49f0162826d62c7cbce
|
|
| BLAKE2b-256 |
913d58723578f3d63c93e7bc29197743959f6726e2f71c3a5fc06dc72cfdbc98
|