Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Log inSign up
Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Blog
Job Board
Q3AS

© 2026 Aqora Quantum S.A.S.

TermsPrivacyLegal Notice

arXiv:1707.03429

Open Quantum Assembly Language

Kostia Chardonnet, Emmanuel Hainry F, Romain Péchoux, Gambetta, Jay M.

Published Jul 11, 2017• 309 citations
arXivHTMLPDF

Abstract

This document describes a quantum assembly language (QASM) called OpenQASM that is used to implement experiments with low depth quantum circuits. OpenQASM represents universal physical circuits over the CNOT plus SU(2) basis with straight-line code that includes measurement, reset, fast feedback, and gate subroutines. The simple text language can be written by hand or by higher level tools and may be executed on the IBM Q Experience.

DOI
10.48550/arxiv.1707.03429

Related papers

OpenQASM 3: A Broader and Deeper Quantum Assembly Language

Andrew W. Cross, Ali Javadi-Abhari, Thomas Alexander +8 more

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.

arXiv:2104.14722•ACM Transactions on Quantum Computing•Mar 2, 2022•253 citations

A Programming Language For Quantum Oracle Construction

Ayush Tambde

Many quantum programs require circuits for addition, subtraction and logical operations. These circuits may be packaged within routines known as oracles. However, oracles can be tedious to code with current frameworks. To solve this problem the author developed Higher-Level Oracle Description Language (HODL) -- a C-style programming language for use on quantum computers -- to ease the creation of such circuits. The compiler translates high-level code written in HODL and converts it into OpenQASM, a gate-based quantum assembly language that runs on IBM Quantum Systems and compatible simulators.

arXiv:2110.12487•Oct 24, 2021•0 citations

Transpiling Quantum Assembly Language Circuits to a Qudit Form

Denis A. Drozhzhin, Anastasiia S. Nikolaeva, Evgeniy O. Kiktenko +1 more

In this paper, we introduce the workflow for converting qubit circuits represented by Open Quantum Assembly format (OpenQASM, also known as QASM) into the qudit form for execution on qudit hardware and provide a method for translating qudit experiment results back into qubit results. We present the comparison of several qudit transpilation regimes, which differ in decomposition of multicontrolled gates: qubit as ordinary qubit transpilation and execution, qutrit with d=3 levels and single qubit in qudit, and ququart with d=4 levels and 2 qubits per ququart. We provide several examples of transpiling circuits for trapped ion qudit processors, which demonstrate potential advantages of qudits.

arXiv:2409.18963•Entropy•Dec 23, 2024•1 citation

QASMBench: A Low-level QASM Benchmark Suite for NISQ Evaluation and Simulation

Ang Li, Stein, Samuel, Sriram Krishnamoorthy +1 more

The rapid development of quantum computing (QC) in the NISQ era urgently demands a low-level benchmark suite and insightful evaluation metrics for characterizing the properties of prototype NISQ devices, the efficiency of QC programming compilers, schedulers and assemblers, and the capability of quantum system simulators in a classical computer. In this work, we fill this gap by proposing a low-level, easy-to-use benchmark suite called QASMBench based on the OpenQASM assembly representation. It consolidates commonly used quantum routines and kernels from a variety of domains including chemistry, simulation, linear algebra, searching, optimization, arithmetic, machine learning, fault tolerance, cryptography, etc., trading-off between generality and usability. To analyze these kernels in terms of NISQ device execution, in addition to circuit width and depth, we propose four circuit metrics including gate density, retention lifespan, measurement density, and entanglement variance, to extract more insights about the execution efficiency, the susceptibility to NISQ error, and the potential gain from machine-specific optimizations. Applications in QASMBench can be launched and verified on several NISQ platforms, including IBM-Q, Rigetti, IonQ and Quantinuum. For evaluation, we measure the execution fidelity of a subset of QASMBench applications on 12 IBM-Q machines through density matrix state tomography, which comprises 25K circuit evaluations. We also compare the fidelity of executions among the IBM-Q machines, the IonQ QPU and the Rigetti Aspen M-1 system. QASMBench is released at: http://github.com/pnnl/QASMBench.

