AWS Quantum Computing Blog

AWS joins the OpenQASM 3.0 Technical Steering Committee

In the early 1990s, James Gosling introduced the Java programming language. One of the key advantages to Java was that programmers could write code once and have it run on many different backends, without needing to concern themselves with the underlying hardware. This was enabled by an intermediate representation called Java bytecode. Java programs were first compiled into standard bytecode and then that bytecode could be run anywhere Java was installed. Gate-based quantum computing today faces a similar challenge. There are multiple competing quantum program specifications that have been developed with specific hardware backends in mind. For customers, this complicates development and research. A quantum program developed for one type of quantum hardware often cannot run on another quantum computer, if that second provider does not accept the same specification. Customers must manually rewrite the program in the new representation or rely on compilation and translation software to translate one representation to the other.

OpenQASM is an intermediate representation for quantum computing that lets users describe quantum programs in a way that is device agnostic, so the program can be run on different types of gate-based quantum computers. It allows users to program the quantum gates and measurement operations that form the building blocks of quantum computation. The previous version of OpenQASM (2.0) was used by a number of quantum programming libraries to describe simple programs. It was a good first step towards the goal of interoperability, but lacked many of the features necessary to describe the full range of possible quantum programs. The new version of OpenQASM (3.0) extends the previous version to include these missing features, such as pulse-level control, gate timing, and classical control flow, to bridge the gap between end-user interface and hardware description language.

AWS has been supporting the open source effort to develop OpenQASM 3.0 for the past year. Together with IBM, Microsoft, and the University of Innsbruck, we are excited to help establish a consistent approach to describing quantum programs that enables interoperability between many end-user libraries and hardware devices. One of our goals at the AWS Center for Quantum Computing is the development of error-corrected quantum computers. As such we will be helping to extend OpenQASM to work with our hardware, and use the OpenQASM specification to develop the real-time controls needed to operate our qubits.

The recently announced formation of a Technical Steering Committee to guide the future of OpenQASM 3.0 is an important step. It helps establish OpenQASM as an open, community-driven project that listens to the needs of researchers and developers who are working with a large variety of quantum computing technologies. We are excited to be a part of this new committee, and to help build an intermediate representation that lets customers build confidently, without fear of becoming tied to a particular hardware technology. The AWS quantum team has contributed to the specification and the associated libraries, and we look forward to contributing more in the future. We also encourage those involved in the open source quantum ecosystem to take a look at OpenQASM 3.0 and to join the project. To get started, you can look at the spec and the Github repo, and dive in.