  We present the NVIDIA cuQuantum SDK, a state-of-the-art library of composable
primitives for GPU-accelerated quantum circuit simulations. As the size of
quantum devices continues to increase, making their classical simulation
progressively more difficult, the availability of fast and scalable quantum
circuit simulators becomes vital for quantum algorithm developers, as well as
quantum hardware engineers focused on the validation and optimization of
quantum devices. The cuQuantum SDK was created to accelerate and scale up
quantum circuit simulators developed by the quantum information science
community by enabling them to utilize efficient scalable software building
blocks optimized for NVIDIA GPU platforms. The functional building blocks
provided cover the needs of both state vector- and tensor network- based
simulators, including approximate tensor network simulation methods based on
matrix product state, projected entangled pair state, and other factorized
tensor representations. By leveraging the enormous computing power of the
latest NVIDIA GPU architectures, quantum circuit simulators that have adopted
the cuQuantum SDK demonstrate significant acceleration, compared to CPU-only
execution, for both the state vector and tensor network simulation methods.
Furthermore, by utilizing the parallel primitives available in the cuQuantum
SDK, one can easily transition to distributed GPU-accelerated platforms,
including those furnished by cloud service providers and high-performance
computing systems deployed by supercomputing centers, extending the scale of
possible quantum circuit simulations. The rich capabilities provided by the SDK
are conveniently made available via both Python and C application programming
interfaces, where the former is directly targeting a broad Python quantum
community and the latter allows tight integration with simulators written in
any programming language.