arXiv:2005.13018•May 26, 2020•43 citations

Introduction to UniversalQCompiler

Raban Iten, Oliver Reardon-Smith, Malvetti, Emanuel +5 more

We introduce an open source software package UniversalQCompiler written in Mathematica that allows the decomposition of arbitrary quantum operations into a sequence of single-qubit rotations (with arbitrary rotation angles) and controlled-NOT (C-NOT) gates. Together with the existing package QI, this allows quantum information protocols to be analysed and then compiled to quantum circuits. Our decompositions are based on Phys. Rev. A 93, 032318 (2016), and hence, for generic operations, they are near optimal in terms of the number of gates required. UniversalQCompiler allows the compilation of any isometry (in particular, it can be used for unitaries and state preparation), quantum channel, positive-operator valued measure (POVM) or quantum instrument, although the run time becomes prohibitive for large numbers of qubits. The resulting circuits can be displayed graphically within Mathematica or exported to LaTeX. We also provide functionality to translate the circuits to OpenQASM, the quantum assembly language used, for instance, by the IBM Q Experience.

arXiv:1904.01072•Apr 1, 2019•33 citations

QASMBench: A Low-Level Quantum Benchmark Suite for NISQ Evaluation and Simulation

Ang Li, Samuel Stein, Sriram Krishnamoorthy +1 more

The rapid development of quantum computing (QC) in the NISQ era urgently demands a low-level benchmark suite and insightful evaluation metrics for characterizing the properties of prototype NISQ devices, the efficiency of QC programming compilers, schedulers and assemblers, and the capability of quantum system simulators in a classical computer. In this work, we fill this gap by proposing a low-level, easy-to-use benchmark suite called QASMBench based on the OpenQASM assembly representation. It consolidates commonly used quantum routines and kernels from a variety of domains including chemistry, simulation, linear algebra, searching, optimization, arithmetic, machine learning, fault tolerance, cryptography, and so on, trading-off between generality and usability. To analyze these kernels in terms of NISQ device execution, in addition to circuit width and depth, we propose four circuit metrics including gate density, retention lifespan, measurement density, and entanglement variance, to extract more insights about the execution efficiency, the susceptibility to NISQ error, and the potential gain from machine-specific optimizations. Applications in QASMBench can be launched and verified on several NISQ platforms, including IBM-Q, Rigetti, IonQ and Quantinuum. For evaluation, we measure the execution fidelity of a subset of QASMBench applications on 12 IBM-Q machines through density matrix state tomography, comprising 25K circuit evaluations. We also compare the fidelity of executions among the IBM-Q machines, the IonQ QPU and the Rigetti Aspen M-1 system. QASMBench is released at: http://github.com/pnnl/QASMBench .

