Advances in quantum simulator technology are increasingly required because research on quantum algorithms is becoming more sophisticated and complex. State vector simulation utilizes CPU and memory resources in computing nodes exponentially with respect to the number of qubits; furthermore, in a variational quantum algorithm, the large number of repeated runs by classical optimization is also a heavy load. This problem has been addressed by preparing numerous computing nodes or simulation frameworks that operate effectively. This study aimed to accelerate quantum simulation using two newly proposed methods: to efficiently utilize limited computational resources by adjusting the ratio of the MPI and distributed processing parallelism corresponding to the target problem settings and to slim down the Hamiltonian by considering the effect of accuracy on the calculation result. Ground-state energy calculations of a fermionic model were performed using a variational quantum eigensolver (VQE) on an HPC cluster with up to 1024 FUJITSU Processor A64FX connected to each other by InfiniBand; the processor is also used on supercomputer Fugaku. We achieved 200 times higher speed over VQE simulations and demonstrated 32 qubits ground-state energy calculations in acceptable time. This result indicates that > 30 qubit state vector simulations can be realistically utilized for further research on variational quantum algorithms.
In this paper we describe, implement, and test the performance of distributed memory simulations of quantum circuits on the MSU Laconia Top500 supercomputer. Using OpenMP and MPI hybrid parallelization, we first use a distributed matrix-vector multiplication with one-dimensional partitioning and discuss the shortcomings of this method due to the exponential memory requirements in simulating quantum computers. We then describe a more efficient method that stores only the
2n amplitudes of the
n qubit state vector
∣ψ⟩ and optimize its single node performance. In our multi-node implementation, we use a single amplitude communication protocol that maximizes the number of qubits able to be simulated and minimizes the ratio of qubits that require communication to those that do not, and we present an algorithm for efficiently determining communication pairs among processors. We simulate up to 30 qubits on a single node and 33 qubits with the state vector partitioned across 64 nodes. Lastly, we discuss the advantages and disadvantages of our communication scheme, propose potential improvements, and describe other optimizations such as storing the state vector non-sequentially in memory to map communication requirements to idle qubits in the circuit.
Quantum computer simulators running on classical computers are essential for developing real quantum computers and emerging quantum applications. In particular, state vector simulators, which store a full state vector in memory and update it in every quantum operation, are available to simulate an arbitrary form of quantum circuits, debug quantum applications, and validate future quantum computers. However, the time and space complexity grows exponentially with the number of qubits and easily exceeds the capability of a single machine. Therefore, we develop a distributed state vector simulator,
mpiQulacs, that is optimized for large-scale simulation on A64FX-based cluster systems. A64FX is an ARM-based CPU that is also equipped in the world's top Fugaku supercomputer. We evaluate weak and strong scaling of mpiQulacs with up to 36 qubits on a new 64-node A64FX-based cluster system named
Todoroki. By comparing mpiQulacs with existing distributed state vector simulators, we show that mpiQulacs achieves the highest performance for large-scale simulation on tens of nodes while sustaining a nearly ideal scalability. Besides, we define a new metric,
quantumB/Fratio, and use it to demonstrate that mpiQulacs running on Todoroki fits the requirements of distributed state vector simulation rather than the existing simulators running on general purpose CPU-based or GPU-based cluster systems.
Classical computers require large memory resources and computational power to simulate quantum circuits with a large number of qubits. Even supercomputers that can store huge amounts of data face a scalability issue in regard to parallel quantum computing simulations because of the latency of data movements between distributed memory spaces. Here, we apply a cache blocking technique by inserting swap gates in quantum circuits to decrease data movements. We implemented this technique in the open source simulation framework Qiskit Aer. We evaluated our simulator on GPU clusters and observed good scalability.
A revised version of the massively parallel simulator of a universal quantum computer, described in this journal eleven years ago, is used to benchmark various gate-based quantum algorithms on some of the most powerful supercomputers that exist today. Adaptive encoding of the wave function reduces the memory requirement by a factor of eight, making it possible to simulate universal quantum computers with up to 48 qubits on the Sunway TaihuLight and on the K computer. The simulator exhibits close-to-ideal weak-scaling behavior on the Sunway TaihuLight, on the K computer, on an IBM Blue Gene/Q, and on Intel Xeon based clusters, implying that the combination of parallelization and hardware can track the exponential scaling due to the increasing number of qubits. Results of executing simple quantum circuits and Shor’s factorization algorithm on quantum computers containing up to 48 qubits are presented.
Quantum computer simulators running on classical computers are essential for developing real quantum computers and emerging quantum applications. In particular, state vector simulators, which store a full state vector in memory and update it in every quantum operation, can be used to simulate an arbitrary form of quantum circuits, debug quantum applications, and validate future quantum computers. Since the time and space complexity grows exponentially with the number of qubits and easily exceeds the capability of a single machine, various distributed state vector simulators are developed. However, these are tuned for common CPUs and GPUs, not for ARM CPUs. Therefore, we develop a distributed state vector simulator, mpiQulacs, that is optimized for large-scale simulation on A64FX-based cluster systems. A64FX is a 48-core ARM-based CPU having high-bandwidth memory (HBM2) and also used in one of the world's top supercomputers, Fugaku. As computational optimization, we vectorize qubit operations with Scalable Vector Extension (SVE) to fully utilize its HBM2. To reduce the amount of inter-node communication for scalable simulation, mpiQulacs provides a fused-swap gate that collectively performs multiple swap operations as one operation and a quantum circuit optimizer that automatically adds fused-swap gates to a circuit. We evaluate weak and strong scaling of mpiQulacs with up to 39 qubits on our 512-node A64FX-based cluster system. The result shows that mpiQulacs achieves high-scalability on hundreds of nodes in benchmark and practical quantum circuits, and its performance is comparable with the existing well-known distributed state vector simulators.