We present an open-source software package, VAN-DAMME (Versatile Approaches to Numerically Design, Accelerate, and Manipulate Magnetic Excitations), for massively-parallelized quantum optimal control (QOC) calculations of multi-qubit systems. To enable large QOC calculations, the VAN-DAMME software package utilizes symmetry-based techniques with custom GPU-enhanced algorithms. This combined approach allows for the simultaneous computation of hundreds of matrix exponential propagators that efficiently leverage the intra-GPU parallelism found in high-performance GPUs. In addition, to maximize the computational efficiency of the VAN-DAMME code, we carried out several extensive tests on data layout, computational complexity, memory requirements, and performance. These extensive analyses allowed us to develop computationally efficient approaches for evaluating complex-valued matrix exponential propagators based on Padé approximants. To assess the computational performance of our GPU-accelerated VAN-DAMME code, we carried out QOC calculations of systems containing 10 - 15 qubits, which showed that our GPU implementation is 18.4× faster than the corresponding CPU implementation. Our GPU-accelerated enhancements allow efficient calculations of multi-qubit systems, which can be used for the efficient implementation of QOC applications across multiple domains. Program summary Program Title: VAN-DAMME CPC Library link to program files:: https://doi.org/10.17632/zcgw2n5bjf.1 Licensing provisions: GNU General Public License 3 Programming language: C++ and CUDA Nature of problem: The VAN-DAMME software package utilizes GPU-accelerated routines and new algorithmic improvements to compute optimized time-dependent magnetic fields that can drive a system from a known initial qubit configuration to a specified target state with a large (≈1) transition probability . Solution method: Quantum control , GPU acceleration, analytic gradients, matrix exponential, and gradient ascent optimization.
We present an open-source software package, VAN-DAMME (Versatile Approaches to Numerically Design, Accelerate, and Manipulate Magnetic Excitations), for massively-parallelized quantum optimal control (QOC) calculations of multi-qubit systems. To enable large QOC calculations, the VAN-DAMME software package utilizes symmetry-based techniques with custom GPU-enhanced algorithms. This combined approach allows for the simultaneous computation of hundreds of matrix exponential propagators that efficiently leverage the intra-GPU parallelism found in high-performance GPUs. In addition, to maximize the computational efficiency of the VAN-DAMME code, we carried out several extensive tests on data layout, computational complexity, memory requirements, and performance. These extensive analyses allowed us to develop computationally efficient approaches for evaluating complex-valued matrix exponential propagators based on Padé approximants. To assess the computational performance of our GPU-accelerated VAN-DAMME code, we carried out QOC calculations of systems containing 10 - 15 qubits, which showed that our GPU implementation is 18.4× faster than the corresponding CPU implementation. Our GPU-accelerated enhancements allow efficient calculations of multi-qubit systems, which can be used for the efficient implementation of QOC applications across multiple domains. Program summary Program Title: VAN-DAMME CPC Library link to program files:: https://doi.org/10.17632/zcgw2n5bjf.1 Licensing provisions: GNU General Public License 3 Programming language: C++ and CUDA Nature of problem: The VAN-DAMME software package utilizes GPU-accelerated routines and new algorithmic improvements to compute optimized time-dependent magnetic fields that can drive a system from a known initial qubit configuration to a specified target state with a large (≈1) transition probability . Solution method: Quantum control , GPU acceleration, analytic gradients, matrix exponential, and gradient ascent optimization.
We present an open-source software package, TRAVOLTA (Terrific Refinements to Accelerate, Validate, and Optimize Large Time-dependent Algorithms), for carrying out massively parallelized quantum optimal control calculations on GPUs. The TRAVOLTA software package is a significant overhaul of our previous NIC-CAGE algorithm and also includes algorithmic improvements to the gradient ascent procedure to enable faster convergence. We examine three different variants of GPU parallelization to assess their performance in constructing optimal control fields in a variety of quantum systems. In addition, we provide several examples with extensive benchmarks on our GPU-enhanced TRAVOLTA code to show that it generates the same results as previous CPU-based algorithms but with a speedup that is more than ten times faster. Our GPU enhancements and algorithmic improvements enable large quantum optimal control calculations that can be efficiently and routinely executed on modern multi-core computational hardware. Program Title: TRAVOLTA CPC Library link to program files: https://doi.org/10.17632/grwppm37rn.1 Licensing provisions: GNU General Public License 3 Programming language: C++ and CUDA Supplementary material: Brief review of LU decomposition and raw numerical values used to generate Fig. 6 in the main text. Nature of problem: The TRAVOLTA software package utilizes GPU accelerated routines and new algorithmic improvements to compute optimized electric fields that can drive a system from a known initial vibrational eigenstate to a specified final quantum state with a large (≈1) transition probability. Solution method: Quantum control, GPU acceleration, analytic gradients, Crank-Nicolson propagation, and gradient ascent optimization.
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 jQMC, a Python-based computational package for {\it ab initio} Quantum Monte Carlo (QMC) simulations, designed for modern GPU-accelerated computing environments. jQMC implements two well-established QMC algorithms: Variational Monte Carlo (VMC) and the lattice-regularized variant of Diffusion Monte Carlo (LRDMC). The employed wave function is a Jastrow factor combined with the antisymmetrized geminal power with spin-singlet and spin-triplet pairings, which contains the single Slater determinant as its special lowest-rank case. The wave function can be initialized from external Hartree-Fock/Density Functional Theory calculations through the TREX-IO library (a common wave-function format across electronic-structure packages) and optimized by stochastic reconfiguration and linear-method energy minimization. One of the prominent features of jQMC is its use of JAX, which enables automatic differentiation for wave function optimization and atomic force calculations, and allows the main QMC algorithms to be Just-In-Time (JIT) compiled and portable across CPU and GPU. jQMC is vectorized over walkers at the top level of the QMC algorithms, providing efficient intra-GPU~(CPU) vectorization. The multi-GPU~(CPU) parallelization is also supported through MPI and JAX sharding. To assess the practical performance of this implementation, we benchmarked jQMC performance on NVIDIA GPUs (A100 and H100) and analyzed CUDA kernels. For the test cases analyzed here, with system sizes up to 160 electrons, the current version of jQMC is faster than TurboRVB, a Fortran90 code implementing the same algorithms and wave functions, once jQMC is run on GPUs. In terms of wall-time, the gain can reach an order of magnitude for VMC, while it is more moderate for LRDMC.
Graphical Processing Units (GPUs) are highly parallel, programmable accelerators boasting high peak floating point performance. Over the last couple of years the use of GPUs for general purpose computing have revolutionized quantum chemistry. The computational bottleneck in an ab-initio quantum method is the calculation of a large number of twoelectron integrals. To date, a number of GPU accelerated two-electron integral implementations have been developed significantly improving the performance of a static quantum mechanical (QM) calculation. However, when performing an ab-initio QM gradient calculation, optimization, QM or Hybrid Quantum Mechanical/Molecular Mechanical (QM/MM) dynamics simulation the twoelectron integral derivatives arise as an additional bottleneck. Hybrid QM/MM methods particularly dynamics methods are commonly used to study large chemical/biological systems. These methods are a popular choice used for studying reaction mechanisms, conformational and configurational structures important in glycobiology. Usually a semiempirical QM method is used however, these have shown variable accuracy for the study of carbohydrate conformation and prevents an analytical investigation of electronic structure. The use of a higher level of theory, such as an ab initio method, is desirable however this comes at a much greater computational cost. Together with the bottlenecks above this cost results from the polarization of the QM region within an electrostatic embedding scheme, which requires the calculation of a large number of one-electron integral derivatives. Thus for QM/MM calculations the one-electron integral derivatives becomes a third bottleneck together with the two mentioned above. Recently, the above bottlenecks have become popular GPU acceleration targets. This thesis describes an extension of the GPU based Quantum Supercharger Library (QSL) to perform the above calculations/simulations. In contrast to GPU packages developed from the ground up, the QSL is a library of routines aimed at accelerating legacy codes, such as GAMESS-UK, GAMESS-US and NWChem, used in electronic structure calculations. Algorithms are presented for accelerating the one- and two-electron integral derivatives on a GPU. In addition to the derivatives, the one-electron integral calculation was ported to the GPU in order to remove a small additional cost arising for large QM/MM systems. Furthermore, the use of automatic code generation for generating GPU kernels was explored and compared to the original approach. Using the QSL library implemented in GAMESS-UK several benchmark calculations and simulations were performed. These were performed in double precision on a single GPU (Kepler K20) and compared to a single CPU using the 6-31G basis set. A speedup of up to 9.3X is achieved for an ab initio gradient calculation compared to the CPU running an optimized serial version of GAMESS-UK using the Schlegel method. For a single point QM/MM calculation of cellobiose in different sized water spheres (3267-24843 point charges) speedups of between 13X and 34X is achieved. QSL/GAMESS-UK coupled to the CHARMM molecular dynamics package was then used in order to perform accelerated molecular dynamics simulations. Benchmark QM and QM/MM molecular dynamics simulations were performed on cellobiose in vacuo and in a water sphere (45 QM atoms and 24843 point charges respectively). The QSL is able to perform 9.7 ps/day of ab initio QM dynamics and 6.4 ps/day of QM/MM dynamics. Testing of the auto-generated version of the QSL showed better performance for lower angular momentum classes but reduced performance for higher angular momentum classes. The efficiency of the integral and derivative routines within the QSL library was tested on a computationally intense realistic glycobiological condensed phase free energy computation. Ab-initio pucker free energy surfaces/volumes of !-Ribofuranose and !-Glucopyranose in vacuum and in water were computed. These are the first converged Hartree-Fock/MM free energy simulations for these carbohydrates performed in solution. The value of the ab initio Free energy surfaces/volumes was demonstrated through an analysis of solvent polarization effects that are evident through a comparison of the vacuum and solution minimum free energy pathways. In particular the water structure around the pucker conformers, analysis of the primary alcohol distribution as well as analysis of the electronic structure of these conformers reveals that water significantly affects the free energy pathways, primary alcohol distribution and the barriers for inter-conversion between pucker conformers.
We release a set of GPU programs for the study of the Quantum (S=1/2) Spin Glass on a square lattice, with binary couplings. The library contains two main codes: MCQSG (that carries out Monte Carlo simulations using both the Metropolis and the Parallel Tempering algorithms, for the problem formulated in the Trotter-Suzuki approximation), and EDQSG (that obtains the extremal eigenvalues of the Transfer Matrix using the Lanczos algorithm). EDQSG has allowed us to diagonalize transfer matrices with size up to 236×236. From its side, MCQSG running on four NVIDIA A100 cards delivers a sub-picosecond time per spin-update, a performance that is competitive with dedicated hardware. We include as well in our library GPU programs for the analysis of the spin configurations generated by MCQSG. Finally, we provide two auxiliary codes: the first generates the lookup tables employed by the random number generator of MCQSG; the second one simplifies the execution of multiple runs using different input data. Program Title: QISG Suite CPC Library link to program files: https://doi.org/10.17632/g97sn2t8z2.1 Licensing provisions: MIT Programming language: CUDA-C Nature of problem: The critical properties of quantum disordered systems are known only in a few, simple, cases whereas there is a growing interest in gaining a better understanding of their behaviour due to the potential application of quantum annealing techniques for solving optimization problems. In this context, we provide a suite of codes, that we have recently developed, to the purpose of studying the 2D Quantum Ising Spin Glass. Solution method: We provide a highly tuned multi-GPU code for the Montecarlo simulation of the 2D QISG based on a combination of Metropolis and Parallel Tempering algorithms. Moreover, we provide a code for the evaluation of the eigenvalues of the transfer matrix of the 2D QISG for size up to L=6. The eigenvalues are computed by using the classic Lanczos algorithm that, however, relies on a custom multi-GPU-CPU matrix-vector product that speeds-up dramatically the execution of the algorithm.
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.