Release Notes ************* 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: * :ref:`NVIDIA cuQuantum SDK v22.11 ` New features ------------ * The first release of Qiskit-based multi-node state vector simulator. Please refer to :doc:`Qiskit ` and :doc:`cusvaer `. 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 Cirq/qsim Qiskit/cusvaer simulators. cuQuantum Appliance 22.07-Cirq ============================== The following components included in the container are updated: * `Cirq 0.14.1 `_ * :ref:`NVIDIA cuQuantum SDK v22.07 ` 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 Cirq/qsim simulator. cuQuantum Appliance 22.03-Cirq ============================== The following components included in the container are updated: * :ref:`NVIDIA cuQuantum SDK v22.03 ` 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: .. code-block:: bash /opt/conda/lib/python3.8/site-packages/qsimcirq The container also includes the following: * `Cirq 0.13.1 `_ * `Numpy 1.22 `_ * `Ubuntu 20.04 `_ including `Python 3.8 `_ * `NVIDIA CUDA 11.5.1 `_ * :ref:`NVIDIA cuQuantum SDK 0.1.1 ` 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 :code:`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 :code:`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: .. code-block:: bash 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: * :code:`NVIDIA_DISABLE_REQUIRE=1` * or by using an additional option to Docker's CLI when running the container: * :code:`--env NVIDIA_DISABLE_REQUIRE=1`