Project Overview

Goals of the Project

The goal of the Qompiler project is to advance the development on several levels of the quantum computing software stack and to integrate and implement new concepts.

An overview of these elements and how they are connected to each other is provided in the following graphic. You can get more information about the individual levels by moving your mouse or finger over the respective box. Enjoy exploring the Qompiler Software Stack and if you have any questions, please feel free to contact us at any time.

The Qompiler Software Stack

High Level Language: Qrisp ZX-Optimizer QrispCompiler Categorical Layer Standardizable Interface Quantum Computing Software Frameworks Hardware Specific Compiler Firmware Quantum Computing Hardware Backends MAGIC Quantum Computer from eleQtron The envisioned programming language includes known classical paradigms such as if/elseconditions and loops, but also automates importantquantum subroutines such as uncomputation andqubit management. Furthermore, the language willbe constructed in a hybrid manner, meaning it willsupport imperative and functional programming,which appears to be natural for quantumcomputers, since every quantum gate can beunderstood as a function. To simplify the generated quantum circuits, alreadyexisting optimizers based on the ZX-calculus will beused. The currently most prominent solutions - PyZX(written in Python), QuiZX (written in Rust) andZXCalculus.jl (written in Julia) - will be evaluated interms of speed, optimization potential and ease ofintegration, and the most suitable solution(s) will beintegrated into the software stack. The QrispCompiler will be a smalland lightweight element of the software stack to optimisethe imperative parts of the Qrispprograms,since they can’t bepassed through the categoricallayer. Functional programming languages can bedescribed using category theory. This allows, forexample, to guarantee type safety. In the QompilerProject the categorical computer algebra systemCAP developed at the University of Siegen, whichalso includes a domain-specific compiler, will beused to implement the ZX-calculus as a monoidalcategory. This can serve as a basis for the functionalpart of Qrisp. The goal of the standardizable interface is to be able to express a wide range of possible quantum operations and still be easily accessible to SME backend providers.This can be achieved by using established interface specification technologies likeThrift and OpenAPI. These technologies allow the developer to specify and distributethe interface in a fairly compact (<150 lines of code) and platform-independentmanner. This platform independency is important to reduce the risk of vendor lock-ineffects for end users and thus helps to establish an open and service-providerindependent quantum computing ecosystem.An important goal of the project is the initiation of the standardization activities forthe interface. Together with all project partners, the associated partners and furtherinterested institutions a DIN-SPEC will the be worked out to lay the foundation for awidely accepted and used interface. The DIN-SPEC accommodates for the fast developments of quantum computing, since its regularly evaluated and updated. The Qompiler project will promote the development of an open, vendor independentquantum computing ecosystem. An importantcontribution to this is the interoperability betweendifferent existing software frameworks andprogramming languages, e.g., Qiskit, Cirq or Q#,and the backends of different hardware providers,which is supported via the standardisable interface.This will enable users to write programs in theirpreferred language and still execute them on anyhardware they want to. Each quantum computer has a specific native gateset, meaning a set of gates, which can be directlyexecuted. The quantum circuits created andoptimised in the higher software layers typicallyconsist of non-native gates, which have to betranslatedtothenativegateset. The hardwarespecific compiler takes care of just that. Future iontrapquantumcomputerswill alsohavemorethanone register and the all-to-all connection of thequbitswillnolongerbegiven. Sothecompileralsohastomapthelogicalqubitstothephysicalqubitswithasfewadditionaloperationsaspossible. To verify the full quantum software stack, testing the higher layers on a real quantum computer is acrucial step. To do that, a firmware for an ion trapquantum computer will be developed inpartnership with eleQtron GmbH towardsexecuting quantum programs on innovativehardware. Features of the firmware will be asoftware to control multiple registers and connectthem to further increase the Qubit count. Many companies and research initatives worldwidework on the development of quantum computersbased on different qubit architectures, e.g., super- conducting qubits, nv-center in diamonds, photonsor trapped ions. Each architecture has it‘sadvantagesand disadvantagesand will bemoreorlesssuitedforspecificproblems. Via theinterfaceitwill be possible to access different hardwarebackends, such that you can choosethebackendwhich best suits your needs. Instead of lasers, the ion qubits in the MAGIC concept are controlled with high-frequencymicrowaves. Some of several advantages are lowcross talk errors, simpler laser cooling and qubitreadout and the use of commercially available androbust technology to control the qubits. Also scalingup to more ions will also not pose any problems inprinciple since miniaturized structures for trappingions and controlling qubits can be integrated onchips.