From 7e370bdbe04354c13e6fa66988b03569d7bc5398 Mon Sep 17 00:00:00 2001 From: Monica VanDieren <150082832+mmvandieren@users.noreply.github.com> Date: Thu, 12 Sep 2024 11:06:52 -0400 Subject: [PATCH 1/4] Update simulators.rst light copy edits --- docs/sphinx/using/backends/simulators.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/sphinx/using/backends/simulators.rst b/docs/sphinx/using/backends/simulators.rst index bfb3049dc4..6e0609cd5d 100644 --- a/docs/sphinx/using/backends/simulators.rst +++ b/docs/sphinx/using/backends/simulators.rst @@ -170,9 +170,9 @@ To execute a program on the multi-node multi-GPU NVIDIA target, use the followin .. note:: (1) The order of the option settings are interchangeable. - For example, `cudaq.set_target('nvidia', option='mgpu,fp64')` is equivalent to `cudaq.set_target('nvidia', option='fp64.mgpu')`. + For example, `cudaq.set_target('nvidia', option='mgpu,fp64')` is equivalent to `cudaq.set_target('nvidia', option='fp64,mgpu')`. - (2) The `nvidia` target has single-precision as the default setting. Thus, using `option='mgpu'` implies that `option='mgpu,fp32'`. + (1) The `nvidia` target has single-precision as the default setting. Thus, using `option='mgpu'` implies that `option='mgpu,fp32'`. .. tab:: C++ @@ -343,7 +343,7 @@ CUDA-Q provides a couple of tensor-network simulator targets accelerated with the :code:`cuTensorNet` library. These backends are available for use from both C++ and Python. -Tensor network-based simulators are suitable for large-scale simulation of certain classes of quantum circuits involving many qubits beyond the memory limit of state vector based simulators. For example, computing the expectation value of a Hamiltonian via :code:`cudaq::observe` can be performed efficiently, thanks to :code:`cuTensorNet` contraction optimization capability. On the other hand, conditional circuits, i.e., those with mid-circuit measurements or reset, despite being supported by both backends, may result in poor performance. +Tensor network simulators are suitable for large-scale simulation of certain classes of quantum circuits involving many qubits beyond the memory limit of state vector based simulators. For example, computing the expectation value of a Hamiltonian via :code:`cudaq::observe` can be performed efficiently, thanks to :code:`cuTensorNet` contraction optimization capability. On the other hand, conditional circuits, i.e., those with mid-circuit measurements or reset, despite being supported by both backends, may result in poor performance. Multi-node multi-GPU +++++++++++++++++++++++++++++++++++ @@ -476,14 +476,14 @@ Specific aspects of the simulation can be configured by defining the following e .. note:: The parallelism of Jacobi method (the default `CUDAQ_MPS_SVD_ALGO` setting) gives GPU better performance on small and medium size matrices. - If you expect the a large number of singular values (e.g., increasing the `CUDAQ_MPS_MAX_BOND` setting), please adjust the `CUDAQ_MPS_SVD_ALGO` setting accordingly. + If you expect a large number of singular values (e.g., increasing the `CUDAQ_MPS_MAX_BOND` setting), please adjust the `CUDAQ_MPS_SVD_ALGO` setting accordingly. Default Simulator ================================== .. _default-simulator: -If no explicit target is set, i.e. if the code is compiled without any :code:`--target` flags, then CUDA-Q makes a default choice for the simulator. +If no explicit target is set, i.e., if the code is compiled without any :code:`--target` flags, then CUDA-Q makes a default choice for the simulator. If an NVIDIA GPU and CUDA runtime libraries are available, the default target is set to `nvidia`. This will utilize the :ref:`cuQuantum single-GPU state vector simulator `. On CPU-only systems, the default target is set to `qpp-cpu` which uses the :ref:`OpenMP CPU-only simulator `. From dea978c9dc10b22d829fd4835332687a77bf49a4 Mon Sep 17 00:00:00 2001 From: Monica VanDieren <150082832+mmvandieren@users.noreply.github.com> Date: Tue, 17 Sep 2024 15:20:51 -0400 Subject: [PATCH 2/4] added a carriage return to try to fix formatting of the markdown ordered list --- docs/sphinx/using/backends/simulators.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/sphinx/using/backends/simulators.rst b/docs/sphinx/using/backends/simulators.rst index 6e0609cd5d..8ab0866eeb 100644 --- a/docs/sphinx/using/backends/simulators.rst +++ b/docs/sphinx/using/backends/simulators.rst @@ -169,6 +169,7 @@ To execute a program on the multi-node multi-GPU NVIDIA target, use the followin If a target is set in the application code, this target will override the :code:`--target` command line flag given during program invocation. .. note:: + (1) The order of the option settings are interchangeable. For example, `cudaq.set_target('nvidia', option='mgpu,fp64')` is equivalent to `cudaq.set_target('nvidia', option='fp64,mgpu')`. From 92d7cb41d23f4eb82ee6565483f1ed5478172ab7 Mon Sep 17 00:00:00 2001 From: Monica VanDieren <150082832+mmvandieren@users.noreply.github.com> Date: Wed, 18 Sep 2024 08:16:42 -0400 Subject: [PATCH 3/4] changed numbers to bullets --- docs/sphinx/using/backends/simulators.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/sphinx/using/backends/simulators.rst b/docs/sphinx/using/backends/simulators.rst index 8ab0866eeb..39750d24ab 100644 --- a/docs/sphinx/using/backends/simulators.rst +++ b/docs/sphinx/using/backends/simulators.rst @@ -170,10 +170,10 @@ To execute a program on the multi-node multi-GPU NVIDIA target, use the followin .. note:: - (1) The order of the option settings are interchangeable. + * The order of the option settings are interchangeable. For example, `cudaq.set_target('nvidia', option='mgpu,fp64')` is equivalent to `cudaq.set_target('nvidia', option='fp64,mgpu')`. - (1) The `nvidia` target has single-precision as the default setting. Thus, using `option='mgpu'` implies that `option='mgpu,fp32'`. + * The `nvidia` target has single-precision as the default setting. Thus, using `option='mgpu'` implies that `option='mgpu,fp32'`. .. tab:: C++ From 68cb07469bcea01bd2f5c48c1e70c06f99b58a04 Mon Sep 17 00:00:00 2001 From: Pradnya Khalate Date: Wed, 18 Sep 2024 22:30:50 -0700 Subject: [PATCH 4/4] * Fix WARNING: Bullet list ends without a blank line; unexpected unindent. --- docs/sphinx/using/backends/simulators.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sphinx/using/backends/simulators.rst b/docs/sphinx/using/backends/simulators.rst index 30821ba961..b41b734be3 100644 --- a/docs/sphinx/using/backends/simulators.rst +++ b/docs/sphinx/using/backends/simulators.rst @@ -171,7 +171,7 @@ To execute a program on the multi-node multi-GPU NVIDIA target, use the followin .. note:: * The order of the option settings are interchangeable. - For example, `cudaq.set_target('nvidia', option='mgpu,fp64')` is equivalent to `cudaq.set_target('nvidia', option='fp64,mgpu')`. + For example, `cudaq.set_target('nvidia', option='mgpu,fp64')` is equivalent to `cudaq.set_target('nvidia', option='fp64,mgpu')`. * The `nvidia` target has single-precision as the default setting. Thus, using `option='mgpu'` implies that `option='mgpu,fp32'`.