CUAOA is a GPU accelerated QAOA simulation framework utilizing the NVIDIA CUDA toolkit. This framework offers a complete interface for QAOA simulations, enabling the calculation of (exact) expectation values, direct access to the statevector, fast sampling, and high-performance optimization methods using an advanced state-of-the-art gradient calculation technique. The framework is designed for use in Python and Rust, providing flexibility for integration into a wide range of applications, including those requiring fast algorithm implementations leveraging QAOA at its core.
CUAOA is a GPU accelerated QAOA simulation framework utilizing the NVIDIA CUDA toolkit. This framework offers a complete interface for QAOA simulations, enabling the calculation of (exact) expectation values, direct access to the statevector, fast sampling, and high-performance optimization methods using an advanced state-of-the-art gradient calculation technique. The framework is designed for use in Python and Rust, providing flexibility for integration into a wide range of applications, including those requiring fast algorithm implementations leveraging QAOA at its core.
The Quantum Approximate Optimization Algorithm (QAOA) is a prominent quantum algorithm designed to find approximate solutions to combinatorial optimization problems, which are challenging for classical computers. In the current era, where quantum hardware is constrained by noise and limited qubit availability, simulating the QAOA remains essential for research. However, existing state-of-the-art simulation frame-works suffer from long execution times or lack comprehensive functionality, usability, and versatility, often requiring users to implement essential features themselves. Additionally, these frameworks are primarily restricted to Python, limiting their use in safer and faster languages like Rust, which offer, e.g., advanced parallelization capabilities. In this paper, we develop a GPU accelerated QAOA simulation framework utilizing the NVIDIA CUDA toolkit. This framework offers a complete interface for QAOA simulations, enabling the calculation of (exact) expectation values, direct access to the statevector, fast sampling, and high-performance optimization methods using an advanced state-of-the-art gradient calculation technique. The framework is designed for use in Python and Rust, providing flexibility for integration into a wide range of applications, including those requiring fast algorithm implementations leveraging QAOA at its core. The new framework's performance is rigorously benchmarked on the MaxCut problem and compared against the current state-of-the-art general-purpose quantum circuit simulation frameworks Qiskit and Pennylane as well as the specialized QAOA simulation tool QOKit. Our evaluation shows that our approach outperforms the existing state-of-the-art solutions in terms of runtime up to multiple orders of magnitude. Our implementation is publicly available at https://github.com/JFLXB/cuaoa and Zenodo [1].
We present the NVIDIA cuQuantum SDK [1], 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-based 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 cuQuantum 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.
Fast execution of complex quantum circuit simulations are crucial for verification of theoretical algorithms paving the way for their successful execution on the quantum hardware. However, the main stream CPU-based platforms for circuit simulation are well-established but slower. Despite this, adoption of GPU platforms remains limited because different hardware architectures require specialized quantum simulation frameworks, each with distinct implementations and optimization strategies. Therefore, we introduce Q-Gear, a software framework that transforms Qiskit quantum circuits into Cuda-Q kernels. By leveraging Cuda-Q seamless execution on GPUs, Q-Gear accelerates both CPU and GPU based simulations by respectively two orders of magnitude and ten times with minimal coding effort. Furthermore, Q-Gear leverages Cuda-Q configuration to interconnect GPUs memory allowing the execution of much larger circuits, beyond the memory limit set by a single GPU or CPU node. Additionally, we created and deployed a Podman container and a Shifter image at Perlmutter (NERSC/LBNL), both derived from NVIDIA public image. These public NERSC containers were optimized for the Slurm job scheduler allowing for close to 100% GPU utilization. We present various benchmarks of the Q-Gear to prove the efficiency of our computation paradigm.
The rapid execution of complex quantum circuit simulations is essential for validating theoretical algorithms, thereby facilitating their successful implementation on quantum hardware. Although mainstream CPU-based platforms for circuit simulations are well established, they tend to be slower. Conversely, the adoption of GPU platforms remains limited because of the necessity for specialized quantum simulation frameworks tailored to different hardware architectures, each requiring distinct implementation and optimization strategies. Therefore, we introduced Q-Gear, a platform-agnostic framework that transforms Qiskit quantum circuits into Cuda-Q kernels. By leveraging Cuda-Q seamless execution on GPUs, Q-Gear accelerates both CPU- and GPU-based simulations by two orders of magnitude and ten times, respectively, with minimal coding effort. Furthermore, Q-Gear leverages the Cuda-Q configuration to interconnect the memory of GPUs, allowing the execution of much larger circuits beyond the memory limit set by a single GPU or CPU node. Additionally, we created and deployed a Podman container and Shifter image at Perlmutter (NERSC/LBNL), both derived from an NVIDIA public image. These public NERSC containers were optimized for the Slurm job scheduler, allowing approximately 100% utilization of up to 1,024 GPUs. We present various benchmarks for Q-Gear to demonstrate the efficiency of our computational paradigm.
The rapid execution of complex quantum circuit simulations is essential for validating theoretical algorithms, thereby facilitating their successful implementation on quantum hardware. Although mainstream CPU-based platforms for circuit simulations are well established, they tend to be slower. Conversely, the adoption of GPU platforms remains limited because of the necessity for specialized quantum simulation frameworks tailored to different hardware architectures, each requiring distinct implementation and optimization strategies. Therefore, we introduced Q-Gear, a platform-agnostic framework that transforms Qiskit quantum circuits into Cuda-Q kernels. By leveraging Cuda-Q seamless execution on GPUs, Q-Gear accelerates both CPU- and GPU-based simulations by two orders of magnitude and ten times, respectively, with minimal coding effort. Furthermore, Q-Gear leverages the Cuda-Q configuration to interconnect the memory of GPUs, allowing the execution of much larger circuits beyond the memory limit set by a single GPU or CPU node. Additionally, we created and deployed a Podman container and Shifter image at Perlmutter (NERSC/LBNL), both derived from an NVIDIA public image. These public NERSC containers were optimized for the Slurm job scheduler, allowing approximately 100% utilization of up to 1,024 GPUs. We present various benchmarks for Q-Gear to demonstrate the efficiency of our computational paradigm.
Identifying the most suitable stocks for Portfolio stands as a critical challenge in the financial sector especially for a larger pool of assets. Quantum algorithms have emerged as a promising solution to the inherent challenges and offering the potential for exponential speedups in solving complex optimization problems. These algorithms are particularly suited for navigating the vast solution spaces associated with large asset pools, thus enabling more effective diversification strategies. Within this context, we explore the application of CUDA Quantum, an advanced quantum simulation framework and a quantum ready platform. Our study demonstrates that when applied to a set of 15 assets and more, CUDA Quantum significantly outperforms traditional CPU-based simulations in terms of computational speed and increases as the number of assets increase, highlighting the advantages of GPU acceleration in processing complex quantum algorithms. By extending our implementation to larger asset pools upto 30 assets, we provide empirical evidence of the substantial performance gains achievable with CUDA Quantum. Our findings illustrate the transformative potential of integrating quantum algorithms and GPU computing in addressing the challenge of portfolio optimization.