Release Notes

cuQuantum Appliance 22.07-Cirq

The following components included in the container are updated:

New features

  • Add a new option gpu_network to specify the topology of GPU data transfer network. By specifying this option, data transfers between GPUs are optimally scheduled for either networks with switch (DGX A100/DGX-2) or full mesh networks (DGX Station A100/V100).

  • Add a new option max_fused_diagonal_gate_size to enable gate fusion for diagonal gates.

  • Support multi-GPU noisy circuit simulation.

Driver requirements

This cuQuantum Appliance 22.07-Cirq container release is based on NVIDIA CUDA 11.5.1. The minimum requirement is CUDA 11.0 for the CUDA version of the driver.

cuQuantum Appliance 22.03-Cirq

The following components included in the container are updated:

Resolved issues

  • Multi-GPU expectation value computation with 4 GPUs (thanks to the BNL/CERN team for reporting)

cuQuantum Appliance 22.02-Cirq

The container image for NVIDIA cuQuantum Appliance 22.02 Cirq is available on NGC.

  • A new multi-GPU simulator backend optimized for NVIDIA DGX A100 with the following features:

    • Sampling the state vector

    • Performing a measurement on the state vector

    • Full state vector simulation

Contents of the cuQuantum Appliance 22.02-Cirq container

This container contains a modified version of Google’s qsim. It is pre-built and install in the default conda environment at the following location in the container:

/opt/conda/lib/python3.8/site-packages/qsimcirq

The container also includes the following:

Driver requirements

This cuQuantum Appliance 22.02-Cirq container release is based on NVIDIA CUDA 11.5.1, which requires NVIDIA Driver release 450 or later.

GPU Requirements

This cuQuantum Appliance 22.02-Cirq container release supports CUDA compute capability 7.0 and higher. This corresponds to GPUs in the NVIDIA Volta, Turing, and Ampere GPU architecture families. For a list of CUDA GPUs and their compute capabilities, please refer to this page. When using the multi-GPU backend, all GPUs involved must be mutually peer-accessible.

Known Limitations

When using the multi-GPU backend:

  • Results from the multi-GPU backend may be aggregated in Python using a single thread. In some cases, this leads to longer-than-expected runtimes.

  • The largest gate or observable in a quantum circuit must not exceed the size of the smallest state-vector partition (e.g.) a 3-qubit circuit with a 3-qubit gate where n_subsvs > 1 will produce an error.

  • Noisy elements of a quantum circuit are ignored. The corresponding noiseless circuit is passed to the simulator backend.

  • Hybrid simulation is disabled.

The NVIDIA cuQuantum Appliance is based on the NVIDIA CUDA base container, and the NVIDIA container relies on constraints using the NVIDIA_REQUIRE_* to support CUDA compatibility checks. There is a known issue with how the variable is defined in CUDA 11.5 and users may encounter the following error:

nvidia-container-cli: requirement error: unsatisfied condition: cuda>=11.5, please update your driver to a newer version ...
  • The suggested workaround is to disable the constraint checks either by defining the following environment variable:

    • NVIDIA_DISABLE_REQUIRE=1

  • or by using an additional option to Docker’s CLI when running the container:

    • --env NVIDIA_DISABLE_REQUIRE=1