Noise-Adaptive Compiler Mappings for Noisy Intermediate-Scale Quantum Computers
arXiv:1901.11054
Abstract
A massive gap exists between current quantum computing (QC) prototypes, and the size and scale required for many proposed QC algorithms. Current QC implementations are prone to noise and variability which affect their reliability, and yet with less than 80 quantum bits (qubits) total, they are too resource-constrained to implement error correction. The term Noisy Intermediate-Scale Quantum (NISQ) refers to these current and near-term systems of 1000 qubits or less. Given NISQ's severe resource constraints, low reliability, and high variability in physical characteristics such as coherence time or error rates, it is of pressing importance to map computations onto them in ways that use resources efficiently and maximize the likelihood of successful runs. This paper proposes and evaluates backend compiler approaches to map and optimize high-level QC programs to execute with high reliability on NISQ systems with diverse hardware characteristics. Our techniques all start from an LLVM intermediate representation of the quantum program (such as would be generated from high-level QC languages like Scaffold) and generate QC executables runnable on the IBM Q public QC machine. We then use this framework to implement and evaluate several optimal and heuristic mapping methods. These methods vary in how they account for the availability of dynamic machine calibration data, the relative importance of various noise parameters, the different possible routing strategies, and the relative importance of compile-time scalability versus runtime success. Using real-system measurements, we show that fine grained spatial and temporal variations in hardware parameters can be exploited to obtain an average x (and up to x) improvement in program success rate over the industry standard IBM Qiskit compiler.
To appear in ASPLOS'19
References in corpus (16)
- Quantum Computing in the NISQ era and beyond
- A variational eigenvalue solver on a quantum processor
- Demonstration of a small programmable quantum computer with atomic qubits
- A meet-in-the-middle algorithm for fast synthesis of depth-optimal quantum circuits
- Experimental Comparison of Two Quantum Computing Architectures
- ProjectQ: An Open Source Software Framework for Quantum Computing
- Fluctuations of Energy-Relaxation Times in Superconducting Qubits
- Resource-Aware Quantum Programming with General Recursion and Quantum Control
- Deterministic teleportation of a quantum gate between two logical qubits
- Concrete Categorical Model of a Quantum Circuit Description Language with Measurement
- Synthesis of Quantum Circuits for Linear Nearest Neighbor Architectures
- Compiling quantum circuits to realistic hardware architectures using temporal planners
- Requirements for fault-tolerant factoring on an atom-optics quantum computer
- Linear Nearest Neighbor Synthesis of Reversible Circuits by Graph Partitioning
- Quantum circuit optimization by topological compaction in the surface code
- An efficient quantum circuits optimizing scheme compared with QISKit
Cited by in corpus (12)
- Time-Sliced Quantum Circuit Partitioning for Modular Architectures
- Circuit Transformations for Quantum Architectures
- Quantum Computing: An Overview Across the System Stack
- QFAST: Quantum Synthesis Using a Hierarchical Continuous Circuit Space
- Error mitigation with Clifford quantum-circuit data
- Heuristics for Quantum Compiling with a Continuous Gate Set
- LILLIPUT: A Lightweight Low-Latency Lookup-Table Based Decoder for Near-term Quantum Error Correction
- Using Spectral Graph Theory to Map Qubits onto Connectivity-Limited Devices
- Can Noise on Qubits Be Learned in Quantum Neural Network? A Case Study on QuantumFlow
- Gleipnir: Toward Practical Error Analysis for Quantum Programs (Extended Version)
- Classical Coding Approaches to Quantum Applications
- Quantum Gate Pattern Recognition and Circuit Optimization for Scientific Applications