ACM Transactions on Quantum Computing•Jul 30, 2022•183 citations
This document describes a quantum assembly language (QASM) called OpenQASM that is used to implement experiments with low depth quantum circuits. OpenQASM represents universal physical circuits over the CNOT plus SU(2) basis with straight-line code that includes measurement, reset, fast feedback, and gate subroutines. The simple text language can be written by hand or by higher level tools and may be executed on the IBM Q Experience.
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.
Many quantum programs require circuits for addition, subtraction and logical operations. These circuits may be packaged within routines known as oracles. However, oracles can be tedious to code with current frameworks. To solve this problem the author developed Higher-Level Oracle Description Language (HODL) -- a C-style programming language for use on quantum computers -- to ease the creation of such circuits. The compiler translates high-level code written in HODL and converts it into OpenQASM, a gate-based quantum assembly language that runs on IBM Quantum Systems and compatible simulators.
In this paper, we introduce the workflow for converting qubit circuits represented by Open Quantum Assembly format (OpenQASM, also known as QASM) into the qudit form for execution on qudit hardware and provide a method for translating qudit experiment results back into qubit results. We present the comparison of several qudit transpilation regimes, which differ in decomposition of multicontrolled gates: qubit as ordinary qubit transpilation and execution, qutrit with d=3 levels and single qubit in qudit, and ququart with d=4 levels and 2 qubits per ququart. We provide several examples of transpiling circuits for trapped ion qudit processors, which demonstrate potential advantages of qudits.
The rapid development of quantum computing (QC) in the NISQ era urgently demands a low-level benchmark suite and insightful evaluation metrics for characterizing the properties of prototype NISQ devices, the efficiency of QC programming compilers, schedulers and assemblers, and the capability of quantum system simulators in a classical computer. In this work, we fill this gap by proposing a low-level, easy-to-use benchmark suite called QASMBench based on the OpenQASM assembly representation. It consolidates commonly used quantum routines and kernels from a variety of domains including chemistry, simulation, linear algebra, searching, optimization, arithmetic, machine learning, fault tolerance, cryptography, etc., trading-off between generality and usability. To analyze these kernels in terms of NISQ device execution, in addition to circuit width and depth, we propose four circuit metrics including gate density, retention lifespan, measurement density, and entanglement variance, to extract more insights about the execution efficiency, the susceptibility to NISQ error, and the potential gain from machine-specific optimizations. Applications in QASMBench can be launched and verified on several NISQ platforms, including IBM-Q, Rigetti, IonQ and Quantinuum. For evaluation, we measure the execution fidelity of a subset of QASMBench applications on 12 IBM-Q machines through density matrix state tomography, which comprises 25K circuit evaluations. We also compare the fidelity of executions among the IBM-Q machines, the IonQ QPU and the Rigetti Aspen M-1 system. QASMBench is released at: http://github.com/pnnl/QASMBench.
We introduce an open source software package UniversalQCompiler written in Mathematica that allows the decomposition of arbitrary quantum operations into a sequence of single-qubit rotations (with arbitrary rotation angles) and controlled-NOT (C-NOT) gates. Together with the existing package QI, this allows quantum information protocols to be analysed and then compiled to quantum circuits. Our decompositions are based on Phys. Rev. A 93, 032318 (2016), and hence, for generic operations, they are near optimal in terms of the number of gates required. UniversalQCompiler allows the compilation of any isometry (in particular, it can be used for unitaries and state preparation), quantum channel, positive-operator valued measure (POVM) or quantum instrument, although the run time becomes prohibitive for large numbers of qubits. The resulting circuits can be displayed graphically within Mathematica or exported to LaTeX. We also provide functionality to translate the circuits to OpenQASM, the quantum assembly language used, for instance, by the IBM Q Experience.
The rapid development of quantum computing (QC) in the NISQ era urgently demands a low-level benchmark suite and insightful evaluation metrics for characterizing the properties of prototype NISQ devices, the efficiency of QC programming compilers, schedulers and assemblers, and the capability of quantum system simulators in a classical computer. In this work, we fill this gap by proposing a low-level, easy-to-use benchmark suite called QASMBench based on the OpenQASM assembly representation. It consolidates commonly used quantum routines and kernels from a variety of domains including chemistry, simulation, linear algebra, searching, optimization, arithmetic, machine learning, fault tolerance, cryptography, and so on, trading-off between generality and usability. To analyze these kernels in terms of NISQ device execution, in addition to circuit width and depth, we propose four circuit metrics including gate density, retention lifespan, measurement density, and entanglement variance, to extract more insights about the execution efficiency, the susceptibility to NISQ error, and the potential gain from machine-specific optimizations. Applications in QASMBench can be launched and verified on several NISQ platforms, including IBM-Q, Rigetti, IonQ and Quantinuum. For evaluation, we measure the execution fidelity of a subset of QASMBench applications on 12 IBM-Q machines through density matrix state tomography, comprising 25K circuit evaluations. We also compare the fidelity of executions among the IBM-Q machines, the IonQ QPU and the Rigetti Aspen M-1 system. QASMBench is released at: http://github.com/pnnl/QASMBench .