From d630c0bbc4a9a85f55ff1509394f00a276e2ddd8 Mon Sep 17 00:00:00 2001 From: "A.M. Santana" Date: Thu, 28 Sep 2023 18:00:49 +0000 Subject: [PATCH 01/23] initial gpu backend docs Signed-off-by: A.M. Santana --- .devcontainer/devcontainer.json | 2 +- docs/sphinx/install.rst | 5 +++++ docs/sphinx/using/simulators.rst | 26 ++++++++++++++++++++++++++ python/README.md | 6 ++++++ 4 files changed, 38 insertions(+), 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 97d6327ac2..c5cb6fbf7c 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -11,7 +11,7 @@ // Unfortunately, it is not currently possible to have the same dev container definition for systems with and without a supported GPU. // See also https://github.com/airo-ugent/airo-ros/issues/17. // To enable the container to leverage GPU acceleration, add "--gpus=all" to the list of arguments below. - "runArgs": [ "--net=host", "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ], + "runArgs": [ "--net=host", "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined", "--gpus=all" ], "features": { // Getting a GUI to show content in Chrome (optional - uncomment if needed) // "ghcr.io/devcontainers/features/desktop-lite:1": { "password": "cuda-quantum" } diff --git a/docs/sphinx/install.rst b/docs/sphinx/install.rst index 39ee0c9bb1..24dbc61861 100644 --- a/docs/sphinx/install.rst +++ b/docs/sphinx/install.rst @@ -134,6 +134,11 @@ for all releases `here `__. For more information about building a CUDA Quantum Python wheel from source, see the `README `__. +The CUDA Quantum Python wheels, by default, do not come installed with our GPU-enabled +simulation backends. For further information on installing these GPU simulators with the +Python wheels, see +`README `__. + Build CUDA Quantum from Source ------------------------------ diff --git a/docs/sphinx/using/simulators.rst b/docs/sphinx/using/simulators.rst index 1f045a06fc..465ce29a37 100644 --- a/docs/sphinx/using/simulators.rst +++ b/docs/sphinx/using/simulators.rst @@ -90,3 +90,29 @@ options to :code:`nvq++` .. code:: bash nvq++ --target tensornet src.cpp ... + +GPU Simulation Requirements +================================== + +For programmers using the CUDA Quantum Python wheels, extra configuration is needed to install +our GPU enabled simulation backends. + +The system level dependencies for these backends include: +* An NVIDIA GPU with compute capability 7.0+ +* Driver: Linux (450.80.02+ for CUDA 11, 525.60.13+ for CUDA 12) +* CUDA Toolkit 11.x or newer +* Python 3.9+ + +For Linux users, these system requirements may be installed via + +.. code:: bash + + todo ... + +Note: After installing the CUDA Toolkit, you must follow these `post-installation instructions +`__. + +Python Requirements (pip installation recommended): +* cutensor-cu11 +* nvidia-cublas-cu11 +* nvidia-cusolver-cu11 \ No newline at end of file diff --git a/python/README.md b/python/README.md index 32c599cd0a..2c143246a4 100644 --- a/python/README.md +++ b/python/README.md @@ -62,10 +62,16 @@ result = cudaq.sample(kernel) To see more examples, go to [python examples][python_examples], or check out the [Python API reference][python_api_reference]. +To install and configure GPU enabled simulation backends, see +[Configuring GPU Backends][python_gpu_reference]. + [python_examples]: https://nvidia.github.io/cuda-quantum/latest/using/python.html [python_api_reference]: https://nvidia.github.io/cuda-quantum/latest/api/languages/python_api.html +[python_gpu_reference]: + https://nvidia.github.io/cuda-quantum/latest/using/simulators.html#gpu-simulation-requirements + ## Contributing From a6ce0262762459cbf18b1c423afac8165320dc2d Mon Sep 17 00:00:00 2001 From: "A.M. Santana" Date: Thu, 28 Sep 2023 22:14:31 +0000 Subject: [PATCH 02/23] fill out instructions Signed-off-by: A.M. Santana --- docs/sphinx/using/simulators.rst | 53 ++++++++++++++++++++++++++++---- 1 file changed, 47 insertions(+), 6 deletions(-) diff --git a/docs/sphinx/using/simulators.rst b/docs/sphinx/using/simulators.rst index 465ce29a37..6eb2df02f6 100644 --- a/docs/sphinx/using/simulators.rst +++ b/docs/sphinx/using/simulators.rst @@ -95,7 +95,10 @@ GPU Simulation Requirements ================================== For programmers using the CUDA Quantum Python wheels, extra configuration is needed to install -our GPU enabled simulation backends. +our GPU enabled simulation backends. + +System Level Dependencies +++++++++++++++++++++++++++ The system level dependencies for these backends include: * An NVIDIA GPU with compute capability 7.0+ @@ -103,16 +106,54 @@ The system level dependencies for these backends include: * CUDA Toolkit 11.x or newer * Python 3.9+ -For Linux users, these system requirements may be installed via +For more information on the installation of NVIDIA Driver's for Ubuntu, see +`here `__. + +For installation of the CUDA toolkit, programmers have two options. The first +is to install the entire CUDA toolkit via your system package manager. For example .. code:: bash - todo ... + apt-get install cuda-11-8 # Ubuntu + # -- or -- + dnf install cuda-11-8.x86_64 # RHEL 9 -Note: After installing the CUDA Toolkit, you must follow these `post-installation instructions +Note: After installing the CUDA Toolkit, you must follow these `post-installation instructions `__. -Python Requirements (pip installation recommended): +Alternatively, the programmer may install the following Python packages: +* nvidia-nvtx-vcu11 +* nvidia-cuda-runtime-cu11 + +You must then export the location of the .so files for these packages to your :code:`LD_LIBRARY_PATH`. +To find the local installation path of these packages, you may run + +.. code::bash + + python3 -m pip show nvidia-nvtx-vcu11 nvidia-cuda-runtime-cu11 + +Python Requirements +++++++++++++++++++++ + +The python requirements for these backends include: * cutensor-cu11 +* custatevec-cu11 * nvidia-cublas-cu11 -* nvidia-cusolver-cu11 \ No newline at end of file +* nvidia-cusolver-cu11 + +We recommend that these be installed via pip: + +.. code:: bash + + python3 -m pip install cutensor-cu11 custatevec-cu11 nvidia-cublas-cu11 nvidia-cusolver-cu11 + +Additionally, for use of the :code:`nvidia-mgpu` backend, the programmer must have a working +installation of MPI, with the dynamic library :code:`libmpi.so` accessible via the +:code:`LD_LIBRARY_PATH`. + +.. code:: bash + + apt-get install openmpi # Ubuntu + # -- or -- + dnf install openmpi # RHEL 9 + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/openmpi/lib/ \ No newline at end of file From 8d450d04749faa9d815f5619dacb71a71e7ca35d Mon Sep 17 00:00:00 2001 From: "A.M. Santana" Date: Thu, 28 Sep 2023 22:17:14 +0000 Subject: [PATCH 03/23] fix devcontainer change Signed-off-by: A.M. Santana --- .devcontainer/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index c5cb6fbf7c..97d6327ac2 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -11,7 +11,7 @@ // Unfortunately, it is not currently possible to have the same dev container definition for systems with and without a supported GPU. // See also https://github.com/airo-ugent/airo-ros/issues/17. // To enable the container to leverage GPU acceleration, add "--gpus=all" to the list of arguments below. - "runArgs": [ "--net=host", "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined", "--gpus=all" ], + "runArgs": [ "--net=host", "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ], "features": { // Getting a GUI to show content in Chrome (optional - uncomment if needed) // "ghcr.io/devcontainers/features/desktop-lite:1": { "password": "cuda-quantum" } From 2034b583e9cca11f246d044121e04f40b74b6418 Mon Sep 17 00:00:00 2001 From: "A.M. Santana" Date: Fri, 29 Sep 2023 18:10:33 +0000 Subject: [PATCH 04/23] pr comments Signed-off-by: A.M. Santana --- docs/sphinx/install.rst | 2 ++ docs/sphinx/using/simulators.rst | 27 ++++++++++++--------------- python/README.md | 1 - 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/docs/sphinx/install.rst b/docs/sphinx/install.rst index 24dbc61861..702e36a9e0 100644 --- a/docs/sphinx/install.rst +++ b/docs/sphinx/install.rst @@ -172,6 +172,8 @@ The following table summarizes the required components. - Linux * - Tested Distributions - CentOS 8; Debian 11, 12; Fedora 38; OpenSUSE/SELD/SLES 15.5; RHEL 8, 9; Rocky 8, 9; Ubuntu 22.04 + * - Python versions + - 3.9+ .. list-table:: Requirements for GPU Simulation :widths: 30 50 diff --git a/docs/sphinx/using/simulators.rst b/docs/sphinx/using/simulators.rst index 6eb2df02f6..cccc58214b 100644 --- a/docs/sphinx/using/simulators.rst +++ b/docs/sphinx/using/simulators.rst @@ -100,17 +100,12 @@ our GPU enabled simulation backends. System Level Dependencies ++++++++++++++++++++++++++ -The system level dependencies for these backends include: -* An NVIDIA GPU with compute capability 7.0+ -* Driver: Linux (450.80.02+ for CUDA 11, 525.60.13+ for CUDA 12) -* CUDA Toolkit 11.x or newer -* Python 3.9+ +The system level dependencies for these backends may be found in :doc:`CUDA Quantum Dependencies `. -For more information on the installation of NVIDIA Driver's for Ubuntu, see -`here `__. +Note: The minimum supported Python version for GPU simulation is Python 3.9. -For installation of the CUDA toolkit, programmers have two options. The first -is to install the entire CUDA toolkit via your system package manager. For example +For installation of the CUDA toolkit, programmers have two options. The first is to install the +entire CUDA toolkit via your system package manager. For example .. code:: bash @@ -118,19 +113,21 @@ is to install the entire CUDA toolkit via your system package manager. For examp # -- or -- dnf install cuda-11-8.x86_64 # RHEL 9 -Note: After installing the CUDA Toolkit, you must follow these `post-installation instructions -`__. +Note: After installing the CUDA Toolkit, these `post-installation instructions +`__ +must be followed to ensure the CUDA install may be found in the :code:`LD_LIBRARY_PATH`. Alternatively, the programmer may install the following Python packages: -* nvidia-nvtx-vcu11 +* nvidia-nvtx-cu11 * nvidia-cuda-runtime-cu11 -You must then export the location of the .so files for these packages to your :code:`LD_LIBRARY_PATH`. -To find the local installation path of these packages, you may run +The location of the installed .so files for these packages must then be exported to +the :code:`LD_LIBRARY_PATH`. To find the local installation path of these packages, +assuming installation via pip, programmers may run .. code::bash - python3 -m pip show nvidia-nvtx-vcu11 nvidia-cuda-runtime-cu11 + python3 -m pip show nvidia-nvtx-cu11 nvidia-cuda-runtime-cu11 Python Requirements ++++++++++++++++++++ diff --git a/python/README.md b/python/README.md index 2c143246a4..727eb57d75 100644 --- a/python/README.md +++ b/python/README.md @@ -72,7 +72,6 @@ To install and configure GPU enabled simulation backends, see [python_gpu_reference]: https://nvidia.github.io/cuda-quantum/latest/using/simulators.html#gpu-simulation-requirements - ## Contributing There are many ways in which you can get involved with CUDA Quantum. If you are From 50c2201cb9021bd5351dc1041df6b355b08d150e Mon Sep 17 00:00:00 2001 From: "A.M. Santana" Date: Fri, 29 Sep 2023 18:14:08 +0000 Subject: [PATCH 05/23] more pr comments Signed-off-by: A.M. Santana --- docs/sphinx/install.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/sphinx/install.rst b/docs/sphinx/install.rst index 702e36a9e0..cbb82e2884 100644 --- a/docs/sphinx/install.rst +++ b/docs/sphinx/install.rst @@ -134,9 +134,9 @@ for all releases `here `__. For more information about building a CUDA Quantum Python wheel from source, see the `README `__. -The CUDA Quantum Python wheels, by default, do not come installed with our GPU-enabled -simulation backends. For further information on installing these GPU simulators with the -Python wheels, see +The CUDA Quantum Python wheels, by default, do not come installed with the necessary CUDA +requirements for GPU-enabled simulation support. For further information on installing these +extra CUDA dependencies with the Python wheels, see `README `__. From 3cf03a5891f9e344a8ad8f73f8c593c604901d1b Mon Sep 17 00:00:00 2001 From: "A.M. Santana" Date: Fri, 29 Sep 2023 18:18:49 +0000 Subject: [PATCH 06/23] spell cehcker Signed-off-by: A.M. Santana --- docs/sphinx/using/simulators.rst | 1 + python/README.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/sphinx/using/simulators.rst b/docs/sphinx/using/simulators.rst index cccc58214b..94652beecc 100644 --- a/docs/sphinx/using/simulators.rst +++ b/docs/sphinx/using/simulators.rst @@ -133,6 +133,7 @@ Python Requirements ++++++++++++++++++++ The python requirements for these backends include: + * cutensor-cu11 * custatevec-cu11 * nvidia-cublas-cu11 diff --git a/python/README.md b/python/README.md index 727eb57d75..073eb52362 100644 --- a/python/README.md +++ b/python/README.md @@ -62,7 +62,7 @@ result = cudaq.sample(kernel) To see more examples, go to [python examples][python_examples], or check out the [Python API reference][python_api_reference]. -To install and configure GPU enabled simulation backends, see +To install and configure GPU enabled simulation backends, see [Configuring GPU Backends][python_gpu_reference]. [python_examples]: From e3b04ffa5962a275152a7396f24c323cce4c8e9d Mon Sep 17 00:00:00 2001 From: "A.M. Santana" Date: Fri, 29 Sep 2023 18:22:12 +0000 Subject: [PATCH 07/23] typo in code block Signed-off-by: A.M. Santana --- docs/sphinx/using/simulators.rst | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/sphinx/using/simulators.rst b/docs/sphinx/using/simulators.rst index 94652beecc..85455d446d 100644 --- a/docs/sphinx/using/simulators.rst +++ b/docs/sphinx/using/simulators.rst @@ -125,7 +125,7 @@ The location of the installed .so files for these packages must then be exported the :code:`LD_LIBRARY_PATH`. To find the local installation path of these packages, assuming installation via pip, programmers may run -.. code::bash +.. code:: bash python3 -m pip show nvidia-nvtx-cu11 nvidia-cuda-runtime-cu11 @@ -133,11 +133,10 @@ Python Requirements ++++++++++++++++++++ The python requirements for these backends include: - -* cutensor-cu11 -* custatevec-cu11 -* nvidia-cublas-cu11 -* nvidia-cusolver-cu11 +- cutensor-cu11 +- custatevec-cu11 +- nvidia-cublas-cu11 +- nvidia-cusolver-cu11 We recommend that these be installed via pip: From 78d4f7d93603f993b5741eb2aff69a9e4b4355b1 Mon Sep 17 00:00:00 2001 From: Bettina Heim Date: Mon, 2 Oct 2023 14:07:31 +0000 Subject: [PATCH 08/23] rephrasing --- docs/sphinx/install.rst | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/docs/sphinx/install.rst b/docs/sphinx/install.rst index cbb82e2884..7b8eea1615 100644 --- a/docs/sphinx/install.rst +++ b/docs/sphinx/install.rst @@ -134,11 +134,9 @@ for all releases `here `__. For more information about building a CUDA Quantum Python wheel from source, see the `README `__. -The CUDA Quantum Python wheels, by default, do not come installed with the necessary CUDA -requirements for GPU-enabled simulation support. For further information on installing these -extra CUDA dependencies with the Python wheels, see -`README `__. - +The CUDA Quantum Python wheels expect an existing CUDA installation on the system to make use of GPU-based simulators. +For further information on installing CUDA dependencies, +see the `README `__. Build CUDA Quantum from Source ------------------------------ From 9505fe41dee86845285523b9fe73a3a2b30dc58b Mon Sep 17 00:00:00 2001 From: "A.M. Santana" Date: Thu, 28 Sep 2023 18:00:49 +0000 Subject: [PATCH 09/23] initial gpu backend docs Signed-off-by: A.M. Santana --- .devcontainer/devcontainer.json | 2 +- docs/sphinx/install.rst | 5 +++++ docs/sphinx/using/simulators.rst | 26 ++++++++++++++++++++++++++ python/README.md | 6 ++++++ 4 files changed, 38 insertions(+), 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 97d6327ac2..c5cb6fbf7c 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -11,7 +11,7 @@ // Unfortunately, it is not currently possible to have the same dev container definition for systems with and without a supported GPU. // See also https://github.com/airo-ugent/airo-ros/issues/17. // To enable the container to leverage GPU acceleration, add "--gpus=all" to the list of arguments below. - "runArgs": [ "--net=host", "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ], + "runArgs": [ "--net=host", "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined", "--gpus=all" ], "features": { // Getting a GUI to show content in Chrome (optional - uncomment if needed) // "ghcr.io/devcontainers/features/desktop-lite:1": { "password": "cuda-quantum" } diff --git a/docs/sphinx/install.rst b/docs/sphinx/install.rst index 39ee0c9bb1..24dbc61861 100644 --- a/docs/sphinx/install.rst +++ b/docs/sphinx/install.rst @@ -134,6 +134,11 @@ for all releases `here `__. For more information about building a CUDA Quantum Python wheel from source, see the `README `__. +The CUDA Quantum Python wheels, by default, do not come installed with our GPU-enabled +simulation backends. For further information on installing these GPU simulators with the +Python wheels, see +`README `__. + Build CUDA Quantum from Source ------------------------------ diff --git a/docs/sphinx/using/simulators.rst b/docs/sphinx/using/simulators.rst index 1f045a06fc..465ce29a37 100644 --- a/docs/sphinx/using/simulators.rst +++ b/docs/sphinx/using/simulators.rst @@ -90,3 +90,29 @@ options to :code:`nvq++` .. code:: bash nvq++ --target tensornet src.cpp ... + +GPU Simulation Requirements +================================== + +For programmers using the CUDA Quantum Python wheels, extra configuration is needed to install +our GPU enabled simulation backends. + +The system level dependencies for these backends include: +* An NVIDIA GPU with compute capability 7.0+ +* Driver: Linux (450.80.02+ for CUDA 11, 525.60.13+ for CUDA 12) +* CUDA Toolkit 11.x or newer +* Python 3.9+ + +For Linux users, these system requirements may be installed via + +.. code:: bash + + todo ... + +Note: After installing the CUDA Toolkit, you must follow these `post-installation instructions +`__. + +Python Requirements (pip installation recommended): +* cutensor-cu11 +* nvidia-cublas-cu11 +* nvidia-cusolver-cu11 \ No newline at end of file diff --git a/python/README.md b/python/README.md index 32c599cd0a..2c143246a4 100644 --- a/python/README.md +++ b/python/README.md @@ -62,10 +62,16 @@ result = cudaq.sample(kernel) To see more examples, go to [python examples][python_examples], or check out the [Python API reference][python_api_reference]. +To install and configure GPU enabled simulation backends, see +[Configuring GPU Backends][python_gpu_reference]. + [python_examples]: https://nvidia.github.io/cuda-quantum/latest/using/python.html [python_api_reference]: https://nvidia.github.io/cuda-quantum/latest/api/languages/python_api.html +[python_gpu_reference]: + https://nvidia.github.io/cuda-quantum/latest/using/simulators.html#gpu-simulation-requirements + ## Contributing From eb6743f4fde6e4e871839e7a7e954ccd3de902ae Mon Sep 17 00:00:00 2001 From: "A.M. Santana" Date: Thu, 28 Sep 2023 22:14:31 +0000 Subject: [PATCH 10/23] fill out instructions Signed-off-by: A.M. Santana --- docs/sphinx/using/simulators.rst | 53 ++++++++++++++++++++++++++++---- 1 file changed, 47 insertions(+), 6 deletions(-) diff --git a/docs/sphinx/using/simulators.rst b/docs/sphinx/using/simulators.rst index 465ce29a37..6eb2df02f6 100644 --- a/docs/sphinx/using/simulators.rst +++ b/docs/sphinx/using/simulators.rst @@ -95,7 +95,10 @@ GPU Simulation Requirements ================================== For programmers using the CUDA Quantum Python wheels, extra configuration is needed to install -our GPU enabled simulation backends. +our GPU enabled simulation backends. + +System Level Dependencies +++++++++++++++++++++++++++ The system level dependencies for these backends include: * An NVIDIA GPU with compute capability 7.0+ @@ -103,16 +106,54 @@ The system level dependencies for these backends include: * CUDA Toolkit 11.x or newer * Python 3.9+ -For Linux users, these system requirements may be installed via +For more information on the installation of NVIDIA Driver's for Ubuntu, see +`here `__. + +For installation of the CUDA toolkit, programmers have two options. The first +is to install the entire CUDA toolkit via your system package manager. For example .. code:: bash - todo ... + apt-get install cuda-11-8 # Ubuntu + # -- or -- + dnf install cuda-11-8.x86_64 # RHEL 9 -Note: After installing the CUDA Toolkit, you must follow these `post-installation instructions +Note: After installing the CUDA Toolkit, you must follow these `post-installation instructions `__. -Python Requirements (pip installation recommended): +Alternatively, the programmer may install the following Python packages: +* nvidia-nvtx-vcu11 +* nvidia-cuda-runtime-cu11 + +You must then export the location of the .so files for these packages to your :code:`LD_LIBRARY_PATH`. +To find the local installation path of these packages, you may run + +.. code::bash + + python3 -m pip show nvidia-nvtx-vcu11 nvidia-cuda-runtime-cu11 + +Python Requirements +++++++++++++++++++++ + +The python requirements for these backends include: * cutensor-cu11 +* custatevec-cu11 * nvidia-cublas-cu11 -* nvidia-cusolver-cu11 \ No newline at end of file +* nvidia-cusolver-cu11 + +We recommend that these be installed via pip: + +.. code:: bash + + python3 -m pip install cutensor-cu11 custatevec-cu11 nvidia-cublas-cu11 nvidia-cusolver-cu11 + +Additionally, for use of the :code:`nvidia-mgpu` backend, the programmer must have a working +installation of MPI, with the dynamic library :code:`libmpi.so` accessible via the +:code:`LD_LIBRARY_PATH`. + +.. code:: bash + + apt-get install openmpi # Ubuntu + # -- or -- + dnf install openmpi # RHEL 9 + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/openmpi/lib/ \ No newline at end of file From 8c8f7ae637314af659142ae73826e0d601c9cbe8 Mon Sep 17 00:00:00 2001 From: "A.M. Santana" Date: Thu, 28 Sep 2023 22:17:14 +0000 Subject: [PATCH 11/23] fix devcontainer change Signed-off-by: A.M. Santana --- .devcontainer/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index c5cb6fbf7c..97d6327ac2 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -11,7 +11,7 @@ // Unfortunately, it is not currently possible to have the same dev container definition for systems with and without a supported GPU. // See also https://github.com/airo-ugent/airo-ros/issues/17. // To enable the container to leverage GPU acceleration, add "--gpus=all" to the list of arguments below. - "runArgs": [ "--net=host", "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined", "--gpus=all" ], + "runArgs": [ "--net=host", "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ], "features": { // Getting a GUI to show content in Chrome (optional - uncomment if needed) // "ghcr.io/devcontainers/features/desktop-lite:1": { "password": "cuda-quantum" } From 8a22715d4a08e7bf7605473ae742d2bc85b84c1f Mon Sep 17 00:00:00 2001 From: "A.M. Santana" Date: Fri, 29 Sep 2023 18:10:33 +0000 Subject: [PATCH 12/23] pr comments Signed-off-by: A.M. Santana --- docs/sphinx/install.rst | 2 ++ docs/sphinx/using/simulators.rst | 27 ++++++++++++--------------- python/README.md | 1 - 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/docs/sphinx/install.rst b/docs/sphinx/install.rst index 24dbc61861..702e36a9e0 100644 --- a/docs/sphinx/install.rst +++ b/docs/sphinx/install.rst @@ -172,6 +172,8 @@ The following table summarizes the required components. - Linux * - Tested Distributions - CentOS 8; Debian 11, 12; Fedora 38; OpenSUSE/SELD/SLES 15.5; RHEL 8, 9; Rocky 8, 9; Ubuntu 22.04 + * - Python versions + - 3.9+ .. list-table:: Requirements for GPU Simulation :widths: 30 50 diff --git a/docs/sphinx/using/simulators.rst b/docs/sphinx/using/simulators.rst index 6eb2df02f6..cccc58214b 100644 --- a/docs/sphinx/using/simulators.rst +++ b/docs/sphinx/using/simulators.rst @@ -100,17 +100,12 @@ our GPU enabled simulation backends. System Level Dependencies ++++++++++++++++++++++++++ -The system level dependencies for these backends include: -* An NVIDIA GPU with compute capability 7.0+ -* Driver: Linux (450.80.02+ for CUDA 11, 525.60.13+ for CUDA 12) -* CUDA Toolkit 11.x or newer -* Python 3.9+ +The system level dependencies for these backends may be found in :doc:`CUDA Quantum Dependencies `. -For more information on the installation of NVIDIA Driver's for Ubuntu, see -`here `__. +Note: The minimum supported Python version for GPU simulation is Python 3.9. -For installation of the CUDA toolkit, programmers have two options. The first -is to install the entire CUDA toolkit via your system package manager. For example +For installation of the CUDA toolkit, programmers have two options. The first is to install the +entire CUDA toolkit via your system package manager. For example .. code:: bash @@ -118,19 +113,21 @@ is to install the entire CUDA toolkit via your system package manager. For examp # -- or -- dnf install cuda-11-8.x86_64 # RHEL 9 -Note: After installing the CUDA Toolkit, you must follow these `post-installation instructions -`__. +Note: After installing the CUDA Toolkit, these `post-installation instructions +`__ +must be followed to ensure the CUDA install may be found in the :code:`LD_LIBRARY_PATH`. Alternatively, the programmer may install the following Python packages: -* nvidia-nvtx-vcu11 +* nvidia-nvtx-cu11 * nvidia-cuda-runtime-cu11 -You must then export the location of the .so files for these packages to your :code:`LD_LIBRARY_PATH`. -To find the local installation path of these packages, you may run +The location of the installed .so files for these packages must then be exported to +the :code:`LD_LIBRARY_PATH`. To find the local installation path of these packages, +assuming installation via pip, programmers may run .. code::bash - python3 -m pip show nvidia-nvtx-vcu11 nvidia-cuda-runtime-cu11 + python3 -m pip show nvidia-nvtx-cu11 nvidia-cuda-runtime-cu11 Python Requirements ++++++++++++++++++++ diff --git a/python/README.md b/python/README.md index 2c143246a4..727eb57d75 100644 --- a/python/README.md +++ b/python/README.md @@ -72,7 +72,6 @@ To install and configure GPU enabled simulation backends, see [python_gpu_reference]: https://nvidia.github.io/cuda-quantum/latest/using/simulators.html#gpu-simulation-requirements - ## Contributing There are many ways in which you can get involved with CUDA Quantum. If you are From 403db4b24817c98a95709e50d3e146757550b0e3 Mon Sep 17 00:00:00 2001 From: "A.M. Santana" Date: Fri, 29 Sep 2023 18:14:08 +0000 Subject: [PATCH 13/23] more pr comments Signed-off-by: A.M. Santana --- docs/sphinx/install.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/sphinx/install.rst b/docs/sphinx/install.rst index 702e36a9e0..cbb82e2884 100644 --- a/docs/sphinx/install.rst +++ b/docs/sphinx/install.rst @@ -134,9 +134,9 @@ for all releases `here `__. For more information about building a CUDA Quantum Python wheel from source, see the `README `__. -The CUDA Quantum Python wheels, by default, do not come installed with our GPU-enabled -simulation backends. For further information on installing these GPU simulators with the -Python wheels, see +The CUDA Quantum Python wheels, by default, do not come installed with the necessary CUDA +requirements for GPU-enabled simulation support. For further information on installing these +extra CUDA dependencies with the Python wheels, see `README `__. From 4ff10b1980abb838c657e1e8e3204e47b9ab5269 Mon Sep 17 00:00:00 2001 From: "A.M. Santana" Date: Fri, 29 Sep 2023 18:18:49 +0000 Subject: [PATCH 14/23] spell cehcker Signed-off-by: A.M. Santana --- docs/sphinx/using/simulators.rst | 1 + python/README.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/sphinx/using/simulators.rst b/docs/sphinx/using/simulators.rst index cccc58214b..94652beecc 100644 --- a/docs/sphinx/using/simulators.rst +++ b/docs/sphinx/using/simulators.rst @@ -133,6 +133,7 @@ Python Requirements ++++++++++++++++++++ The python requirements for these backends include: + * cutensor-cu11 * custatevec-cu11 * nvidia-cublas-cu11 diff --git a/python/README.md b/python/README.md index 727eb57d75..073eb52362 100644 --- a/python/README.md +++ b/python/README.md @@ -62,7 +62,7 @@ result = cudaq.sample(kernel) To see more examples, go to [python examples][python_examples], or check out the [Python API reference][python_api_reference]. -To install and configure GPU enabled simulation backends, see +To install and configure GPU enabled simulation backends, see [Configuring GPU Backends][python_gpu_reference]. [python_examples]: From 74c37d8643e24d4d4c8fb8c5512d117d3178f8e3 Mon Sep 17 00:00:00 2001 From: "A.M. Santana" Date: Fri, 29 Sep 2023 18:22:12 +0000 Subject: [PATCH 15/23] typo in code block Signed-off-by: A.M. Santana --- docs/sphinx/using/simulators.rst | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/sphinx/using/simulators.rst b/docs/sphinx/using/simulators.rst index 94652beecc..85455d446d 100644 --- a/docs/sphinx/using/simulators.rst +++ b/docs/sphinx/using/simulators.rst @@ -125,7 +125,7 @@ The location of the installed .so files for these packages must then be exported the :code:`LD_LIBRARY_PATH`. To find the local installation path of these packages, assuming installation via pip, programmers may run -.. code::bash +.. code:: bash python3 -m pip show nvidia-nvtx-cu11 nvidia-cuda-runtime-cu11 @@ -133,11 +133,10 @@ Python Requirements ++++++++++++++++++++ The python requirements for these backends include: - -* cutensor-cu11 -* custatevec-cu11 -* nvidia-cublas-cu11 -* nvidia-cusolver-cu11 +- cutensor-cu11 +- custatevec-cu11 +- nvidia-cublas-cu11 +- nvidia-cusolver-cu11 We recommend that these be installed via pip: From 16c62c7a36a3ecf8b12dcf3b6131fc3aeda847c3 Mon Sep 17 00:00:00 2001 From: Bettina Heim Date: Mon, 2 Oct 2023 20:36:09 +0000 Subject: [PATCH 16/23] restructuring --- docs/sphinx/api/languages/python_api.rst | 2 +- docs/sphinx/install.rst | 36 ++++++------ docs/sphinx/using/simulators.rst | 75 ++++-------------------- pyproject.toml | 7 --- python/README.md | 65 +++++++++++--------- 5 files changed, 67 insertions(+), 118 deletions(-) diff --git a/docs/sphinx/api/languages/python_api.rst b/docs/sphinx/api/languages/python_api.rst index fb9b2b715c..aa488e6982 100644 --- a/docs/sphinx/api/languages/python_api.rst +++ b/docs/sphinx/api/languages/python_api.rst @@ -38,10 +38,10 @@ Program Construction .. automethod:: my .. automethod:: mz .. automethod:: c_if + .. automethod:: for_loop .. automethod:: adjoint .. automethod:: control .. automethod:: apply_call - .. automethod:: for_loop Kernel Execution ============================= diff --git a/docs/sphinx/install.rst b/docs/sphinx/install.rst index 7b8eea1615..14508af126 100644 --- a/docs/sphinx/install.rst +++ b/docs/sphinx/install.rst @@ -118,27 +118,25 @@ or run the Python examples using the Python interpreter. Python wheels -------------------- -CUDA Quantum Python wheels are available on [PyPI.org](https://pypi.org/project/cuda-quantum). -The CUDA Quantum Python wheels contain the Python API and core components of -CUDA Quantum. For more information about available packages and documentation, +CUDA Quantum Python wheels are available on `PyPI.org `__. Installation instructions can be found in the `project description `__. +For more information about available versions and documentation, see :doc:`versions`. -To install the latest release using `pip `__, run +At this time, wheels are distributed for Linux operating systems only. -.. code-block:: console +There are currently no source distributions available on PyPI, but you can download the source code for the latest version of the CUDA Quantum Python wheels from our `GitHub repository `__. The source code for previous versions can be downloaded from the respective `GitHub Release `__. - python3 -m pip install cuda-quantum +To build the CUDA Quantum Python API from source using pip, run the following commands: -There are currently no source distributions available on PyPI, but you can download the source code -for all releases `here `__. -For more information about building a CUDA Quantum Python wheel from source, see the -`README `__. +```console +git clone https://github.com/NVIDIA/cuda-quantum.git +cd cuda-quantum && ./scripts/install_prerequisites.sh +pip install . +``` -The CUDA Quantum Python wheels expect an existing CUDA installation on the system to make use of GPU-based simulators. -For further information on installing CUDA dependencies, -see the `README `__. +For more information about building the entire C++ and Python API's, please see `Building from Source`_. -Build CUDA Quantum from Source +Building from Source ------------------------------ For more information about building CUDA Quantum from source, @@ -147,16 +145,18 @@ we refer to the `CUDA Quantum GitHub repository`_. .. _CUDA Quantum GitHub repository: https://github.com/NVIDIA/cuda-quantum/blob/main/Building.md -CUDA Quantum Dependencies -------------------------- +.. _dependencies-and-compatibility: + +Dependencies and Compatibility +-------------------------------- -CUDA Quantum can be used to simulate quantum programs (see :doc:`using/simulators`) on a CPU-only system, but a GPU is highly recommended. +CUDA Quantum can be used to compile and run quantum programs on a CPU-only system, but a GPU is highly recommended and necessary to use the GPU-based simulators, see also :doc:`using/simulators`. The supported CPUs include x86_64 (x86-64-v3 architecture and newer) and ARM64 architectures. .. note:: - The CUDA Quantum Python wheels depend on an existing CUDA installation on your system. For more information about installing the CUDA Quantum Python wheels, take a look at :ref:`this page `. + Some of the components included in the CUDA Quantum Python wheels depend on an existing CUDA installation on your system. For more information about installing the CUDA Quantum Python wheels, take a look at :ref:`this section `. The following table summarizes the required components. diff --git a/docs/sphinx/using/simulators.rst b/docs/sphinx/using/simulators.rst index 85455d446d..6f73785130 100644 --- a/docs/sphinx/using/simulators.rst +++ b/docs/sphinx/using/simulators.rst @@ -28,6 +28,10 @@ In python, this can be specified with By default, this will leverage :code:`FP32` floating point types for the simulation. To switch to :code:`FP64`, specify the :code:`nvidia-fp64` target instead. +.. note:: + + This backend requires an NVIDIA GPU and CUDA runtime libraries. See the section :ref:`` for more information. + cuQuantum multi-node multi-GPU ++++++++++++++++++++++++++++++++++ @@ -48,6 +52,10 @@ In python, this can be specified with cudaq.set_target('nvidia-mgpu') +.. note:: + + This backend requires an NVIDIA GPU, CUDA runtime libraries, as well as an MPI installation. See the section :ref:`` for more information. + OpenMP CPU-only ++++++++++++++++++++++++++++++++++ @@ -66,6 +74,10 @@ The :code:`tensornet` target provides a tensor-network simulator accelerated wit the :code:`cuTensorNet` library. This backend is currently available for use from C++ and supports Multi-Node, Multi-GPU distribution of tensor operations required to evaluate and simulate the circuit. +.. note:: + + This backend requires an NVIDIA GPU and CUDA runtime libraries. See the section :ref:`` for more information. + This backend exposes a set of environment variables to configure specific aspects of the simulation: * **`CUDAQ_CUTN_HOST_RAM=8`**: Prescribes the size of the CPU Host RAM allocated by each MPI process (defaults to 4 GB). A rule of thumb is to give each MPI process the same amount of CPU Host RAM as the RAM size of the GPU assigned to it. If there is more CPU RAM available, it is fine to further increase this number. @@ -91,66 +103,3 @@ options to :code:`nvq++` nvq++ --target tensornet src.cpp ... -GPU Simulation Requirements -================================== - -For programmers using the CUDA Quantum Python wheels, extra configuration is needed to install -our GPU enabled simulation backends. - -System Level Dependencies -++++++++++++++++++++++++++ - -The system level dependencies for these backends may be found in :doc:`CUDA Quantum Dependencies `. - -Note: The minimum supported Python version for GPU simulation is Python 3.9. - -For installation of the CUDA toolkit, programmers have two options. The first is to install the -entire CUDA toolkit via your system package manager. For example - -.. code:: bash - - apt-get install cuda-11-8 # Ubuntu - # -- or -- - dnf install cuda-11-8.x86_64 # RHEL 9 - -Note: After installing the CUDA Toolkit, these `post-installation instructions -`__ -must be followed to ensure the CUDA install may be found in the :code:`LD_LIBRARY_PATH`. - -Alternatively, the programmer may install the following Python packages: -* nvidia-nvtx-cu11 -* nvidia-cuda-runtime-cu11 - -The location of the installed .so files for these packages must then be exported to -the :code:`LD_LIBRARY_PATH`. To find the local installation path of these packages, -assuming installation via pip, programmers may run - -.. code:: bash - - python3 -m pip show nvidia-nvtx-cu11 nvidia-cuda-runtime-cu11 - -Python Requirements -++++++++++++++++++++ - -The python requirements for these backends include: -- cutensor-cu11 -- custatevec-cu11 -- nvidia-cublas-cu11 -- nvidia-cusolver-cu11 - -We recommend that these be installed via pip: - -.. code:: bash - - python3 -m pip install cutensor-cu11 custatevec-cu11 nvidia-cublas-cu11 nvidia-cusolver-cu11 - -Additionally, for use of the :code:`nvidia-mgpu` backend, the programmer must have a working -installation of MPI, with the dynamic library :code:`libmpi.so` accessible via the -:code:`LD_LIBRARY_PATH`. - -.. code:: bash - - apt-get install openmpi # Ubuntu - # -- or -- - dnf install openmpi # RHEL 9 - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/openmpi/lib/ \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 298f25515e..3ef1fc5124 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,13 +28,6 @@ Releases = "https://nvidia.github.io/cuda-quantum/latest/releases.html" [project.optional-dependencies] chemistry = [ "scipy==1.10.1", "openfermionpyscf==0.5" ] -cudart = [ - # cublas is (the only library) need for the simulators but available for x86_64 only - 'nvidia-cublas-cu11 ~= 11.11', - 'nvidia-cusolver-cu11 ~= 11.4', - 'nvidia-cusparse-cu11 ~= 11.7', - 'nvidia-cuda-runtime-cu11 ~= 11.8' -] [build-system] requires = ["scikit-build-core", "cmake>=3.26"] diff --git a/python/README.md b/python/README.md index 073eb52362..3c5af532b1 100644 --- a/python/README.md +++ b/python/README.md @@ -13,33 +13,52 @@ computing, including CUDA, ISO standard parallelism, OpenMP, and OpenACC cuQuantum and a number of different physical quantum processors (QPUs) The CUDA Quantum Python wheels contain the Python API and core components of -CUDA Quantum. For more information about available packages and documentation, -see our [release -notes](https://nvidia.github.io/cuda-quantum/latest/releases.html). +CUDA Quantum. More information about available packages as well as a link to the +documentation and examples for each version can be found in the [release +notes][cudaq_docs_releases]. System requirements and compatibility are listed in +the Getting Started section of the linked documentation. + +[cudaq_docs_releases]: + https://nvidia.github.io/cuda-quantum/latest/releases.html ## Installing CUDA Quantum -CUDA Quantum Python wheels are available on -[PyPI.org](https://pypi.org/project/cuda-quantum). To install the latest -release, simply run +To install the latest stable version of CUDA Quantum, run ```console -pip install cuda-quantum +python3 -m pip install cuda-quantum ``` -At this time, wheels are distributed for Linux operating systems only. To build -the CUDA Quantum Python API from source using pip: +CUDA Quantum can be used to compile and run quantum programs on a CPU-only +system, but a GPU is highly recommended and necessary to use the some of the +simulators. The GPU-based simulators included in the CUDA Quantum Python wheels +require an existing CUDA installation. Additionally, multi-GPU simulators +require an existing MPI installation. + +In most cases, the CUDA and MPI dependencies can be installed via package +manager. On Ubuntu 22.04, for example, the following commands install all +optional CUDA dependencies: ```console -git clone https://github.com/NVIDIA/cuda-quantum.git -cd cuda-quantum && ./scripts/install_prerequisites.sh -pip install . + arch=x86_64 # set this to sbsa for ARM processors + sudo apt-get update && sudo apt-get install -y wget + wget -q https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/$arch/cuda-keyring_1.0-1_all.deb + sudo dpkg -i cuda-keyring_1.0-1_all.deb + sudo apt-get update && sudo apt-get install -y cuda-11-8 ``` -For more information about building the entire C++ and Python API's, please see -the CUDA Quantum [documentation][official_install]. +Detailed instructions for how to install the complete CUDA toolkit on different +operating systems can be found in the [CUDA +documentation](https://docs.nvidia.com/cuda/). -[official_install]: https://nvidia.github.io/cuda-quantum/latest/install.html +If you have several GPUs available but no MPI installation yet, we recommend +taking a look at the [OpenMPI documentation](https://docs.open-mpi.org/). On +Ubuntu 22.04, for example, the following commands install the necessary MPI +libraries: + +```console + sudo apt-get update && sudo apt-get install openmpi +``` ## Running CUDA Quantum @@ -57,20 +76,8 @@ kernel.mz(qubit) result = cudaq.sample(kernel) ``` -## Documentation - -To see more examples, go to [python examples][python_examples], or check out the -[Python API reference][python_api_reference]. - -To install and configure GPU enabled simulation backends, see -[Configuring GPU Backends][python_gpu_reference]. - -[python_examples]: - https://nvidia.github.io/cuda-quantum/latest/using/python.html -[python_api_reference]: - https://nvidia.github.io/cuda-quantum/latest/api/languages/python_api.html -[python_gpu_reference]: - https://nvidia.github.io/cuda-quantum/latest/using/simulators.html#gpu-simulation-requirements +Additional examples and documentation are linked in the [release +notes][cudaq_docs_releases]. ## Contributing From a4f2f80ec0af5dc8b2e501c8d1078b8a0c1de6cd Mon Sep 17 00:00:00 2001 From: Bettina Heim Date: Mon, 2 Oct 2023 20:48:07 +0000 Subject: [PATCH 17/23] linking examples in the release notes --- docs/sphinx/releases.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/sphinx/releases.rst b/docs/sphinx/releases.rst index 755f5faa11..487606bce9 100644 --- a/docs/sphinx/releases.rst +++ b/docs/sphinx/releases.rst @@ -8,6 +8,7 @@ The latest version of CUDA Quantum is on the main branch of our `GitHub reposito - `Docker image (nightly builds) `__ - `Documentation `__ +- `Examples `__ **0.4.1** @@ -16,6 +17,7 @@ The 0.4.1 release adds support for ARM processors in the form of multi-platform - `Docker image `__ - `Python wheel `__ - `Documentation `__ +- `Examples `__ The full change log can be found `here `__. @@ -30,6 +32,7 @@ The fully featured version is available as a Docker image for `linux/amd64` plat - `Docker image `__ - `Python wheel `__ - `Documentation `__ +- `Examples `__ The full change log can be found `here `__. @@ -39,3 +42,4 @@ The 0.3.0 release of CUDA Quantum is available as a Docker image for `linux/amd6 - `Docker image `__ - `Documentation `__ +- `Examples `__ From 7dfa8b91f123869f114929525d56b44842f25aa6 Mon Sep 17 00:00:00 2001 From: Bettina Heim Date: Mon, 2 Oct 2023 20:54:11 +0000 Subject: [PATCH 18/23] just a tweak --- docs/sphinx/install.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/sphinx/install.rst b/docs/sphinx/install.rst index 14508af126..9de5d15a91 100644 --- a/docs/sphinx/install.rst +++ b/docs/sphinx/install.rst @@ -139,8 +139,8 @@ For more information about building the entire C++ and Python API's, please see Building from Source ------------------------------ -For more information about building CUDA Quantum from source, -we refer to the `CUDA Quantum GitHub repository`_. +Instructions for building the Python wheels from source are given in the section :ref:``. +For more information about building the entire C++ and Python API from source, we refer to the `CUDA Quantum GitHub repository`_. .. _CUDA Quantum GitHub repository: https://github.com/NVIDIA/cuda-quantum/blob/main/Building.md From c726fcabcd1ae95b30374e38d7b76ab23fef560e Mon Sep 17 00:00:00 2001 From: cuda-quantum-bot Date: Mon, 2 Oct 2023 21:06:38 +0000 Subject: [PATCH 19/23] Cleaning up docs preview for PR #1. From 2d75ca59ee64be622343d373e4cc08eefeeb9fda Mon Sep 17 00:00:00 2001 From: "A.M. Santana" Date: Mon, 2 Oct 2023 21:08:07 +0000 Subject: [PATCH 20/23] remove trailing space Signed-off-by: A.M. Santana --- python/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/README.md b/python/README.md index 3c5af532b1..b64a3909d2 100644 --- a/python/README.md +++ b/python/README.md @@ -49,7 +49,7 @@ optional CUDA dependencies: Detailed instructions for how to install the complete CUDA toolkit on different operating systems can be found in the [CUDA -documentation](https://docs.nvidia.com/cuda/). +documentation](https://docs.nvidia.com/cuda/). If you have several GPUs available but no MPI installation yet, we recommend taking a look at the [OpenMPI documentation](https://docs.open-mpi.org/). On From 48bae22fa6d0926605a82b7d58340a5fb5bccd7c Mon Sep 17 00:00:00 2001 From: "A.M. Santana" Date: Mon, 2 Oct 2023 21:13:33 +0000 Subject: [PATCH 21/23] python version Signed-off-by: A.M. Santana --- docs/sphinx/install.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sphinx/install.rst b/docs/sphinx/install.rst index 9de5d15a91..3b7d42d79b 100644 --- a/docs/sphinx/install.rst +++ b/docs/sphinx/install.rst @@ -171,7 +171,7 @@ The following table summarizes the required components. * - Tested Distributions - CentOS 8; Debian 11, 12; Fedora 38; OpenSUSE/SELD/SLES 15.5; RHEL 8, 9; Rocky 8, 9; Ubuntu 22.04 * - Python versions - - 3.9+ + - 3.8+ .. list-table:: Requirements for GPU Simulation :widths: 30 50 From ac9a9ccf9c908038a9a1dbc00c00d701d11ccce6 Mon Sep 17 00:00:00 2001 From: Bettina Heim Date: Mon, 2 Oct 2023 23:55:49 +0200 Subject: [PATCH 22/23] Fix link in install.rst --- docs/sphinx/install.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sphinx/install.rst b/docs/sphinx/install.rst index 3b7d42d79b..4502faaff0 100644 --- a/docs/sphinx/install.rst +++ b/docs/sphinx/install.rst @@ -139,7 +139,7 @@ For more information about building the entire C++ and Python API's, please see Building from Source ------------------------------ -Instructions for building the Python wheels from source are given in the section :ref:``. +Instructions for building the Python wheels from source are given in the section :ref:`install-python-wheels`. For more information about building the entire C++ and Python API from source, we refer to the `CUDA Quantum GitHub repository`_. .. _CUDA Quantum GitHub repository: https://github.com/NVIDIA/cuda-quantum/blob/main/Building.md From b75477be1c4fb1bd29020e66c40616642df98a6b Mon Sep 17 00:00:00 2001 From: Bettina Heim Date: Mon, 2 Oct 2023 23:57:02 +0200 Subject: [PATCH 23/23] Fix links in simulators.rst --- docs/sphinx/using/simulators.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/sphinx/using/simulators.rst b/docs/sphinx/using/simulators.rst index 68799fbf93..569d21a0a8 100644 --- a/docs/sphinx/using/simulators.rst +++ b/docs/sphinx/using/simulators.rst @@ -30,7 +30,7 @@ switch to :code:`FP64`, specify the :code:`nvidia-fp64` target instead. .. note:: - This backend requires an NVIDIA GPU and CUDA runtime libraries. See the section :ref:`` for more information. + This backend requires an NVIDIA GPU and CUDA runtime libraries. See the section :ref:`dependencies-and-compatibility` for more information. cuQuantum multi-node multi-GPU ++++++++++++++++++++++++++++++++++ @@ -54,7 +54,7 @@ In python, this can be specified with .. note:: - This backend requires an NVIDIA GPU, CUDA runtime libraries, as well as an MPI installation. See the section :ref:`` for more information. + This backend requires an NVIDIA GPU, CUDA runtime libraries, as well as an MPI installation. See the section :ref:`dependencies-and-compatibility` for more information. OpenMP CPU-only ++++++++++++++++++++++++++++++++++ @@ -76,7 +76,7 @@ Multi-Node, Multi-GPU distribution of tensor operations required to evaluate and .. note:: - This backend requires an NVIDIA GPU and CUDA runtime libraries. See the section :ref:`` for more information. + This backend requires an NVIDIA GPU and CUDA runtime libraries. See the section :ref:`dependencies-and-compatibility` for more information. This backend exposes a set of environment variables to configure specific aspects of the simulation: