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 (14)
- Charge insensitive qubit design derived from the Cooper pair box
- 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
- Reducing unitary and spectator errors in cross resonance with optimized rotary echoes
- An introduction to measurement based quantum computation
- Pulser: An open-source package for the design of pulse sequences in programmable neutral-atom arrays
- Demonstration of quantum volume 64 on a superconducting quantum computing system
- Hierarchical decoding to reduce hardware requirements for quantum computing
- A Scalable Decoder Micro-architecture for Fault-Tolerant Quantum Computing
- Universal set of scalable dynamically corrected gates for quantum error correction with always-on qubit couplings
- JaqalPaw: A Guide to Defining Pulses and Waveforms for Jaqal
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