Release Notes¶
cuQuantum Appliance 25.03¶
The following components included in the container are updated:
New features¶
Floating point math emulation for B200 GPU
Multi-node NVLink support for GB200 systems
Improvements¶
Some enhancements have been introduced to accelerate state vector simulations that utilize CPU memory
Driver Requirements¶
Based CUDA Toolkit version |
11.8.0 |
12.8.0 |
Minimum driver version |
470.57.02+ (Linux) |
525.60.13+ (Linux) |
cuQuantum Appliance 24.11¶
The following components included in the container are updated:
New features¶
State vector allocation on both CPU and GPU
Single process simulation with multiple GPUs
Resolved issue¶
State vector is broken after computing the expectation values with Pauli strings.
Driver Requirements¶
Based CUDA Toolkit version |
11.8.0 |
12.2.2 |
Minimum driver version |
470.57.02+ (Linux) |
525.60.13+ (Linux) |
cuQuantum Appliance 24.08¶
The following components included in the container are updated:
Resolved issue¶
Fixed an issue that Qiskit can return an error
qiskit.transpiler.exceptions.CircuitTooWideForTarget
for large-scale circuits.
Driver Requirements¶
This cuQuantum Appliance 24.08 container release is based on multiple CUDA Toolkit versions. Below we provide a support matrix for minimum required driver versions.
Based CUDA Toolkit version |
11.8.0 |
12.2.2 |
Minimum driver version |
470.57.02+ (Linux) |
525.60.13+ (Linux) |
cuQuantum Appliance 24.03¶
The following components included in the container are updated:
Qiskit 1.0 has broken compatibility with all previous versions of Qiskit. For details, please refer to Qiskit 1.0 migration guide.
Resolved issue¶
Fixed an issue that cusvaer can return an error for circuits that contain multiple lists of
Register
objects.
Driver Requirements¶
This cuQuantum Appliance 24.03 container release is based on multiple CUDA Toolkit versions. Below we provide a support matrix for minimum required driver versions.
Based CUDA Toolkit version |
11.8.0 |
12.2.2 |
Minimum driver version |
470.57.02+ (Linux) |
525.60.13+ (Linux) |
cuQuantum Appliance 23.10¶
The following components included in the container are updated:
New Features¶
Support for Arm (aarch64) architecture.
Support for Ubuntu 22.04 including Python 3.10.
Support expectation value calculations with the cusvaer backend in Qiskit Aer.
A new option
cusvaer_diagonal_fusion_max_qubit
, in the cusvaer backend to enable gate fusion for diagonal gates.
Driver Requirements¶
This cuQuantum Appliance 23.10 container release is based on multiple CUDA Toolkit versions. Below we provide a support matrix for minimum required driver versions.
Based CUDA Toolkit version |
11.8.0 |
12.2.0 |
Minimum driver version |
470.57.02+ (Linux) |
525.60.13+ (Linux) |
cuQuantum Appliance 23.06¶
The following components included in the container are updated:
Resolved issues¶
Fixed memory deallocation errors during noisy simulations in the qsim multi-GPU backend.
Driver requirements¶
This cuQuantum Appliance 23.06 container release is based on NVIDIA CUDA 11.8.0. The minimum driver requirement is 470.57.02 to run the Cirq/qsim and Qiskit/cusvaer simulators.
cuQuantum Appliance 23.03¶
The following components included in the container are updated:
Resolved issues¶
Fixed an issue that qsim can return incorrect results when multiple GPUs are used for simulation.
Fixed a qsim multi-GPU backend issue that the order of state vector elements copied to host numpy array can be disordered. This symptom was observed when using eight or larger number of sub state vectors.
Fixed a qsim multi-GPU backend issue that the active device can be changed after the simulation.
Fixed an issue that the qsim multi-GPU backend can return an error when a sequence of integers is given to the
gpu_mode
option.Fixed memory allocation errors when running the cusvaer backend repeatedly.
Fixed a cusvaer issue of a possible stall and disordered state vector elements when copying the state vector from GPU to a numpy array on host.
New sample¶
qiskit_ghz.py example is added to try Qiskit-based multi-node state vector simulator.
Driver requirements¶
This cuQuantum Appliance 23.03 container release is based on NVIDIA CUDA 11.8.0. The minimum driver requirement is 470.57.02 to run the Cirq/qsim and Qiskit/cusvaer simulators.
cuQuantum Appliance 22.11¶
We are on NVIDIA/cuQuantum GitHub Discussions! For any questions regarding (or exciting works built upon) cuQuantum, please feel free to reach out to us on GitHub Discussions.
Bug reports should still go to our GitHub issue tracker.
The following components included in the container are updated:
New features¶
Driver requirements¶
This cuQuantum Appliance 22.11 container release is based on NVIDIA CUDA 11.8.0. The minimum driver requirement is 470.57.02 to run the Cirq/qsim and Qiskit/cusvaer simulators.
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 driver requirement is 470.52 to run the Cirq/qsim simulator.
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