Qrisp: Quantencomputer mit neuem Open-Source-Framework programmieren

Fraunhofer hat eine neue Sprache zum Programmieren von Quantensystemen veröffentlicht – Qrisp soll das Entwickeln skalierbarer Quantenalgorithmen ermöglichen.

In Pocket speichern vorlesen Druckansicht 4 Kommentare lesen
Elementary,Particles,Series.,Interplay,Of,Abstract,Fractal,Forms,On,The

(Bild: agsandrew/Shutterstock.com)

Lesezeit: 4 Min.
Von
  • Silke Hahn
Inhaltsverzeichnis

Fraunhofer FOKUS hat ein neues Framework für Quantencomputing vorgestellt: Bei Qrisp handelt es sich laut Projektbeschreibung um eine höhere Programmiersprache zur Arbeit mit Quantensystemen und ein zugehöriges Framework. Das Institut für offene Kommunikationssysteme strebt eigenen Angaben zufolge danach, effizientes und skalierbares Schreiben von Quantenalgorithmen zu ermöglichen. Ziel sei es, das Quantencomputing breiteren Teilen der Entwickler-Community zu erschließen als bisher.

Zahlreiche Funktionen sollen das Schreiben von Quantencode vereinfachen: Das Qrisp-Team wirbt mit benutzerfreundlicher Syntax, umfassender Dokumentation und der Unterstützung gängiger Programmierparadigmen (wie Variablen, if-Bedingungen, Loops) für das Framework. Programmcode in Qrisp lasse sich bis auf die Ebene der Quantenschaltkreise kompilieren, wodurch er kompatibel sei zu den meisten heutigen physischen Backends, die Quantenschaltkreise verwenden. Mit Qrisp sollen sich viele Low-Level-Codierungsaufgaben wie Gate-by-Gate-Assembly oder die Qubit-Verwaltung automatisieren lassen.

Was sind höhere Programmiersprachen?

(Bild: Sashkin/Shutterstock.com)

High-level Programming Languages dienen als "Brückensprache" zwischen Mensch und Maschine zum Verfassen von Computerprogrammen, dazu zählen etwa C++, Python, Java, JavaScript, C# und WebAssembly. Zu den ältesten höheren Programmiersprachen gehören Fortran (Formula Translation), ALGOL (Algorithmic Language) und LISP (List Processing), wenn man Konrad Zuses frühe Sprache "Plankalkül" ausklammert. Sie sind deutlich komplexer als Maschinensprachen. So verstehen Mikroprozessoren die Befehle nicht unmittelbar, und mittels Interpreter oder Compiler gilt es, den Code in Maschinensprache zu übersetzen. Mit "High-level" ist hingegen kein Schwierigkeitsgrad beim Erlernen oder Programmieren gemeint, sondern diese Sprachen dienen dazu, komplexe Aufgaben durch Programme zu operationalisieren.

Komplexe Zusammenhänge kompakt ausdrücken

Sie vermögen mehr und komplexere Zusammenhänge kompakt auszudrücken, was in einem zweiten Schritte wieder in Maschinencode herunterzubrechen ist. Die Lesbarkeit des Sourcecodes steigt dabei und rekursive Aufgaben werden reduziert. Die Syntax wird zunehmend an menschliche Gewohnheiten angepasst, die Sprachen laufen großteils unabhängig vom Prozessortyp, werden durch die notwendige Übersetzung in Maschinensprache langsamer (als etwa maschinennahe Sprachen wie C) und erlauben weitgehende semantische Analysen.

Als größte Hürde beim Quantencomputing gilt das Kontrollieren einzelner Quanten-Gates und Qubits. Mit einem "ausgeklügelten Qubit-Verwaltungssystem" lassen sich recycelte Quantenressourcen im neuen Framework automatisch funktionsübergreifend wiederverwenden. Qrisp-Code soll sich auf die Weise modularisieren lassen. Das Typisierungssystem sei nahtlos in die Python-Infrastruktur integriert, was der Entwicklung skalierbarer Algorithmen die Komplexität nehme. Qrisp gilt als leichtgewichtig und schnell, was laut Projektteam "zu einem bequemen Entwicklungsworkflow führt". Zum Vergleich stellen sie auf ihrer Website zwei Codepassagen vor, die die gleiche Aufgabe erfüllen, nämlich die Multiplikation von zwei n-Bit-Ganzzahlen. Der eine Codeschnipsel wurde mit Qiskit geschrieben, der andere mit Qrisp:

