From 8518b95f9d0f74859f6ba4160559e2b93c633bfc Mon Sep 17 00:00:00 2001
From: eliottrosenberg <61400172+eliottrosenberg@users.noreply.github.com>
Date: Wed, 24 May 2023 18:18:56 -0700
Subject: [PATCH 01/13] Update choose_hw.md
Add information about cuQuantum and multi-GPU simulations.
---
docs/choose_hw.md | 184 +++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 175 insertions(+), 9 deletions(-)
diff --git a/docs/choose_hw.md b/docs/choose_hw.md
index 3be2bc06..4bd52454 100644
--- a/docs/choose_hw.md
+++ b/docs/choose_hw.md
@@ -38,22 +38,24 @@ below](#5_consider_multiple_compute_nodes).
### 2. Estimate your memory requirements
You can estimate your memory requirements with the following rule of thumb:
-$ memory\ required = 8 \cdot 2^N bytes $ for an N-qubit circuit
+$ {\rm memory\, required} = 8 \cdot 2^N {\rm bytes} $ for an N-qubit circuit
In addition to memory size, consider the bandwidth of your memory. qsim performs
best when it can use the maximum number of threads. Multi-threaded simulation
benefits from high-bandwidth memory (above 100GB/s).
-### 3. Decide between CPUs and GPUs
+### 3. Decide among CPUs, single GPUs, or multiple GPUs
* GPU hardware starts to outperform CPU hardware significantly (up to 15x
faster) for circuits with more than 20 qubits.
* The maximum number of qubits that you can simulate with a GPU is limited by
- the memory of the GPU. Currently, for a noiseless simulation on an NVIDIA
- A100 GPU (with 40GB of memory), the maximum number of qubits is 32.
-* For noiseless simulations with 32-40 qubits, you can use CPUs. However, the
- runtime time increases exponentially with the number of qubits, and runtimes
- are long for simulations above 32 qubits.
+ the memory of the GPU. For example, for a noiseless simulation on an NVIDIA
+ A100 GPU with 40GB of memory, the maximum number of qubits is 32.
+* However, if you have access to a device with multiple GPUs, you can
+ pool their memory. For example, with eight 80-GB NVIDIA A100 GPUs (640GB of
+ total GPU memory), you can simulate up to 36 qubits. Multi-GPU simulations
+ are supported by [NVIDIA's cuQuantum Appliance](https://catalog.ngc.nvidia.com/orgs/nvidia/containers/cuquantum-appliance),
+ which acts as a backend for qsim. It is documented [here](https://docs.nvidia.com/cuda/cuquantum/appliance/cirq.html).
The following charts show the runtime for a random circuit run on
[Google Compute Engine](https://cloud.google.com/compute), using an NVidia A100
@@ -65,11 +67,175 @@ scale.
![qsim runtime comparison on multipe processors: noiseless](images/qsim_runtime_comparison_noiseless.png)
![qsim runtime comparison on multipe processors: noisy](images/qsim_runtime_comparison_noisy.png)
-### 4. Select a specific machine
+### 4. If using GPUs, select a backend
+
+For GPU-based simulations, you can either use qsim's native GPU backend
+or the NVIDIA cuQuantum backend. While the native qsim GPU backend is performant
+for extracting amplitudes of specific quantum states, it is not optimized for
+sampling bitstrings, i.e. for simulating circuits that have measurement gates. For
+that purpose, cuQuantum performs significantly better. cuQuantum is also needed
+for multi-GPU support. More specifically, there are three options for GPU-based
+simulations:
+1. Native qsim. This option involves compiling qsim locally with the CUDA toolkit
+ installed, as described [here](https://quantumai.google/qsim/tutorials/gcp_gpu).
+2. NVIDIA cuQuantum SDK/cuStateVec. This option involves installing [NVIDIA's cuQuantum SDK](https://developer.nvidia.com/cuquantum-sdk)
+ (instructions [here](https://docs.nvidia.com/cuda/cuquantum/custatevec/getting_started.html#installation-and-compilation)),
+ setting the `CUQUANTUM_ROOT` environment variable and then compiling qsim locally.
+ See further instructions [here](https://quantumai.google/qsim/tutorials/gcp_gpu#optional_use_the_nvidia_cuquantum_sdk).
+ This allows you to use the cuQuantum backend with the latest version of qsim.
+ However, it does not enable multi-GPU support.
+3. For multi-GPU support, you will need to use [cuQuantum Appliance](https://catalog.ngc.nvidia.com/orgs/nvidia/containers/cuquantum-appliance),
+ which runs in a Docker container and contains a version of qsim that has been
+ slightly modified by NVIDIA. The versions of qsim and cirq in this container
+ may be out of date.
+
+We recommend option 2 if you are not planning to run multi-GPU simulations
+and option 3 if you are.
+
+Note the settings in [`qsimcirq.QSimOptions`](https://quantumai.google/reference/python/qsimcirq/QSimOptions),
+which allow you to specify the GPU backend as well as related settings. We find
+that `max_fused_gate_size = 4` is optimal for larger circuits. In cuQuantum Appliance,
+these settings are extended, as documented [here](https://docs.nvidia.com/cuda/cuquantum/appliance/cirq.html),
+allowing you to specify how many and which GPUs to use.
+
+
+### 5. Select a specific machine
After you decide whether you want to use CPUs or GPUs for your simulation,
choose a specific machine:
+#### For GPU-based simulations:
+
+For GPU simulations, you may follow the instructions in [this](https://quantumai.google/qsim/tutorials/gcp_gpu)
+guide to set up a virtual machine (VM) on Google Cloud Platform (GCP).
+Alternatively, you can use your own hardware or a different cloud service.
+Note the [hardware requirements](https://docs.nvidia.com/cuda/cuquantum/getting_started.html#custatevec)
+for NVIDIA's cuQuantum when picking a GPU; in particular, it must have
+CUDA Compute Capability 7.0 or higher.
+At the time of writing, the following compatable GPUs are available on GCP:
+* [NVIDIA T4](https://www.techpowerup.com/gpu-specs/tesla-t4.c3316).
+ This is the least expensive compatable GPU on GCP.
+ It has 16GB of memory and can therefore simulate up to 30 qubits.
+ It is not compatible with multi-GPU simulations.
+* [NVIDIA V100](https://www.techpowerup.com/gpu-specs/tesla-v100-pcie-16-gb.c2957).
+ Like the NVIDIA T4, this GPU has 16GB of RAM and
+ therefore supports up to 30 qubits. It is faster than the T4.
+ Further, it is compatible with multi-GPU simulations. With 8 NVIDIA V100s (128GB),
+ you can simulate up to 33 qubits.
+* [NVIDIA L4](https://www.techpowerup.com/gpu-specs/l4.c4091). This GPU has 24GB
+ of RAM and can therefore simulate up to 31 qubits. With eight of them (192GB), you can simulate
+ up to 34 qubits.
+* [NVIDIA A100 (40GB)](https://www.techpowerup.com/gpu-specs/a100-pcie-40-gb.c3623).
+ Can simulate 32 qubits with a single GPU or 36 qubits with 16 GPUS (640GB).
+* [NVIDIA A100 (80GB)](https://www.techpowerup.com/gpu-specs/a100-pcie-80-gb.c3821).
+ Can simulate 33 qubits with a single GPU or 36 with 8 GPUs (640GB).
+
+If you are using GCP, pay attention to the hourly cost, which you can see when creating a VM. To estimate
+your total cost, you need to know how long your simulation will take to run. Here
+are our benchmarks of the various GPUs (except the L4, which was added after we performed
+the benchmarks). We report the time in seconds to run a noiseless depth-N circuit on N qubits and
+sample 100,000 N-bit bitstrings, all benchmarked using cuQuantum with `max_fused_gate_size = 4`.
+
+
+
+
+ GPU |
+ number of GPUs |
+
+ Runtime using cuQuantum (seconds)
+ |
+
+
+ N=26 |
+ N=28 |
+ N=30 |
+ N=32 |
+ N=34 |
+ N=36 |
+
+
+
+
+ NVIDIA T4 |
+ 1 |
+ 1.25 |
+ 3.5 |
+ 13.4 |
+ insufficient RAM |
+ insufficient RAM |
+ insufficient RAM |
+
+
+ NVIDIA V100 |
+ 1 |
+ 0.91 |
+ 1.55 |
+ 4.4 |
+ insufficient RAM |
+ insufficient RAM |
+ insufficient RAM |
+
+
+ NVIDIA V100 |
+ 2 |
+ 1.0 |
+ 1.3 |
+ 2.5 |
+ insufficient RAM |
+ insufficient RAM |
+ insufficient RAM |
+
+
+ NVIDIA A100 (40GB) |
+ 1 |
+ 0.89 |
+ 1.23 |
+ 2.95 |
+ 11.1 |
+ insufficient RAM |
+ insufficient RAM |
+
+
+ NVIDIA A100 (40GB) |
+ 2 |
+ 1.04 |
+ 1.24 |
+ 1.88 |
+ 4.85 |
+ insufficient RAM |
+ insufficient RAM |
+
+
+ NVIDIA A100 (80GB) |
+ 2 |
+ 1.04 |
+ 1.21 |
+ 1.75 |
+ 4.06 |
+ 14.6 |
+ insufficient RAM |
+
+
+
+ NVIDIA A100 (80GB) |
+ 8 |
+ 1.31 |
+ 1.38 |
+ 1.55 |
+ 2.23 |
+ 5.09 |
+ 17.6 |
+
+
+
+
+Note that your GCP account may have [quotas](https://cloud.google.com/docs/quota)
+on the number and type of GPUs that you can use. Increasing quotas may require contacting
+customer support.
+
+
+#### For CPU-based simulations:
+
1. Restrict your options to machines that meet your memory requirements. For
more information about memory requirements, see step 2.
2. Decide if performance (speed) or cost is more important to you:
@@ -87,7 +253,7 @@ choose a specific machine:
typically, f=4 is the best option).
* Simulating a **deep circuit** (depth 30+).
-### 5. Consider multiple compute nodes
+### 6. Consider multiple compute nodes
Simulating in multinode mode is useful when your simulation can be parallelized.
In a noisy simulation, the trajectories (also known as repetitions, iterations)
From de565b7e39c3fe9867c195a4fafb32a937acefd5 Mon Sep 17 00:00:00 2001
From: eliottrosenberg <61400172+eliottrosenberg@users.noreply.github.com>
Date: Wed, 24 May 2023 18:26:07 -0700
Subject: [PATCH 02/13] Update flowchart
---
docs/images/choose_hw.png | Bin 47955 -> 85256 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/docs/images/choose_hw.png b/docs/images/choose_hw.png
index 76a894b4805f0510867aca882dcf767c994120c5..b9d3183e4b3b854d24a11c148a0f12cf4393f839 100644
GIT binary patch
literal 85256
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 |