A Software Methodology for Compiling Quantum Programs
arXiv:1604.01401 · doi:10.1088/2058-9565/aaa5cc
Abstract
Quantum computers promise to transform our notions of computation by offering a completely new paradigm. To achieve scalable quantum computation, optimizing compilers and a corresponding software design flow will be essential. We present a software architecture for compiling quantum programs from a high-level language program to hardware-specific instructions. We describe the necessary layers of abstraction and their differences and similarities to classical layers of a computer-aided design flow. For each layer of the stack, we discuss the underlying methods for compilation and optimization. Our software methodology facilitates more rapid innovation among quantum algorithm designers, quantum hardware engineers, and experimentalists. It enables scalable compilation of complex quantum algorithms and can be targeted to any specific quantum hardware implementation.
References in corpus (5)
Cited by in corpus (81)
- ProjectQ: An Open Source Software Framework for Quantum Computing
- tket : A Retargetable Compiler for NISQ Devices
- Quantum-assisted quantum compiling
- Resource-Aware Quantum Programming with General Recursion and Quantum Control
- Differentiable Learning of Quantum Circuit Born Machine
- QuEST and High Performance Simulation of Quantum Computers
- Learning the quantum algorithm for state overlap
- Concrete Categorical Model of a Quantum Circuit Description Language with Measurement
- The Bitter Truth About Quantum Algorithms in the NISQ Era
- MQT Bench: Benchmarking Software and Design Automation Tools for Quantum Computing
- Noise Resilience of Variational Quantum Compiling
- Open source software in quantum computing
- Theory of overparametrization in quantum neural networks
- Overview and Comparison of Gate Level Quantum Software Platforms
- Compiling quantum circuits to realistic hardware architectures using temporal planners
- Entangling logical qubits with lattice surgery
- Statistical Assertions for Validating Patterns and Finding Bugs in Quantum Programs
- Optimized Compilation of Aggregated Instructions for Realistic Quantum Computers
- Theory for Equivariant Quantum Neural Networks
- An Experimental Microarchitecture for a Superconducting Quantum Processor
- Accuracy and Resource Estimations for Quantum Chemistry on a Near-term Quantum Computer
- Quantum Circuit Transformation Based on Simulated Annealing and Heuristic Search
- Toward scalable simulations of Lattice Gauge Theories on quantum computers
- Probing quantum processor performance with pyGSTi
- Crosstalk Suppression for Fault-tolerant Quantum Error Correction with Trapped Ions
- High Performance Emulation of Quantum Circuits
- Pulse-level noisy quantum circuits with QuTiP
- Quantum Computing: An Overview Across the System Stack
- Equivalence Checking of Quantum Circuits with the ZX-Calculus
- A Case for Variability-Aware Policies for NISQ-Era Quantum Computers
- Variational quantum compiling with double Q-learning
- Quantum Computer Architecture: Towards Full-Stack Quantum Accelerators
- Protocol for a resonantly-driven three-qubit Toffoli gate with silicon spin qubits
- NetQASM -- A low-level instruction set architecture for hybrid quantum-classical programs in a quantum internet
- Resource-Efficient Quantum Computing by Breaking Abstractions
- Tree tensor network classifiers for machine learning: from quantum-inspired to quantum-assisted
- Non-trivial symmetries in quantum landscapes and their resilience to quantum noise
- Generative machine learning with tensor networks: benchmarks on near-term quantum computers
- Predicting Good Quantum Circuit Compilation Options
- Quantum Annealing-Based Software Components: An Experimental Case Study with SAT Solving
- Quantum simulation with just-in-time compilation
- Hybrid Oscillator-Qubit Quantum Processors: Instruction Set Architectures, Abstract Machine Models, and Applications
- Enabling Dataflow Optimization for Quantum Programs
- Verifying the Smallest Interesting Colour Code with Quantomatic
- Efficient and Effective Quantum Compiling for Entanglement-based Machine Learning on IBM Q Devices
- Introduction to UniversalQCompiler
- Optimizing Quantum Programs against Decoherence: Delaying Qubits into Quantum Superposition
- Observation of exceptional point in a PT broken non-Hermitian system simulated using a quantum circuit
- Non-Markovian memory in IBMQX4
- Scheduler of quantum circuits based on dynamical pattern improvement and its application to hardware design
- The Basis of Design Tools for Quantum Computing: Arrays, Decision Diagrams, Tensor Networks, and ZX-Calculus
- Fast simulation of quantum algorithms using circuit optimization
- Quantum cellular automata for quantum error correction and density classification
- Towards Efficient Quantum Computing for Quantum Chemistry: Reducing Circuit Complexity with Transcorrelated and Adaptive Ansatz Techniques
- Domain-Specific Compilers for Dynamic Simulations of Quantum Materials on Quantum Computers
- Ab-initio tree-tensor-network digital twin for quantum computer benchmarking in 2D
- Evolving Quantum Circuits
- On connectivity-dependent resource requirements for digital quantum simulation of -level particles
- Advantages of a modular high-level quantum programming framework
- Quantum Accelerator Stack: A Research Roadmap
- QuYBE -- An Algebraic Compiler for Quantum Circuit Compression
- Assisted quantum simulation of open quantum systems
- Initial-State Dependent Optimization of Controlled Gate Operations with Quantum Computer
- A survey of universal quantum von Neumann architecture
- Managing approximation errors in quantum programs
- Sized Types for low-level Quantum Metaprogramming
- Quantum Computing in Pharma: A Multilayer Embedding Approach for Near Future Applications
- Quantum compiling with a variational instruction set for accurate and fast quantum computing
- Quantum Circuit Transformation: A Monte Carlo Tree Search Framework
- Q-fid: Quantum Circuit Fidelity Improvement with LSTM Networks
- Simulating quantum dynamics: Evolution of algorithms in the HPC context
- Computability and Complexity of Unconventional Computing Devices
- Q-gen: A Parameterized Quantum Circuit Generator
- Full-counting statistics of particle distribution on a digital quantum computer
- Practical Quantum Computing: The value of local computation
- State-dependent Routing Dynamics in Noisy Quantum Computing Devices
- Proto-Quipper with Reversing and Control
- Using optimal control to guide neural-network interpolation of continuously-parameterized gates
- Nontrivial multi-product commutation relation toward reducing T-count in sequential Pauli-based computation
- Circuit Relations for Real Stabilizers: Towards TOF+H
- Quantum Gate Pattern Recognition and Circuit Optimization for Scientific Applications