OpenQASM 3: A broader and deeper quantum assembly language
arXiv:2104.14722 · doi:10.1145/3505636
Abstract
Quantum assembly languages are machine-independent languages that traditionally describe quantum computation in the circuit model. Open quantum assembly language (OpenQASM 2) was proposed as an imperative programming language for quantum circuits based on earlier QASM dialects. In principle, any quantum computation could be described using OpenQASM 2, but there is a need to describe a broader set of circuits beyond the language of qubits and gates. By examining interactive use cases, we recognize two different timescales of quantum-classical interactions: real-time classical computations that must be performed within the coherence times of the qubits, and near-time computations with less stringent timing. Since the near-time domain is adequately described by existing programming frameworks, we choose in OpenQASM 3 to focus on the real-time domain, which must be more tightly coupled to the execution of quantum operations. We add support for arbitrary control flow as well as calling external classical functions. In addition, we recognize the need to describe circuits at multiple levels of specificity, and therefore we extend the language to include timing, pulse control, and gate modifiers. These new language features create a multi-level intermediate representation for circuit development and optimization, as well as control sequence implementation for calibration, characterization, and error mitigation.
60 pages, 17 figures
References in corpus (35)
- A variational eigenvalue solver on a quantum processor
- Elementary gates for quantum computation
- Charge insensitive qubit design derived from the Cooper pair box
- Dynamical Decoupling of Open Quantum Systems
- Universal Quantum Computation with ideal Clifford gates and noisy ancillas
- Trapped-Ion Quantum Computing: Progress and Challenges
- Silicon Quantum Electronics
- Training Schrödinger's cat: quantum optimal control
- Keeping a Quantum Bit Alive by Optimized -Pulse Sequences
- Procedure for systematically tuning up crosstalk in the cross resonance gate
- Quantum measurements and the Abelian Stabilizer Problem
- Resource-Aware Quantum Programming with General Recursion and Quantum Control
- Characterization of addressability by simultaneous randomized benchmarking
- Dynamically Error-Corrected Gates for Universal Quantum Computation
- Software Mitigation of Crosstalk on Noisy Intermediate-Scale Quantum Computers
- Concrete Categorical Model of a Quantum Circuit Description Language with Measurement
- Arbitrary accuracy iterative phase estimation algorithm as a two qubit benchmark
- Towards practical classical processing for the surface code
- Reducing unitary and spectator errors in cross resonance with optimized rotary echoes
- An introduction to measurement based quantum computation
- A quantum-classical cloud platform optimized for variational hybrid algorithms
- Qiskit Backend Specifications for OpenQASM and OpenPulse Experiments
- An Experimental Microarchitecture for a Superconducting Quantum Processor
- Hardware for Dynamic Quantum Computing
- Space, time, parallelism and noise requirements for reliable quantum computing
- Pulser: An open-source package for the design of pulse sequences in programmable neutral-atom arrays
- Fast ion swapping for quantum information processing
- Demonstration of quantum volume 64 on a superconducting quantum computing system
- Understanding Quantum Control Processor Capabilities and Limitations through Circuit Characterization
- Hierarchical decoding to reduce hardware requirements for quantum computing
- Universal set of scalable dynamically corrected gates for quantum error correction with always-on qubit couplings
- A Scalable Decoder Micro-architecture for Fault-Tolerant Quantum Computing
- JaqalPaw: A Guide to Defining Pulses and Waveforms for Jaqal
- Sized Types for low-level Quantum Metaprogramming
- Yquant: Typesetting quantum circuits in a human-readable language
Cited by in corpus (16)
- Distributed Quantum Computing: a Survey
- MQT Bench: Benchmarking Software and Design Automation Tools for Quantum Computing
- Encoding a magic state with beyond break-even fidelity
- Pulse-level noisy quantum circuits with QuTiP
- NetQASM -- A low-level instruction set architecture for hybrid quantum-classical programs in a quantum internet
- rustworkx: A High-Performance Graph Library for Python
- Qunity: A Unified Language for Quantum and Classical Computing (Extended Version)
- Quantum simulation with just-in-time compilation
- Thermodynamics of quantum trajectories on a quantum computer
- Simulation Paths for Quantum Circuit Simulation with Decision Diagrams
- Strategies for quantum-optimized construction of interpolating operators in classical simulations of lattice quantum field theories
- Programming the full stack of an open-access quantum computer
- qLEET: Visualizing Loss Landscapes, Expressibility, Entangling Power and Training Trajectories for Parameterized Quantum Circuits
- Enabling Multi-threading in Heterogeneous Quantum-Classical Programming Models
- On Hitting Times for General Quantum Markov Processes
- Enabling Retargetable Optimizing Compilers for Quantum Accelerators via a Multi-Level Intermediate Representation