Quantum Accelerators for High-Performance Computing Systems

We define some of the programming and system-level challenges facing the application of quantum processing to high-performance computing. Alongside barriers to physical integration, prominent differences in the execution of quantum and conventional programs challenges the intersection of these computational models. Following a brief overview of the state of the art, we discuss recent advances in programming and execution models for hybrid quantum-classical computing. We discuss a novel quantum-accelerator framework that uses specialized kernels to offload select workloads while integrating with existing computing infrastructure. We elaborate on the role of the host operating system to manage these unique accelerator resources, the prospects for deploying quantum modules, and the requirements placed on the language hierarchy connecting these different system components. We draw on recent advances in the modeling and simulation of quantum computing systems with the development of architectures for hybrid high-performance computing systems and the realization of software stacks for controlling quantum devices. Finally, we present simulation results that describe the expected system-level behavior of high-performance computing systems composed from compute nodes with quantum processing units. We describe performance for these hybrid systems in terms of time-to-solution, accuracy, and energy consumption, and we use simple application examples to estimate the performance advantage of quantum acceleration.

[1]  Peter Selinger,et al.  Towards a quantum programming language , 2004, Mathematical Structures in Computer Science.

[2]  Michael J. Bremner,et al.  Quantum sampling problems, BosonSampling and quantum supremacy , 2017, npj Quantum Information.

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

[4]  Bruce Jacob,et al.  The structural simulation toolkit , 2006, PERV.

[5]  Travis S. Humble,et al.  ASCR Workshop on Quantum Computing for Science , 2015 .

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

[7]  Chen-Fu Chiang,et al.  Scaffold: Quantum Programming Language , 2012 .

[8]  Jeffrey S. Vetter,et al.  A Survey of CPU-GPU Heterogeneous Computing Techniques , 2015, ACM Comput. Surv..

[9]  Gerhard Klimeck,et al.  Silicon quantum processor with robust long-distance qubit couplings , 2015, Nature Communications.

[10]  Jack Dongarra,et al.  Scientific Computing with Multicore and Accelerators , 2010, Chapman and Hall / CRC computational science series.

[11]  Masoud Mohseni,et al.  Commercialize quantum technologies in five years , 2017, Nature.

[12]  W. Marsden I and J , 2012 .

[13]  Lov K. Grover A fast quantum mechanical algorithm for database search , 1996, STOC '96.

[14]  Aaas News,et al.  Book Reviews , 1893, Buffalo Medical and Surgical Journal.

[15]  William J. Zeng,et al.  A Practical Quantum Instruction Set Architecture , 2016, ArXiv.

[16]  Matthias Troyer,et al.  The Quantum Future of Computation , 2016, Computer.

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

[18]  Travis S. Humble,et al.  Instruction Set Architectures for Quantum Processing Units , 2017, ISC Workshops.

[19]  Travis S. Humble,et al.  High-Performance Computing with Quantum Processing Units , 2015, ACM J. Emerg. Technol. Comput. Syst..

[20]  R. V. Meter,et al.  Layered architecture for quantum computing , 2010, 1010.5022.

[21]  Thomas M. Conte,et al.  Rebooting Computing: New Strategies for Technology Scaling , 2015, Computer.

[22]  Benoît Valiron,et al.  Quipper: a scalable quantum programming language , 2013, PLDI.

[23]  Matthias Troyer,et al.  ProjectQ: An Open Source Software Framework for Quantum Computing , 2016, ArXiv.