Getting Started¶
In this section, we briefly describe how to install cuQuantum which contains both cuStateVec and cuTensorNet.
For C/C++ users, the easiest way to get started is through the installation from conda-forge described below. More detailed explanations on installation, compilation and usage of each component can be found in cuStateVec Guide and cuTensorNet Guide.
For Python users, cuQuantum Python delivers all functionalities of cuStateVec and cuTensorNet with Python APIs. The easiest way to get started with cuQuantum Python is also through installation from conda-forge described below. For more detailed guide on the installation and usage, please refer to cuQuantum Python Guide.
Install cuQuantum from conda-forge¶
If you already have a Conda environment set up (if not, Miniforge/Mambaforge is a great starting point), cuQuantum can be easily installed from the conda-forge channel, via:
conda install -c conda-forge cuquantum
The conda
solver will install all required dependencies for you. The package is installed to the current $CONDA_PREFIX
, so you can simply update the environment variable as follows:
export CUQUANTUM_ROOT=$CONDA_PREFIX
Note
To enable automatic MPI parallelism for cuTensorNet, you can install cuquantum
with an MPI from conda-forge, e.g., conda install -c conda-forge cuquantum openmpi
.
For detailed guide, please refer to cuTensorNet Guide.
Install cuQuantum Python from conda-forge¶
Similar to the cuQuantum installation introduced above, cuQuantum Python can also be easily installed from the conda-forge channel, via:
conda install -c conda-forge cuquantum-python
The conda
solver will install all required dependencies for you.
Install cuQuantum from NVIDIA DevZone¶
cuQuantum package can be downloaded from https://developer.nvidia.com/cuQuantum-downloads?target_os=Linux. Further, the cuTensorNet component relies upon the functionality of the cuTENSOR package, available for download at https://developer.nvidia.com/cutensor.
We will be using the tarball distribution to illustrate the process. Once the tarball file is downloaded to CUQUANTUM_ROOT
directory,
you can unpack it via:
tar zxvf cuquantum-linux-xxxxx-aa.bb.cc.dd-archive.tar.xz
and update the environment variable:
export CUQUANTUM_ROOT=/path/to/where/tarball/is/unpacked
Note
To enable automatic MPI parallelism for cuTensorNet, please refer to cuTensorNet Guide.
cuQuantum Dependencies¶
Below we provide a summary of dependencies required for all cuQuantum components:
cuStateVec¶
GPU Architectures |
Volta, Turing, Ampere, Ada, Hopper |
NVIDIA GPU with Compute Capability |
7.0+ |
CUDA |
11.x, 12.x |
CPU architectures |
x86_64, ppc64le, ARM64 |
Operating System |
Linux |
Driver |
450.80.02+ (Linux) for CUDA 11.x
525.60.13+ (Linux) for CUDA 12.x
|
cuTensorNet¶
GPU Architectures |
Volta, Turing, Ampere, Ada, Hopper |
NVIDIA GPU with Compute Capability |
7.0+ |
CUDA |
11.x or 12.x |
CPU architectures |
x86_64, ppc64le, ARM64 |
Operating System |
Linux |
Driver |
450.80.02+ (Linux/CUDA 11) or 525.60.13+ (Linux/CUDA 12) |
cuTENSOR |
1.6.1+ |
cuQuantum Python¶
When Building |
When Running |
|
---|---|---|
Python |
3.8+ |
3.8+ |
pip |
22.3.1+ |
N/A |
setuptools |
>=61.0.0 |
N/A |
wheel |
>=0.34.0 |
N/A |
Cython |
>=0.29.22,<3 |
N/A |
cuStateVec |
1.3.0 |
~=1.3 |
cuTensorNet |
2.1.0 |
~=2.1 |
NumPy |
N/A |
v1.19+ |
CuPy (see CuPy installation guide) |
N/A |
v9.5.0+ |
PyTorch (optional, see PyTorch installation guide) |
N/A |
v1.10+ |
Qiskit (optional, see Qiskit installation guide) |
N/A |
v0.24.0+ |
Cirq (optional, see Cirq installation guide) |
N/A |
v0.6.0+ |
mpi4py (optional, see mpi4py installation guide) |
N/A |
v3.1.0+ |
cuQuantum Appliance¶
CUDA |
11.x |
Driver |
470.57.02+ (Linux) |