NGC | Catalog
Welcome Guest
CatalogContainersNVIDIA cuQuantum Appliance

NVIDIA cuQuantum Appliance

For pull tags 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 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.03-cirq

Modified

May 13, 2022

Compressed Size

3.2 GB

Multinode Support

No

Multi-Arch Support

No

22.03-cirq (Latest) Scan Results

Linux / amd64

NVIDIA cuQuantum Appliance

The NVIDIA cuQuantum Appliance is a highly performant multi-GPU 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 a multi-GPU-optimized Google Cirq frontend via qsim, Google's state vector simulator for quantum circuits.


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

The command to pull the container is:

docker pull nvcr.io/nvidia/cuquantum-appliance:xx.xx-cirq
  • where ‘xx.xx’ is replaced by the YY.MM version of the release, for example 22.03

To run the container interactively:

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

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:xx.xx-cirq python /workspace/examples/ghz.py --nqubits 30 --nsamples 1000 --ngpus 2

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 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.