NGC | Catalog
CatalogContainersNVIDIA cuQuantum Appliance

NVIDIA cuQuantum Appliance

For copy image paths and more information, please view on a desktop device.
Logo for NVIDIA cuQuantum Appliance

Description

The NVIDIA cuQuantum Appliance is a highly performant multi-GPU multi-node solution for quantum circuit simulation. It contains NVIDIA’s cuStateVec and cuTensorNet libraries which optimize state vector and tensor network simulation, respectively.

Publisher

NVIDIA

Latest Tag

22.11

Modified

February 1, 2023

Compressed Size

4.31 GB

Multinode Support

Yes

Multi-Arch Support

No

22.11 (Latest) Scan Results

Linux / amd64

NVIDIA cuQuantum Appliance

The NVIDIA cuQuantum Appliance is a highly performant multi-GPU multi-node solution for quantum circuit simulation. It contains NVIDIA’s cuStateVec and cuTensorNet libraries which optimize state vector and tensor network simulation, respectively. The cuTensorNet library functionality is accessible through Python for Tensor Network operations. With the cuStateVec libraries, NVIDIA provides the following simulators:

IBM’s Qiskit Aer frontend via cusvaer, NVIDIA’s distributed state vector backend solver.
a multi-GPU-optimized Google Cirq frontend via qsim, Google’s state vector simulator.


Prerequisites

Using NVIDIA’s cuQuantum Appliance NGC Container requires the host system to have the following installed:

Docker Engine
NVIDIA GPU Drivers
NVIDIA Container Toolkit
For supported versions, see the container release notes. No other installation, compilation, or dependency management is required.


Running the NVIDIA cuQuantum Appliance with Cirq or Qiskit

The command to pull the container is:

docker pull nvcr.io/nvidia/cuquantum-appliance:22.11
  • To access to previously released containers, please use tag "22.07-cirq" or "22.03-cirq"

To run the container interactively:

docker run --gpus all -it --rm nvcr.io/nvidia/cuquantum-appliance:22.11

The examples are located under /workspace/examples. In the container:

root@31ca7e6be1ac:/workspace$ cd examples && ls -la
total 24
drwxr-xr-x 2 root root 4096 Feb 18 08:44 .
drwxr-xr-x 3 root root 4096 Feb 18 08:44 ..
-rw-r--r-- 1 root root 2048 Feb 18 08:16 ghz.py
-rw-r--r-- 1 root root 8356 Feb 18 08:16 hidden_shift.py
-rw-r--r-- 1 root root 8356 Feb 18 08:16 simon.py

To run any of the examples, simply use the following command from within the container:

root@59e0cef3bd67:/workspace/examples$ python {example-name}.py

Each of the examples has a command-line interface. To query the interface’s help, run this command from within the container:

root@59e0cef3bd67:/workspace/examples$ python {example-name}.py --help

For example:

root@59e0cef3bd67:/workspace/examples$ python ghz.py --help
usage: ghz.py [-h] [--nqubits NQUBITS] [--nsamples NSAMPLES] [--ngpus NGPUS]
GHZ circuit
optional arguments:
  -h, --help           show this help message and exit
  --nqubits NQUBITS    the number of qubits in the circuit
  --nsamples NSAMPLES  the number of samples to take
  --ngpus NGPUS        the number of GPUs to use

All together from the host's command-line:

docker run --gpus all --rm nvcr.io/nvidia/cuquantum-appliance:22.11 python /workspace/examples/ghz.py --nqubits 30 --nsamples 1000 --ngpus 2

More sample codes, including multi-node computations by Qiskit, can be found in the NVIDIA/cuQuantum repository.

For a general guide on pulling and running containers, see Pulling a Container Image and Running a Container in the NGC Container User Guide.


Documentation

The NVIDIA cuQuantum Appliance documentation is hosted here.
A guide for using Qiskit can be found here.
A guide and tutorials for using Cirq can be found here.
A guide to getting started with qsimcirq can be found here.


Additional Resources

The NVIDIA cuQuantum SDK Homepage
The NVIDIA cuQuantum Python Bindings and Examples


License Agreement

The image is governed by the following NVIDIA End User License Agreement. By downloading the NVIDIA cuQuantum Appliance, you accept the terms and conditions of this license. The cuQuantum Appliance End User License Agreement can be viewed here. Since the image includes components licensed under open-source licenses, the source code for these components can be found here.