Necessity drives innovation
Picture this: July 2019, a small but passionate team of 7 individuals came together to embark on a quantum adventure. Fast forward to today, and our numbers have swelled to a remarkable 102 dedicated colleagues. The journey from our humble beginnings to where we stand today has been nothing short of exhilarating.
In July 2021, we celebrated a significant milestone by launching Europe’s first Quantum-Compute-as-a-Service. Just months later, in February 2022, we made history again by becoming the first European quantum computing (QC) provider available on AWS Braket. And now, we’re taking a monumental step into the open-source community with the release of our in-house quantum compiler and runtime framework.
Why did we invest the time and resources to develop our framework? The answer is simple: necessity.
Why did we invest the time and resources to develop our framework? The answer is simple: necessity. Unlike classical computing, quantum computing lacks a standardised framework for translating human-readable quantum programs into Quantum Processing Unit (QPU) executions. On top of this, building our own toolchain means we have the opportunity to make it suitable for our use cases and ensure it offers the flexibility needed to keep up with the development of our hardware.
The absence of a standardised quantum compiler framework can be attributed to the developing nature of quantum computing. It’s akin to the early days of computing when programmers manually punched cards and waited their turn to run programs on room-sized machines, hoping they hadn’t made any errors. Quantum processors face similar challenges today, lacking memory and effective fault-handling mechanisms.
Moreover, quantum computing fundamentally diverges from classical computing, operating in multidimensional spaces and producing outcomes by projecting points onto the discrete values of 0 and 1. Instructions are transmitted to superconducting quantum computers via GHz frequency signals, represented as sequences of pulses. This stark contrast in computing paradigms renders a seamless transition from classical to quantum impossible.
In classical computer science, developers enjoy a plethora of high-level languages, each offering various levels of abstraction and simplification. Quantum computing, however, is still at the gate level, devoid of high-level abstractions. QASM and QIR are community-driven projects aiming to establish a quantum program definition standard across the industry. Our toolchain is capable of handling programs defined in either of these lower-level formats, and high-level package tools that aid the generating of these exist. We use higher-level languages like Python to interpret the program and verify its syntax. Once the program is transformed into a manipulable format, optimization becomes crucial to ensure high performance, given the limited lifespan of quantum states.
Quantum optimisation involves reordering or replacing gates with more efficient ones.
After optimisation, we arrive at an intermediate representation akin to classical assembly but not yet an industry standard. This format is machine-independent, transferable between systems and technologies. The next optimisation round focuses on hardware-specific improvements, taking into account qubit calibration and performance data.
The optimised instruction list is sent to the hardware drivers for execution and measurement, but the package job isn’t done. It performs post-processing on measurement results, providing more comprehensible formats, such as state counts, for users.
We’re already working on the next generation of QAT, with exciting features like Classical-Quantum hybrid computation, Runtime-embedded Quantum Error Correction, and more. We invite the community to join us on this adventure by visiting our GitHub repository and actively contributing.
Together, we’re shaping the future of quantum computing and making it accessible to all.
About the author
Kajsa Eriksson Rosenqvist a is a curious engineer from Sweden who believes we can harness the power of science for good. Prior to joining our software team, Kajsa developed a simulation tool to assist in the evaluation of a ground based laser orbital debris removal system. As an OQC software engineer, Kajsa is responsible for a number of quantum and development infrastructure projects, including our Quantum Assembly Toolchain.