Zum Vergleich: Die Multiplikation von zwei n-Bit-Ganzzahlen — links geschrieben in Qiskit, rechts in Qrisp.

(Bild: Fraunhofer FOKUS)

Im begleitend veröffentlichten Tutorial beschreibt das Team die Verwendung von Qrisp zur Lösung des Traveling Salesman Problem, kurz TSP. Zur Erinnerung: TSP ist ein kombinatorisches Optimierungsproblem aus der theoretischen Informatik. Die Aufgabe besteht darin, eine Reihenfolge für den Besuch mehrerer Orte so zu wählen, dass außer dem Ausgangspunkt keine Station mehr als einmal besucht wird, die gesamte Rundreise möglichst kurz und die erste Station zugleich der Zielort ist. Die im Qrisp-Tutorial präsentierte Lösung umfasst rund zehn verschiedene Quantenvariablen, deren jeweilige Qubits wiederholt entwirrt und für andere Variablen wiederverwendet werden.

Der vorgestellte Ansatz soll in der Anzahl der Qubits besser skalieren als der bisher gängige QUBO-basierte Ansatz. Das Beispiel soll laut Team veranschaulichen, wie Qrisp "als Hochsprache neuartige und skalierbare Lösungen für komplizierte Probleme ermöglicht". Höhere Programmiersprachen zur Quantenprogrammierung dürften somit ein integraler Bestandteil der Zukunft der Quanteninformationswissenschaft sein.

Die Physikerin und vormalige CTO der Deutschen Bahn Prof. Dr. Sabina Jeschke hatte Mitte Mai bei der Konferenz Rise of AI Ähnliches zu Quantencomputing in den Raum gestellt: Quantencomputing stehe unmittelbar bevor, ab 2025 sei mit den ersten Systemen industrieller Dimension zu rechen. Die Kosten dafür würden mit der Zeit sinken, und insbesondere der Energiebedarf von Rechenvorgängen sei deutlich niedriger als in herkömmlichen Rechenzentren. So erklärte Jeschke, dass bereits bei gekühlten Quantensystemen nur etwa ein Zehntel der bisherigen Energie benötigt werde, bei Systemen mit Raumtemperatur (mit denen Jeschke laut eigener Angaben ab etwa 2028 rechnet) sei nur mehr ein Prozent der heute benötigten Energie fällig. Für Systeme mit Echtzeitberechnung und für das Machine Learning dürfte sich durch die Beschleunigung der Rechenvorgänge ein wesentlicher Fortschritt ergeben.

Jeschke riet eindringlich, sich mit Quantenalgorithmen auseinanderzusetzen, da Quantencomputing bald energiesparendes Hochleistungsrechnen ermöglichen und damit eine Disruption auslösen werde. Das prognostizierte Energiesparpotenzial beim Hochleistungsrechnen dürfte auch der Grund dafür sein, dass das Ministerium für Wirtschaft und Klimaschutz das Fraunhofer-FOKUS-Projekt zu Qrisp fördert. Hinter dem Projekt stehen der Softwarearchitekt und Entwickler Raphael Seidel sowie seine Kollegen Dr.-Ing. Nikolay Tcholtchev (Projektleitung) und Sebastian Bock, die laut Website Ansprechpartner bei Rückfragen sind.

Weiterführende Informationen zu Qrisp lassen sich der Projektwebsite entnehmen. Qrisp steht im Fraunhofer-Repository bei GitHub als Open-Source-Software bereit. Zum Einstieg und um sich mit dem Framework vertraut zu machen, gibt es ein Tutorial. Im Bereich "Reference" stellt das Team eine vertiefende Dokumentation zu Qrisp bereit.

(sih)