by Sebastian Bock, Raphael Seidel, Colin Kai-Uwe Becker (Fraunhofer FOKUS)

Quantum computers have the potential to solve problems that are currently not tractable. In order to leverage this potential, the article presents concepts of a high-level quantum programming language and corresponding software layers to pave a way for efficient and interoperable programming of quantum computers.

The development of quantum algorithms with potentially exponential speedup compared to classical algorithms has generated broad interest in both research and industry. Advances in hardware development, with better gate fidelities and increasing qubit numbers, indicate that this potential may be accessible in a few years [1]. In preparation for this quantum advantage, many initiatives are already developing and testing software frameworks that make it possible to build quantum programs and execute them either on a simulator or on currently available quantum devices.

There is, however, a huge gap between the user-friendly and well-known classical programming and development of quantum programs, which is typically hardware-close, and relies on an assembler-like circuit structure based on quantum gates. To really use the potential of quantum computers, it is necessary to be able to build quantum programs in an efficient and user-friendly way with low entry barriers. Ideally, known paradigms from classical programming should be supported as well. These requirements point directly to the need for a high-level quantum programming language. Alongside this language, a compiler is needed to translate the programs to a series of quantum gates which, via a firmware, can then be executed on a quantum computer.

Figure 1: Software layers and elements to be developed in the Qompiler partnership project (Icons made by Freepik and Parzival'1997 from www.flaticon.com).
Figure 1: Software layers and elements to be developed in the Qompiler partnership project (Icons made by Freepik and Parzival'1997 from www.flaticon.com).

Research and development challenges exist at every layer of this simplified model of a quantum software stack. This is particularly the case in Europe, where work is needed to pave the way for a user-friendly, commercially available quantum technology that can guarantee technological sovereignty for Europe. To address these challenges, the Qompiler partnership project is aiming to develop a hybrid high-level quantum programming language based on a categorical layer with a corresponding compiler, a firmware for an ion trap quantum computer and a standardisable interface between firmware and higher-level compilers to achieve interoperability. The most important features of the Qompiler software layers, highlighted in Figure 1, are:

High-level quantum programming language
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 is able to act on a logical level, meaning that quantum error correction routines can be integrated and the translation from the logical to the physical level is automated. 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.

Categorical layer with compiler
A functional programming language also has the advantage of an easy integration with a categorical layer/compiler to guarantee type safety. For the Qompiler Project, the CAP package with the ac-cording compiler, developed largely at the University Siegen [L1], will be used and expanded by the ZX-Calculus, which is a monoidal categorical description of quantum mechanics and thereby easily integrable in the existing framework.

Standardisable interface
The output of this categorical layer will then be compiled to a low-level quantum code (e.g. OpenQASM), which can then, through an interface, be passed to the firmware of a quantum computer. The goal is to define an interface that can connect software frameworks with different hard-ware approaches to create an interoperable, open environment and prevent vendor lock-in effects. To promote this development a DIN-SPEC shall be initiated at the end of the project.

Firmware for an ion trap quantum computer
For a full quantum software stack, the aforementioned layers must be tested on a real quantum computer. To address this, a firmware for an ion trap quantum computer will be developed in a partnership with eleQtron GmbH towards executing quantum programs on real hardware. Features of this firmware will be a software that will both control single registers and connect these registers to further increase the Qubit count.

Integration of hybrid algorithms
Hybrid algorithms will play an important role in quantum computing, especially in the NISQ regime [2]. To have an ideal implementation in the Qompiler software framework and achieve quantum advantages as early as possible, measures and benchmarks will be performed to define the optimal classical-quantum resource sharing and get the most out of the quantum hardware.

Summary
With the high-level quantum programming language, the categorical layer (both intended as open-source projects) and the planned standardisation activities for the interface between hardware backends and software frameworks, the Qompiler partnership project lays the foundation for an open, vendor independent and thriving ecosystem, which – mainly through the standardisable inter-face – helps to reduce the risk of vendor lock-in. Furthermore, the firmware for the ion trap quantum computer developed by eleQtron GmbH is an important step towards a European quantum computer, thereby gaining technological independence from other geopolitical players. Finally, the software framework to be developed in the Qompiler project and the connection to a European quantum computer ensures easier and safer access to quantum computing resources, especially for small and medium-sized enterprises.


The Qompiler project was selected for funding by the Federal Ministry for Economic Affairs and Energy (German: Bundesministerium für Wirtschaft und Energie, abbreviated BMWi) and will start at the beginning of 2022. Key partners are the Fraunhofer Institute for Open Communication Systems (FOKUS), eleQtron GmbH, University of Siegen, Technical University of Berlin and the German standardization body DIN.

Link:
[L1] https://github.com/homalg-project/CAP_project

References
[1] L. Egan, D.M. Debroy, C. Noel, et al.: “Fault-tolerant control of an error-corrected qubit”, Nature 598, 281–286 (2021).
[2] Bharti, Kishor, et al.: “Noisy intermediate-scale quantum (NISQ) algorithms” arXiv preprint arXiv:2101.08448 (2021).

Please contact:
Sebastian Bock
Fraunhofer Institute for Open Communication Systems FOKUS, Germany
This email address is being protected from spambots. You need JavaScript enabled to view it.

Next issue: October 2024
Special theme:
Software Security
Call for the next issue
Image ERCIM News 128
This issue in pdf

 

Image ERCIM News 128 epub
This issue in ePub format

Get the latest issue to your desktop
RSS Feed