A Software Methodology for Compiling Quantum Programs
@article{Hner2016ASM, title={A Software Methodology for Compiling Quantum Programs}, author={Thomas H{\"a}ner and Damian S. Steiger and Krysta Marie Svore and Matthias Troyer}, journal={ArXiv}, year={2016}, volume={abs/1604.01401} }
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…
Figures and Tables from this paper
116 Citations
Programming languages and compiler design for realistic quantum hardware
- Computer Science, PhysicsNature
- 2017
The challenge is to find abstractions that expose key details while hiding enough complexity in quantum toolflows to bridge the gap between hardware size and reliability requirements of quantum computing algorithms and physical machines foreseen within the next ten years.
Overview and Comparison of Gate Level Quantum Software Platforms
- Computer ScienceQuantum
- 2019
A current picture of the rapidly evolving quantum computing landscape is provided by comparing four software platforms - Forest, Qiskit, ProjectQ, and the Quantum Developer Kit (Q#) - that enable researchers to use real and simulated quantum devices.
Resource-Efficient Quantum Computing by Breaking Abstractions
- Computer Science, PhysicsProceedings of the IEEE
- 2020
This review points out that greater efficiency of QC systems can be achieved by breaking the abstractions between these layers, including two hardware-aware compilation optimizations that break the quantum instruction set architecture (ISA) abstraction and two error-correction/information-processing schemes that breakThe qubit abstraction.
Quantum Circuit Compilation : An Emerging Application for Automated Reasoning
- Computer Science
- 2019
A software framework to enable an automated reasoning approach to Quantum Circuit Compilation for NISQ architectures (QCC-NISQ), and the current implementation of it as part of software suite for automated, architecture-aware, compilation for emerging quantum computers.
Quantum Compiling
- Physics, Computer ScienceArXiv
- 2021
This paper reviews the quantum compiling stack of both gate model quantum computers and the adiabatic quantum computers, respectively, and discusses commercial initiatives and quantum compiling products, including explicit programming examples.
Boolean satisfiability in quantum compilation
- Computer Science, PhysicsPhilosophical Transactions of the Royal Society A
- 2019
The flow of quantum compilation is described and algorithms based on Boolean satisfiability are proposed, which are a good match to tackle such computationally complex problems.
Optimized Compilation of Aggregated Instructions for Realistic Quantum Computers
- Computer Science, PhysicsASPLOS
- 2019
A universal quantum compilation methodology that aggregates multiple logical operations into larger units that manipulate up to 10 qubits at a time and optimizes these aggregates by finding commutative intermediate operations that result in more efficient schedules and creating custom control pulses optimized for the aggregate.
ProjectQ: An Open Source Software Framework for Quantum Computing
- Computer ScienceArXiv
- 2016
We introduce ProjectQ, an open source software effort for quantum computing. The first release features a compiler framework capable of targeting various types of hardware, a high-performance…
The engineering challenges in quantum computing
- Physics, Computer ScienceDesign, Automation & Test in Europe Conference & Exhibition (DATE), 2017
- 2017
The basic concepts of quantum computing are introduced and what the required layers are for building a quantum system are described, as well as discussing some compiler and programming issues relative to quantum algorithms.
Fast simulation of quantum algorithms using circuit optimization
- Computer ScienceQuantum
- 2022
The advantage of co-developing and integrating simulators and compilers is demonstrated by proposing a specialized compiler pass to reduce the simulation time for arbitrary circuits.
References
SHOWING 1-10 OF 70 REFERENCES
ScaffCC: a framework for compilation and analysis of quantum computing programs
- Computer ScienceConf. Computing Frontiers
- 2014
This work presents a scalable compiler for large-scale quantum applications, and highlights the importance of high-level quantum compilation for logical circuit translation, quantitative analysis of algorithms, and optimization of circuit lengths.
LIQUi|>: A Software Design Architecture and Domain-Specific Language for Quantum Computing
- Computer ScienceArXiv
- 2014
Languages, compilers, and computer-aided design tools will be essential for scalable quantum computing, which promises an exponential leap in our ability to execute complex tasks. LIQUi|> is a…
Layered architecture for quantum computing
- Computer Science, Physics
- 2012
A layered quantum computer architecture is developed, which is a systematic framework for tackling the individual challenges of developing a quantum computer while constructing a cohesive device design and finding that the quantum dot architecture could solve such problems on the timescale of days.
Quipper: a scalable quantum programming language
- Computer Science, PhysicsPLDI 2013
- 2013
Quipper, a scalable, expressive, functional, higher-order quantum programming language, which is geared towards a model of computation that uses a classical computer to control a quantum device, but is not dependent on any particular model of quantum hardware.
Quantum Circuit Simplification and Level Compaction
- Computer Science, PhysicsIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
- 2008
This paper considers a local optimization technique based on templates to simplify and reduce the depth of nonoptimal quantum circuits and shows how templates can be used to compact the number of levels of a quantum circuit.
A layered software architecture for quantum computing design tools
- Computer ScienceComputer
- 2006
A proposed four-phase design flow assists with computations by transforming a quantum algorithm from a high-level language program into precisely scheduled physical actions.
Quantum programming languages: survey and bibliography
- Computer ScienceMathematical Structures in Computer Science
- 2006
The study of quantum Programming languages is justified, the basics of quantum computing are presented, the literature in quantum programming languages is surveyed, and directions for future research are indicated.
Reversible circuit compilation with space constraints
- Computer ScienceArXiv
- 2015
REVS is introduced, a compiler for reversible circuits that can translate a subset of the functional programming language F# into Toffoli networks which can then be further interpreted for instance in LIQui|>, a domain-specific language for quantum computing and which is also embedded into F#.
A Procedural Formalism for Quantum Computing
- Computer Science
- 2002
QCL (Quantum Computation Language) is a hight level, architecture independent programming language for quantum computers, with a syntax derived from classical procedural languages like C or Pascal, which allows for the complete implementation and simulation of quantum algorithms in one consistent formalism.
Gate count estimates for performing quantum chemistry on small quantum computers
- Physics, Computer Science
- 2014
This paper focuses on the quantum resources required to find the ground state of a molecule twice as large as what current classical computers can solve exactly and suggests that for quantum computation to become useful for quantum chemistry problems, drastic algorithmic improvements will be needed.