Open Quantum Assembly Language
By Andrew W. Cross, Lev S. Bishop, John A. Smolin, Jay M. Gambetta. 2017
532 citations recorded by the source corpus.
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.
View Paper: https://www.semanticscholar.org/paper/ca317f1314a7616e3f0b2e918c498f657d5ff73e
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
- Ali Javadi-Abhari
- Prakash Murali
- Ryan Larose
- David C. McKay
- Seyon Sivarajah
- Chun Xia
- Yasunari Suzuki
- Eugene F. Dumitrescu
Citations in the corpus
- Cloud Quantum Computing of an Atomic Nucleus. (2018, methodology): “Furthermore, the relevant software (e.g. PyQuil [16], XACC [17], OpenQASM [18], and OpenFermion [19]) to run on quantum computers and simulators is publicly available.”
- Distributed Quantum Computing: a Survey (2022, unknown): “The distributed algorithm, instead, is defined with the OpenQASM [117] language.”
- An Efficient Methodology for Mapping Quantum Circuits to the IBM QX Architectures (2017, background): “To describe quantum circuits, high level quantum languages (e.g., Scaffold [23] or Quipper [24]), quantum assembly languages (e.g., OpenQASM 2.0 developed by IBM [25]), or circuit diagrams are employed.”
- t|ket⟩: a retargetable compiler for NISQ devices (2020, methodology): “level tools are preferable for larger or more complex tasks. For this reason t|ketisports a range of lightweight front-end modules for different quantum programmingsystems. Theindustry-standardOpenQASM[46]andthethefunctional language Quipper [27] are supported via direct source-file input. Python conv”
- Qubit allocation (2018, unknown): “For instance, the IBM Quantum Experience program 1 lets users build experiments based on either a visual circuit representation or a gate-level language based on the Quantum Assembler (QASM) syntax [9, 40].”
- Q#: Enabling Scalable Quantum Computing and Development with a High-level DSL (2018, methodology): “This limitation can be partially mitigated by including some kinds of classical feedback as circuit elements, as is done at a high-level by LIQ Ui or ProjectQ and at a low-level by OpenQASM 2.0 [9].”
- Software Mitigation of Crosstalk on Noisy Intermediate-Scale Quantum Computers (2020, background): “Therefore, any schedule where two gates partially overlap cannot be enforced using the circuit-level ISA [13]2.”
- OpenQASM 3: A Broader and Deeper Quantum Assembly Language (2021, background): “In this tensor order, cx q[0], q[1]; is represented by the matrix 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 .”
- Noise-Adaptive Compiler Mappings for Noisy Intermediate-Scale Quantum Computers (2019, methodology): “nds were simulators or resourceestimators, rather than real hardware. Our work here is an early example of top-to-bottom compilation from a highlevel QC language (Scaffold) to real hardware. OpenQASM [13] and Quil [39] are low-level assembly language interfaces to QC hardware [8]. To target IBM mach”
- Quantum-assisted quantum compiling (2018, methodology): “Both gates are natively implemented on commercial hardware [25, 26].”
- Fuzz4ALL: Universal Fuzzing with Large Language Models (2023, background): “The second oracle converts the circuit to its lower-level QASM [16] representation and then reads it back, reporting any crash.”
- Qulacs: a fast and versatile quantum circuit simulator for research purpose (2020, methodology): “For the definition of U1, U2, and U3, see the reference of IBMQ [56]”