Qompiler

Standardisierter Quanten Software Stack

Logo Qompiler
© Projekt Qompiler
Qompiler

Projektbeschreibung
Die Entwicklung von Quantenalgorithmen mit potenziell exponentiellem Geschwindigkeitsvorteil gegenüber klassischen Algorithmen hat ein breites Interesse in Wirtschaft und Wissenschaft entfacht. Die Fortschritte bei der Hardwareentwicklung in den letzten Jahren haben gezeigt, dass dieses Potenzial auch genutzt werden kann. Tatsächlich gibt es aber noch eine große Lücke zwischen der barrierefreien und nutzerfreundlichen Programmierung, wie sie aus der klassischen Informatik bekannt ist und der oft noch an das Experiment angelehnten Quantenprogrammierung. Um diese Lücke zu schließen, wird im Rahmen des Qompiler Projektes eine höhere Quantenprogrammiersprache, die über die aktuell etablierten assemblerartigen Sprachen hinausgeht und viele der kleinschrittigen Elemente automatisiert, entwickelt. Passend zu der Quantenprogrammiersprache wird ein Compiler entwickelt, der eine Optimierung der generierten Quantenschaltkreise und ideale Einbindung hybrider Algorithmen ermöglicht. Über eine Firmware für einen Ionen-basierten Quantencomputer und eine Schnittstelle zu den höheren Softwareebenen, die beide im aktuellen Qompiler Projekt entwickelt werden, können die erstellten und kompilierten Schaltkreise dann auch auf einem deutschen Quantenrechner ausgeführt werden. Gegen Ende des Qompiler Projektes sollen dessen Ergebnisse, insbesondere die entwickelte Schnittstelle zwischen Firmware und Compiler, in Standardisierungsaktivtäten überführt werden.

Herausforderung und Innovation
Der Stand der Entwicklung der Quanteninformatik steckt nicht nur auf der Hardware-Seite in einem Frühstadium. Der Programmieralltag mit den etablierten Schnittstellen stellt sich als repetitiv und kleinschrittig heraus, was für eine hohe Einstiegsbarriere und Fehleranfälligkeit sorgt. Damit Quantencomputing langfristig möglichst vielen Unternehmen einen Mehrwert bietet ist es also (neben der Hardware-Entwicklung) von höchster Priorität, auch Nicht-Quantenphysikern den Umgang mit Quantencomputern zu ermöglichen. Dahingehend ist eine leicht zugängliche, an etablierten Paradigmen angelehnte höhere Quanten-Programmiersprache ein wichtiger Schritt in diese Richtung. Viele der beabsichtigten Funktionen bestehen dabei nicht aus besonders komplexen Ansätzen, sondern basieren auf dem Grundsatz, so viel Programmierarbeit wie möglich zu automatisieren. In Fällen wo dennoch Komplexität erforderlich ist, soll diese vor dem Nutzer/Programmierer versteckt werden.

Außerdem existieren aktuell für Quanten-Compiler und Quanten-Firmware nur proprietäre Ansätze einzelner Anbieter und es stehen keine einheitlichen Schnittstellen zur Verfügung. Dies birgt aber die Gefahr einer Herstellerabhängigkeit (engl. vendor lock-in). Durch die Entwicklung einer Quanten-Firmware für einen Ionen-basierten Rechner mit einer standardisierten Schnittstelle (angestrebte DIN SPEC) und des Quanten-Compilers ist für Anwender der Zugriff auf einen in Deutschland entwickelten Quantencomputer möglich.

Lösungsansatz
Im Qompiler Projekt werden mehrere Ebenen des Quanten Software Stacks parallel entwickelt. Die unterste Entwicklungsebene im Projekt ist die Firmware für einen Ionen-basierten Quantencomputer. Um die Übersetzung allgemeiner Quantenschaltkreise in das nativ verfügbare Gatterset kümmert sich der Hardware-spezifische Compiler und sorgt dafür, dass die Vorteile des Ionen-basierten Quantencomputers vollumfänglich genutzt werden. Darauf aufbauend wird im Qompiler Projekt eine Schnittstelle definiert und entwickelt, um die höheren Softwareebenen anzusprechen. Diese bestehen aus der kategoriellen Ebene und einer höheren Quantenprogrammiersprache. In diesem Projekt angestrebte Features der Programmiersprache sind u. a.: Automatisiertes Speichermanagement, Automatisierte Gate-Fehlerkorrektur und Automatisierte Uncomputation (d. h. Garbage Collection). Für den Programmieralltag wird die Sprache zudem in bestehende Entwicklungsumgebungen integriert. Direkt an den funktionalen Aspekt der Sprache ist die kategorielle Ebene CAP der Uni Siegen angeschlossen, in welcher eine Prüfung der Typkonsistenz - also eine Verifikation der Programme vor der eigentlichen Ausführung in einem gewissen Rahmen - und somit eine Optimierung der erstellten Quantenschaltkreise ermöglicht wird. Ebenenübergreifend werden vielversprechende hybride Algorithmen angebunden, indem über Benchmarkingprotokolle eine optimale Aufteilung zwischen klassischen und Quantenressourcen ermittelt wird. Somit steht die gesamte Bandbreite an Anwendungspozential der hybriden Algorithmen, zum Beispiel für Molekülsimulationen oder Optimierungsprobleme, zur Verfügung.

Konsortium
Fraunhofer FOKUS (Konsortialführer), eleQtron GmbH, Universität Siegen, TU Berlin, Deutsches Institut für Normung e.V. (im Unterauftrag)

Laufzeit
Januar 2022 – Dezember 2024

Budget
Gesamtvolumen: 2,4 Millionen €
Fördermittel: 1,9 Millionen €