Brute-forcing spin-glass problems with CUDA

We demonstrate how to compute the low energy spectrum for small ($N\le 50$), but otherwise arbitrary, spin-glass instances using modern Graphics Processing Units or similar heterogeneous architecture. Our algorithm performs an exhaustive (i.e., brute-force) search of all possible configurations to select $S\ll 2^N$ lowest ones together with their corresponding energies. We mainly focus on the Ising model defined on an arbitrary graph. An open-source implementation based on CUDA Fortran and a suitable Python wrapper are provided. As opposed to heuristic approaches, ours is exact and thus can serve as a references point to benchmark other algorithms and hardware, including quantum and digital annealers. Our implementation offers unprecedented speed and efficiency already visible on commodity hardware. At the same time, it can be easily launched on professional, high-end graphics cards virtually at no extra effort. As a practical application, we employ it to demonstrate that the recent Matrix Product State based algorithm-despite its one-dimensional nature-can still accurately approximate the low energy spectrum of fully connected graphs of size $N$ approaching $50$.

[1]  Martin Weigel,et al.  Estimating the density of states of frustrated spin systems , 2018, New Journal of Physics.

[2]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[3]  Jeffrey D. Blanchard,et al.  Fast k-selection algorithms for graphics processing units , 2012, JEAL.

[4]  Sebastian Deffner,et al.  Quantum fluctuation theorem for error diagnostics in quantum annealers , 2018, Scientific Reports.

[5]  Matt Pharr,et al.  Gpu gems 2: programming techniques for high-performance graphics and general-purpose computation , 2005 .

[6]  Itay Hen,et al.  Practical engineering of hard spin-glass instances , 2016, 1605.03607.

[7]  Scott Aaronson,et al.  Quantum Computing since Democritus , 2013 .

[8]  Mark D. Hill,et al.  Amdahl's Law in the Multicore Era , 2008 .

[9]  Vicky Choi,et al.  Minor-embedding in adiabatic quantum computation: I. The parameter setting problem , 2008, Quantum Inf. Process..

[10]  Geoffrey E. Hinton,et al.  ImageNet classification with deep convolutional neural networks , 2012, Commun. ACM.

[11]  Jie Cheng,et al.  CUDA by Example: An Introduction to General-Purpose GPU Programming , 2010, Scalable Comput. Pract. Exp..

[12]  Andrew Lucas,et al.  Ising formulations of many NP problems , 2013, Front. Physics.

[13]  M. L. Wall,et al.  Out-of-equilibrium dynamics with matrix product states , 2012, 1205.1020.

[14]  Bartlomiej Gardas,et al.  GPU-based acceleration of free energy calculations in solid state physics , 2014, Comput. Phys. Commun..

[15]  Endong Wang,et al.  Intel Math Kernel Library , 2014 .

[16]  Firas Hamze,et al.  From near to eternity: Spin-glass planting, tiling puzzles, and constraint-satisfaction problems. , 2017, Physical review. E.

[17]  Wojciech H. Zurek,et al.  Defects in Quantum Computers , 2017, Scientific Reports.

[18]  Fabio L. Traversa,et al.  Taming a nonconvex landscape with dynamical long-range order: Memcomputing Ising benchmarks. , 2018, Physical review. E.

[19]  Bartlomiej Gardas,et al.  Counting defects in quantum computers with Graphics Processing Units , 2018, J. Comput. Phys..

[20]  Kazuyuki Aihara,et al.  Destabilization of Local Minima in Analog Spin Systems by Correction of Amplitude Heterogeneity. , 2018, Physical review letters.

[21]  M. W. Johnson,et al.  Phase transitions in a programmable quantum spin glass simulator , 2018, Science.

[22]  Massimiliano Fatica,et al.  CUDA Fortran for Scientists and Engineers , 2012 .

[23]  K. Mølmer,et al.  Entangled Quantum Dynamics of Many-Body Systems using Bohmian Trajectories , 2017, Scientific Reports.

[24]  Sheldon X.-D. Tan,et al.  GPU Based Parallel Ising Computing for Combinatorial Optimization Problems in VLSI Physical Design. , 2018, 1807.10750.

[25]  Richard M. Karp,et al.  Reducibility Among Combinatorial Problems , 1972, 50 Years of Integer Programming.

[26]  Y. Fyodorov,et al.  Ground state energy: Can it really be reached with quantum annealers? , 2018, 1812.09251.

[27]  Franz Rendl,et al.  Solving Max-Cut to optimality by intersecting semidefinite and polyhedral relaxations , 2009, Math. Program..

[28]  Itay Hen,et al.  Solving spin glasses with optimized trees of clustered spins. , 2017, Physical review. E.

[29]  Stephen J. Chapman Fortran 95/2003 for Scientists & Engineers , 1997 .

[30]  John A. Gunnels,et al.  Leveraging Secondary Storage to Simulate Deep 54-qubit Sycamore Circuits , 2019, 1910.09534.

[31]  Sergey Bastrakov,et al.  Particle-in-Cell laser-plasma simulation on Xeon Phi coprocessors , 2015, Comput. Phys. Commun..

[32]  D. Stam,et al.  PYMIEDAP: a Python–Fortran tool for computing fluxes and polarization signals of (exo)planets , 2018, Astronomy & Astrophysics.

[33]  F. Y. Wu The Potts model , 1982 .

[34]  Travis S. Humble,et al.  Quantum supremacy using a programmable superconducting processor , 2019, Nature.

[35]  M. W. Johnson,et al.  Entanglement in a Quantum Annealing Processor , 2014, 1401.3500.

[36]  Roman Orus,et al.  A Practical Introduction to Tensor Networks: Matrix Product States and Projected Entangled Pair States , 2013, 1306.2164.

[37]  Helmut G. Katzgraber,et al.  A deceptive step towards quantum speedup detection , 2017, Quantum Science and Technology.

[38]  Ken-ichi Kawarabayashi,et al.  Coherent Ising Machine - Optical Neural Network Operating at the Quantum Limit - , 2018, 2018 Conference on Lasers and Electro-Optics Pacific Rim (CLEO-PR).

[39]  Zhaocheng Liu,et al.  Simulating the Ising Model with a Deep Convolutional Generative Adversarial Network , 2017, 1710.04987.

[40]  Toshiyuki Miyazawa,et al.  Physics-Inspired Optimization for Quadratic Unconstrained Problems Using a Digital Annealer , 2018, Front. Phys..

[41]  C. A. Oxborrow,et al.  Planck2015 results , 2015, Astronomy & Astrophysics.

[42]  Jason Sanders,et al.  CUDA by example: an introduction to general purpose GPU programming , 2010 .

[43]  F. Barahona On the computational complexity of Ising spin glass models , 1982 .

[44]  Peter Wittek,et al.  Verification of Quantum Optimizers , 2018 .

[45]  Daniel Jaschke,et al.  Open source Matrix Product States: Opening ways to simulate entangled many-body quantum systems in one dimension , 2017, Comput. Phys. Commun..

[46]  Oliver Kullmann,et al.  The science of brute force , 2017, Commun. ACM.

[47]  R. Feynman There's plenty of room at the bottom , 1999 .

[48]  Marek M. Rams,et al.  Quantum neural networks to simulate many-body quantum systems , 2018, Physical Review B.

[49]  Catherine C. McGeoch,et al.  Benchmarking a quantum annealing processor with the time-to-target metric , 2015, 1508.05087.

[50]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.