Distributed Memory Techniques for Classical Simulation of Quantum Circuits

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 $2^n$ amplitudes of the $n$ qubit state vector $|\psi\rangle$ 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.

[1]  Seth Lloyd,et al.  Quantum singular-value decomposition of nonsparse low-rank matrices , 2016, 1607.05404.

[2]  Alán Aspuru-Guzik,et al.  qTorch: The quantum tensor contraction handler , 2017, PloS one.

[3]  Alán Aspuru-Guzik,et al.  qHiPSTER: The Quantum High Performance Software Testing Environment , 2016, ArXiv.

[4]  Krysta Marie Svore,et al.  LIQUi|>: A Software Design Architecture and Domain-Specific Language for Quantum Computing , 2014, ArXiv.

[5]  Peter W. Shor Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer , 1999 .

[6]  Xiang Fu,et al.  QX: A high-performance quantum computer simulation platform , 2017, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017.

[7]  Nicolas P. D. Sawaya,et al.  Quantum Information and Computation for Chemistry , 2017, 1706.05413.

[8]  J. Smolin,et al.  Classical signature of quantum annealing , 2013, Front. Phys..

[9]  Robert Wille,et al.  Advanced Simulation of Quantum Computations , 2017, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[10]  Andrew W. Cross,et al.  Open Quantum Assembly Language , 2017, 1707.03429.

[11]  F. Nori,et al.  Quantum Simulation , 2013, Quantum Atom Optics.

[12]  S. Lloyd,et al.  Quantum gradient descent and Newton’s method for constrained polynomial optimization , 2016, New Journal of Physics.

[13]  Doan Binh Trieu Large-scale simulations of error prone quantum computation devices , 2009 .

[14]  Alán Aspuru-Guzik,et al.  Quantum Neuron: an elementary building block for machine learning on quantum computers , 2017, ArXiv.

[15]  H. Neven,et al.  Characterizing quantum supremacy in near-term devices , 2016, Nature Physics.

[16]  S. Knysh,et al.  Quantum Annealing via Environment-Mediated Quantum Diffusion. , 2015, Physical review letters.

[17]  Ievgeniia Oshurko Quantum Machine Learning , 2020, Quantum Computing.

[18]  R. Feynman Simulating physics with computers , 1999 .

[19]  Thomas Häner,et al.  0.5 Petabyte Simulation of a 45-Qubit Quantum Circuit , 2017, SC17: International Conference for High Performance Computing, Networking, Storage and Analysis.

[20]  Vlad Gheorghiu,et al.  Quantum++ - A C++11 quantum computing library , 2014 .

[21]  H. Neven,et al.  Low-Depth Quantum Simulation of Materials , 2018 .