Generated by GPT-5-mini| OpenQASM | |
|---|---|
| Name | OpenQASM |
| Paradigm | Quantum assembly language |
| Developer | IBM |
| First appeared | 2017 |
| Typing | Unspecified |
| License | Apache License 2.0 |
| Influenced by | Qiskit |
OpenQASM is an intermediate-level assembly language designed for describing quantum circuits and operations for gate-based quantum processors. It was introduced by IBM as part of the Qiskit software ecosystem to provide a compact, textual representation of quantum programs interoperable with hardware backends and simulators. OpenQASM serves as a bridge between high-level frameworks such as Qiskit and low-level control systems used by providers like IBM Quantum and research platforms at institutions like Caltech, MIT, and Johns Hopkins University.
OpenQASM emerged in the context of the 2010s quantum computing surge led by organizations and projects including IBM, Google, Microsoft, Rigetti Computing, Intel, Xanadu and university groups at University of California, Berkeley, University of Oxford, University of Cambridge, and Harvard University. The language arose alongside efforts such as ProjectQ, Cirq, Forest, QuTiP, and Strawberry Fields to standardize circuit description formats. Early versions were driven by the needs of the Quantum Experience platform and contributions from researchers affiliated with IBM Research, Google Research, and consortia like the Quantum Economic Development Consortium. Subsequent iterations reflected input from standards initiatives at organizations such as the IEEE and dialogues at conferences including QIP and APS March Meeting.
The OpenQASM specification defines a concise syntax for allocating registers, declaring classical and quantum registers, and specifying composite gates. Core syntactic constructs were influenced by assembly and hardware description languages used at entities like Intel Corporation and AMD for microarchitectural descriptions, and by domain-specific languages developed at MIT Lincoln Laboratory and Los Alamos National Laboratory. The specification details tokenization, grammar rules, and semantics to enable deterministic parsing by toolchains developed by IBM and community contributors from projects hosted at organizations such as GitHub, Bitbucket, and GitLab. The language includes version pragmas to manage backward compatibility similar to practices in standards by ISO and IETF.
OpenQASM provides primitives to express single-qubit, two-qubit, and multi-qubit gates, including parameterized rotation gates inspired by implementations in hardware by IBM Quantum, Rigetti Computing, and quantum processors developed by research teams at Google Quantum AI and Honeywell Quantum Solutions. It supports controlled operations and composite gate definitions analogous to gate sets used in experiments at University of Chicago and University of Maryland. The specification maps abstract gates to physical calibrations maintained by laboratories like Delft University of Technology and companies such as IonQ and PsiQuantum, enabling porting between superconducting qubit systems at Yale University and trapped-ion systems at MIT.
OpenQASM includes constructs for measurement operations, classical bit registers, and conditional branching based on measurement results to enable feedback protocols used in demonstrations at NIST and Los Alamos National Laboratory. Conditional execution semantics support integration with backend controllers produced by firms like National Instruments and Keysight Technologies used in experiments at institutions such as University of Innsbruck and University of Vienna. Classical-quantum interaction patterns expressed in OpenQASM facilitate error mitigation workflows employed by teams at Caltech and Fermilab and align with experiment orchestration systems from groups at CERN and SLAC National Accelerator Laboratory.
Implementations of OpenQASM parsers, transpilers, and runtime backends exist in projects maintained by companies and academic groups including IBM, Rigetti Computing, Google, Microsoft Research, Xanadu, IonQ, and open-source communities at GitHub. Tooling integrates with simulators such as Qiskit Aer, Cirq's simulator, ProjectQ simulator, and specialized classical-accelerated frameworks from NVIDIA and AMD for GPU-accelerated simulation. Development environments and IDE plugins supporting OpenQASM have been created by vendors like JetBrains and research labs at ETH Zurich and EPFL.
Common examples in the OpenQASM ecosystem demonstrate preparing Bell states, performing quantum Fourier transforms, and implementing variational circuits used in studies at Caltech, Harvard University, Princeton University, and Stanford University. Sample programs show declarations of quantum registers, application of parameterized rotation gates, and measurement with conditional resets—patterns mirrored in tutorial material from Qiskit workshops, Google Summer of Code projects, and educational initiatives at Perimeter Institute and Khan Academy partnerships. Community repositories hosted on GitHub and tutorials produced by IBM Quantum and Microsoft Quantum provide canonical snippets used in benchmarking studies published at venues like Nature, Science, and Physical Review Letters.
OpenQASM has seen adoption across commercial platforms (e.g., IBM Quantum, Rigetti Computing, IonQ, Quantinuum) and academic toolchains at MIT, Caltech, University of Toronto, and University College London. Its role in enabling interoperability has prompted discussion in standards forums including IEEE Standards Association and working groups at international conferences such as Q2B and Quantum.Tech. As quantum hardware diversity increases—exemplified by superconducting qubits at IBM and Google, trapped ions at IonQ and University of Innsbruck, and photonic platforms at Xanadu—OpenQASM continues to influence the development of successor specifications and integration with workflow standards from organizations like the OpenAI-adjacent research collaborations and national programs such as the US National Quantum Initiative.
Category:Quantum programming languages