Silq: ETH Zürich stellt höhere Programmiersprache für Quantencomputer vor

Die an der Zürcher Hochschule entstandene Programmiersprache implementiert sogar das im Quantum Computing schwierig umzusetzende Garbage Collection.

In Pocket speichern vorlesen Druckansicht 14 Kommentare lesen
ETH Zürich stellt höhere Programmiersprache für Quantencomputer vor

(Bild: Gerd Altmann, Public Domain (Creative Commons CCo))

Lesezeit: 3 Min.
Von
  • Alexander Neumann

Wissenschaftler der ETH Zürich haben unter dem Namen Silq eine Programmiersprache entworfen, mit der man Quantencomputer einfach, zuverlässig und fehlerfrei programmieren können soll, ganz vergleichbar mit der Entwicklung auf konventionellen Rechnern. Als wichtigste Erleichterung der statisch typisierten Sprache sehen die Wissenschaftler die Garbage Collection.

ETH-Informatikprofessor Martin Vechev vom Secure, Reliable and Intelligent Systems Lab (SRI) wird Silq diese Woche auf der Programmiersprachenkonferenz PLDI 2020 vorstellen. Einen ersten Eindruck erhalten Interessierte über die eigens für die Quantenprogrammiersprache aufgesetzte Website, die zur Diskussion, Nutzung und Weiterentwicklung anregen soll. Hier findet man eine Übersicht der wichtigsten Features, einen Vergleich mit Q#, Microsofts Programmiersprache für das Quantum Computing, Installationshilfe und wie sich der Grover-Algorithmus mit Silq nutzen lässt.

Laut Vechev erlaubt es Silq durch seine High-Level-Ausrichtung, die Möglichkeiten der Quantencomputer besser zu nutzen als bisherige Sprachen, da ihr Code kürzer, schneller und für Programmierende intuitiver und leichter zu verstehen sei. Weiterhin teilt die ETH Zürich mit, dass sich Silq als erste höhere Programmiersprache in dem Umfeld nicht primär an der Bau- und Funktionsweise der Hardware orientiere, "sondern an der Denkweise der Programmierenden, die ein Problem lösen wollen und dafür nicht jedes Detail der Rechnerarchitektur und der Implementierung verstehen müssen".

Mit der Garbage Collection weist Silq ein Feature auf, das eine Fehlerquelle angeht, die das Quantenprogrammieren bisher wohl erschwerte: Jeder Computer berechnet eine Aufgabe in mehreren Zwischenschritten. Dabei entstehen Zwischenergebnisse, sogenannte temporäre Werte. Um den Arbeitsspeicher zu entlasten, werden sie bei konventionellen Computern im Zuge der Garbage Collection automatisch entfernt.

Die Garbage Collection ist wegen der Quantenverschränkung bei Quantencomputern anscheinend schwierig zu realisieren: Die früheren Rechenwerte können mit den aktuellen in Wechselwirkung treten und die korrekte Berechnung stören. Entsprechend erfordert die Bereinigung der temporären Zwischenergebnisse auf Quantencomputern das sogenannte Uncomputation. Hierdurch werden die Operationen, die zur Berechnung eines Ergebnisses oder Teilergebnisses notwendig waren, in umgekehrter Reihe wieder rückgängig gemacht, um sämtliche Qubits, die für die Speicherung des Ergebnisses nicht mehr benötigt werden, in ihre Ausgangszustände zurückzubringen. Silq verwendet hingegen wohl nur Programmierbefehle, die frei sind von den Quantenoperationen.

Silq sei ein wichtiger Durchbruch auf dem Weg zu einer optimalen Programmierung von Quantencomputern, der letzte Entwicklungsschritt sei sie nicht. Noch gebe es viele offene Fragen. Von Silq erhoffen sich die Forscher sowohl Impulse für die Weiterentwicklung der Quantenprogrammiersprachen als auch für die Lehre und die Entwicklung neuer Quantenalgorithmen. (ane)