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/else conditions and loops, but also automates important quantum subroutines such as uncomputation and qubit management. Furthermore, the language will be constructed in a hybrid manner, meaning it will support imperative and functional programming, which appears to be natural for quantum computers, since every quantum gate can be understood as a function.
To simplify the generated quantum circuits, alreadyexisting optimizers based on the ZX-calculus will be used. The currently most prominent solutions - PyZX (written in Python), QuiZX (written in Rust) and ZXCalculus.jl (written in Julia) - will be evaluated in terms of speed, optimization potential and ease of integration, and the most suitable solution(s) will be integrated into the software stack.
The Qrisp Compiler will be a small and lightweight element of the software stack to optimise the imperative parts of the Qrisp programs, since they can’t be passed through the categorical layer.
Functional programming languages can bedescribed using category theory. This allows, for example, to guarantee type safety. In the Qompiler Project the categorical computer algebra system CAP developed at the University of Siegen, which also includes a domain-specific compiler, will be used to implement the ZX-calculus as a monoidal category. This can serve as a basis for the functional part 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 like Thrift and OpenAPI. These technologies allow the developer to specify and distribute the interface in a fairly compact (<150 lines of code) and platform-independent manner. This platform independency is important to reduce the risk of vendor lock-in effects for end users and thus helps to establish an open and service-provider independent quantum computing ecosystem. An important goal of the project is the initiation of the standardization activities for the interface. Together with all project partners, the associated partners and further interested institutions a DIN-SPEC will the be worked out to lay the foundation for a widely 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 independent quantum computing ecosystem. An important contribution to this is the interoperability between different existing software frameworks and programming 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 their preferred language and still execute them on any hardware they want to.
Each quantum computer has a specific native gateset, meaning a set of gates, which can be directly executed. The quantum circuits created and optimised in the higher software layers typically consist of non-native gates, which have to be translated to the native gate set . The hardwarespecific compiler takes care of just that. Future ion trap quantum computers will also have more than one register and the all-to-all connection of the qubits will no longer be given . So the compiler also has to map the logical qubits to the physical qubits with as few additional operations as possible.
To verify the full quantum software stack, testing the higher layers on a real quantum computer is a crucial step. To do that, a firmware for an ion trap quantum computer will be developed in partnership with eleQtron GmbH towards executing quantum programs on innovative hardware. Features of the firmware will be a software to control multiple registers and connect them to further increase the Qubit count.
Many companies and research initatives worldwidework on the development of quantum computers based on different qubit architectures, e.g., super- conducting qubits, nv-center in diamonds, photons or trapped ions. Each architecture has it‘s advantages and disadvantagesand will bemore or less suited for specific problems . Via the interface it will be possible to access different hardware backends, such that you can choose the backend which best suits your needs.
Instead of lasers, the ion qubits in the MAGIC concept are controlled with high-frequency microwaves. Some of several advantages are low cross talk errors, simpler laser cooling and qubit readout and the use of commercially available and robust technology to control the qubits. Also scaling up to more ions will also not pose any problems in principle since miniaturized structures for trapping ions and controlling qubits can be integrated on chips.