Picasso: Memory-Efficient Graph Coloring Using Palettes With Applications in Quantum Computing (2401.06713v2)
Abstract: A coloring of a graph is an assignment of colors to vertices such that no two neighboring vertices have the same color. The need for memory-efficient coloring algorithms is motivated by their application in computing clique partitions of graphs arising in quantum computations where the objective is to map a large set of Pauli strings into a compact set of unitaries. We present Picasso, a randomized memory-efficient iterative parallel graph coloring algorithm with theoretical sublinear space guarantees under practical assumptions. The parameters of our algorithm provide a trade-off between coloring quality and resource consumption. To assist the user, we also propose a machine learning model to predict the coloring algorithm's parameters considering these trade-offs. We provide a sequential and a parallel implementation of the proposed algorithm. We perform an experimental evaluation on a 64-core AMD CPU equipped with 512 GB of memory and an Nvidia A100 GPU with 40GB of memory. For a small dataset where existing coloring algorithms can be executed within the 512 GB memory budget, we show up to 68x memory savings. On massive datasets we demonstrate that GPU-accelerated Picasso can process inputs with 49.5x more Pauli strings (vertex set in our graph) and 2,478x more edges than state-of-the-art parallel approaches.
- R.M. R. Lewis “A Guide to Graph Colouring: Algorithms and Applications” Springer Publishing Company, Incorporated, 2015
- Assefaw Hadish Gebremedhin, Fredrik Manne and Alex Pothen “What Color Is Your Jacobian? Graph Coloring for Computing Derivatives” In SIAM Review 47.4, 2005, pp. 629–705 DOI: 10.1137/S0036144504444711
- “ColPack: Software for Graph Coloring and Related Problems in Scientific Computing” In ACM Trans. Math. Softw. 40.1 New York, NY, USA: Association for Computing Machinery, 2013 DOI: 10.1145/2513109.2513110
- “Parallel graph coloring for manycore architectures” In 2016 IEEE International Parallel and Distributed Processing Symposium (IPDPS), 2016, pp. 892–901 IEEE
- “Improving the Speed and Quality of Parallel Graph Coloring” In ACM Trans. Parallel Comput. 9.3 New York, NY, USA: Association for Computing Machinery, 2022 DOI: 10.1145/3543545
- “Kokkos kernels: Performance portable sparse/dense linear algebra and graph kernels” In arXiv preprint arXiv:2103.11991, 2021
- “Hardware-efficient variational quantum eigensolver for small molecules and quantum magnets” In Nature 549, 2017, pp. 242–246 DOI: 10.1038/nature23879
- “The theory of variational hybrid quantum-classical algorithms” In New J. Phys. 18.2 IOP Publishing, 2016, pp. 023023 DOI: 10.1088/1367-2630/18/2/023023
- T.-C. Yen, V. Verteletskyi and A. F. Izmaylov “Measuring All Compatible Operators in One Series of Single-Qubit Measurements Using Unitary Transformations” In J. Chem. Theory Comput. 16.4, 2020, pp. 2400–2409 DOI: 10.1021/acs.jctc.0c00008
- Sepehr Assadi, Yu Chen and Sanjeev Khanna “Sublinear Algorithms for (ΔΔ\Deltaroman_Δ + 1) Vertex Coloring” In Proceedings of the Thirtieth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2019, San Diego, California, USA, January 6-9, 2019 SIAM, 2019, pp. 767–786 DOI: 10.1137/1.9781611975482.48
- “Über das Paulische Äquivalenzverbot” In Z. Physik 47, 1928, pp. 631–651 DOI: 10.1007/BF01331938
- S. B. Bravyi and A. Y. Kitaev “Fermionic Quantum Computation” In Ann. Phys. 298.1, 2002, pp. 210–226 DOI: 10.1006/aphy.2002.6254
- “Mapping renormalized coupled cluster methods to quantum computers through a compact unitary representation of nonunitary operators” In Physical Review Research 4.4 APS, 2022, pp. 043172
- M. R. Garey and David S. Johnson “Computers and Intractability: A Guide to the Theory of NP-Completeness” W. H. Freeman, 1979
- “The clique-partitioning problem” In Computers & Mathematics with Applications 22.6 Elsevier, 1991, pp. 1–11
- J. Schwinger “UNITARY OPERATOR BASES” In Proc. Nat. Acad. Sci. USA 46.4 National Academy of Sciences, 1960, pp. 570–579 DOI: 10.1073/pnas.46.4.570
- “Constructions of Mutually Unbiased Bases” In Finite Fields and Applications Berlin, Heidelberg: Springer Berlin Heidelberg, 2004, pp. 137–144
- J. B. Altepeter, D. F. V. James and P. G. Kwiat “4 Qubit Quantum State Tomography” In Quantum State Estimation Berlin, Heidelberg: Springer Berlin Heidelberg, 2004, pp. 113–145 DOI: 10.1007/978-3-540-44481-7˙4
- “O(N3)𝑂superscript𝑁3O(N^{3})italic_O ( italic_N start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ) Measurement Cost for Variational Quantum Eigensolver on Molecular Hamiltonians” In IEEE Trans. Qunatum Eng. 1, 2020, pp. 1–24 DOI: 10.1109/TQE.2020.3035814
- “Unitary Partitioning Approach to the Measurement Problem in the Variational Quantum Eigensolver Method” In J. Chem. Theory Comput. 16.1, 2020, pp. 190–195 DOI: 10.1021/acs.jctc.9b00791
- Michael Luby “A Simple Parallel Algorithm for the Maximal Independent Set Problem” In SIAM Journal on Computing 15.4, 1986, pp. 1036–1053 DOI: 10.1137/0215074
- Mark T. Jones and Paul E. Plassmann “A Parallel Graph Coloring Heuristic” In SIAM Journal on Scientific Computing 14.3, 1993, pp. 654–669 DOI: 10.1137/0914041
- “Graph coloring algorithms for multi-core and massively multithreaded architectures” In Parallel Computing 38.10, 2012, pp. 576–594 DOI: https://doi.org/10.1016/j.parco.2012.07.001
- Nguyen Quang Anh Pham and Rui Fan “Efficient Algorithms for Graph Coloring on GPU” In 2018 IEEE 24th International Conference on Parallel and Distributed Systems (ICPADS), 2018, pp. 449–456 DOI: 10.1109/PADSW.2018.8644624
- “Distributed Memory Graph Coloring Algorithms for Multiple GPUs” In 2020 IEEE/ACM 10th Workshop on Irregular Applications: Architectures and Algorithms (IA3), 2020, pp. 54–62 DOI: 10.1109/IA351965.2020.00013
- “Distributed-Memory Parallel Algorithms for Matching and Coloring” In 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum, 2011, pp. 1971–1980 DOI: 10.1109/IPDPS.2011.360
- “Distributed-Memory Parallel Algorithms for Distance-2 Coloring and Related Problems in Derivative Computation” In SIAM Journal on Scientific Computing 32.4, 2010, pp. 2418–2446 DOI: 10.1137/080732158
- Michael Luby “Removing randomness in parallel computation without a processor penalty” In Journal of Computer and System Sciences 47.2 Elsevier, 1993, pp. 250–286
- Dimitris Achlioptas and Michael S. O. Molloy “The Analysis of a List-Coloring Algorithm on a Random Graph” In 38th Annual Symposium on Foundations of Computer Science, FOCS ’97, Miami Beach, Florida, USA, October 19-22, 1997 IEEE Computer Society, 1997, pp. 204–212 DOI: 10.1109/SFCS.1997.646109
- “Probability and Computing: Randomized Algorithms and Probabilistic Analysis” Cambridge University Press, 2005 DOI: 10.1017/CBO9780511813603
- “Artificial Intelligence: A Modern Approach” USA: Prentice Hall Press, 2009
- “Parallel graph coloring algorithms for distributed GPU environments” In Parallel Computing 110 Elsevier, 2022, pp. 102896
- Ghadeer Alabandi, Evan Powers and Martin Burtscher “Increasing the parallelism of graph coloring via shortcutting” In Proceedings of the 25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2020, pp. 262–275
- “Unitary partitioning approach to the measurement problem in the variational quantum eigensolver method” In Journal of chemical theory and computation 16.1 ACS Publications, 2019, pp. 190–195