*************** Getting Started *************** In this section, we briefly descibe 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 :doc:`cuStateVec Guide ` and :doc:`cuTensorNet Guide `. For Python users, *cuQuantum Python* delivers all functionalities of *cuStateVec* and *cuTensorNet* with Python APIs. The easist 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 :doc:`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: .. code-block:: bash 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: .. code-block:: bash 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 :doc:`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: .. code-block:: bash 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: .. code-block:: bash tar zxvf cuquantum-linux-xxxxx-aa.bb.cc.dd-archive.tar.xz and update the environment variable: .. code-block:: bash export CUQUANTUM_ROOT=/path/to/where/tarball/is/unpacked .. note:: To enable automatic MPI parallelism for *cuTensorNet*, please refer to :doc:`cuTensorNet Guide `. ====================== cuQuantum Dependencies ====================== Below we provide a summary of dependencies required for all *cuQuantum* components: ---------- cuStateVec ---------- .. list-table:: :widths: 50 50 * - GPU Architectures - Volta, Turing, Ampere, Ada, Hopper * - NVIDIA GPU with Compute Capability - 7.0+ * - CUDA - 11.x * - CPU architectures - x86_64, ppc64le, ARM64 * - Operating System - Linux * - Driver - 450.80.02+ (Linux) ----------- cuTensorNet ----------- .. list-table:: :widths: 50 50 * - GPU Architectures - Volta, Turing, Ampere, Ada, Hopper * - NVIDIA GPU with Compute Capability - 7.0+ * - CUDA - 11.x * - CPU architectures - x86_64, ppc64le, ARM64 * - Operating System - Linux * - Driver - 450.80.02+ (Linux) * - cuTENSOR - 1.6.1+ ---------------- cuQuantum Python ---------------- .. list-table:: :widths: 50 25 25 :header-rows: 1 * - - 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.2.0 - ~=1.1 * - cuTensorNet - 2.0.0 - ~=2.0 * - 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 ------------------- .. list-table:: :widths: 50 50 * - CUDA - 11.x * - Driver - 470.42.01+ (Linux)