Formal Constraint-based Compilation for Noisy Intermediate-Scale Quantum Systems
arXiv:1903.03276 · doi:10.1016/j.micpro.2019.02.005
Abstract
Noisy, intermediate-scale quantum (NISQ) systems are expected to have a few hundred qubits, minimal or no error correction, limited connectivity and limits on the number of gates that can be performed within the short coherence window of the machine. The past decade's research on quantum programming languages and compilers is directed towards large systems with thousands of qubits. For near term quantum systems, it is crucial to design tool flows which make efficient use of the hardware resources without sacrificing the ease and portability of a high-level programming environment. In this paper, we present a compiler for the Scaffold quantum programming language in which aggressive optimization specifically targets NISQ machines with hundreds of qubits. Our compiler extracts gates from a Scaffold program, and formulates a constrained optimization problem which considers both program characteristics and machine constraints. Using the Z3 SMT solver, the compiler maps program qubits to hardware qubits, schedules gates, and inserts CNOT routing operations while optimizing the overall execution time. The output of the optimization is used to produce target code in the OpenQASM language, which can be executed on existing quantum hardware such as the 16-qubit IBM machine. Using real and synthetic benchmarks, we show that it is feasible to synthesize near-optimal compiled code for current and small NISQ systems. For large programs and machine sizes, the SMT optimization approach can be used to synthesize compiled code that is guaranteed to finish within the coherence window of the machine.
Invited paper in Special Issue on Quantum Computer Architecture: a full-stack overview, Microprocessors and Microsystems
References in corpus (14)
- Quantum Computing in the NISQ era and beyond
- Coupling Superconducting Qubits via a Cavity Bus
- NMR Techniques for Quantum Control and Computation
- High-fidelity preparation, gates, memory and readout of a trapped-ion quantum bit
- Superconducting qubit in waveguide cavity with coherence time approaching 0.1ms
- Implementation of a Quantum Search Algorithm on a Nuclear Magnetic Resonance Quantum Computer
- Digitized adiabatic quantum computing with a superconducting circuit
- ProjectQ: An Open Source Software Framework for Quantum Computing
- Resource-Aware Quantum Programming with General Recursion and Quantum Control
- Quipper: A Scalable Quantum Programming Language
- Compiling quantum circuits to realistic hardware architectures using temporal planners
- An Experimental Microarchitecture for a Superconducting Quantum Processor
- Requirements for fault-tolerant factoring on an atom-optics quantum computer
- Two-step approach to scheduling quantum circuits
Cited by in corpus (9)
- Machine learning of noise-resilient quantum circuits
- Reducing the CNOT count for Clifford+T circuits on NISQ architectures
- Logical Clifford Synthesis for Stabilizer Codes
- A SAT approach to the initial mapping problem in SWAP gate insertion for commuting gates
- Decoding Merged Color-Surface Codes and Finding Fault-Tolerant Clifford Circuits Using Solvers for Satisfiability Modulo Theories
- A quantum procedure for map generation
- Fermihedral: On the Optimal Compilation for Fermion-to-Qubit Encoding
- QFT based quantum arithmetic logic unit on IBM quantum computer
- Classical Coding Approaches to Quantum Applications