HUGR: A Quantum-Classical Intermediate Representation
Koch, Borgna, Sivarajah et al.
We introduce the Hierarchical Unified Graph Representation (HUGR): a novel graph based intermediate representation for mixed quantum-classical programs. HUGR's design features high expressivity and extensibility to capture the capabilities of near-term and forthcoming quantum computing devices, as well as new and evolving abstractions from novel quantum programming paradigms. The graph based structure is machine-friendly and supports powerful pattern matching based compilation techniques. Inspired by MLIR, HUGR's extensibility further allows compilation tooling to reason about programs at multiple levels of abstraction, lowering smoothly between them. Safety guarantees in the structure including strict, static typing and linear quantum types allow rapid development of compilation tooling without fear of program invalidation. A full specification of HUGR and reference implementation are open-source and available online.
Dieses Papier stellt HUGR (Hierarchical Unified Graph Representation) vor: eine neuartige graphbasierte Zwischendarstellung für hybride Quantum-Klassische Programme. HUGR ist hochexpressiv und skalierbar konzipiert und kann die Fähigkeiten aktueller und zukünftiger Quantencomputergeräte sowie neuartige Abstraktionen aus aufstrebenden Quantenprogrammierparadigmen erfassen. Die graphbasierte Struktur ist maschinenfreundlich und unterstützt leistungsstarke, musterabgleichbasierte Compilertechniken. Von MLIR inspiriert, ermöglicht die Skalierbarkeit von HUGR Compilerwerkzeugen, Programme auf mehreren Abstraktionsebenen zu analysieren und zwischen ihnen reibungslos herabzustufen. Sicherheitsgarantien in der Struktur umfassen strikte statische Typisierung und lineare Quantentypen, die eine schnelle Entwicklung von Compilerwerkzeugen ermöglichen, ohne sich um Programmfehler sorgen zu müssen. Die vollständige Spezifikation und Referenzimplementierung von HUGR sind quelloffen und online verfügbar.
Moderne Quantencomputeranwendungen beinhalten typischerweise Wechselwirkungen zwischen Quanten- und klassischen Prozessoren, insbesondere bei Algorithmen, die klassische Entscheidungen innerhalb der Kohärenzzeit von Qubits erfordern. Beispiele:
Repeat-Until-Success-Protokolle: Klassische Kontrollflusslogik basierend auf Messergebnissen zur Bestimmung der nächsten Quantenoperationen
Quantenfehlerkorrektur-Algorithmen: Erfordern komplexe klassische Logik zur Echtzeitfehlerdekodierung und Fehlerkorrektur
Hybride Quantum-Klassische Optimierung: Enge Integration zwischen Quanten- und klassischer Verarbeitung
Traditionelle Quantencompiler-Frameworks basieren hauptsächlich auf statischen Schaltkreismodellen und bieten begrenzte Unterstützung für dynamische Quantum-Klassische Programme, die typischerweise auf Kontrollflussentwicklung angewiesen sind. Dieser Ansatz kann Quantenalgorithmen, die Echtzeitentscheidungen erfordern, nicht effektiv verarbeiten und begrenzt das praktische Anwendungspotenzial des Quantencomputing.
Traditionelle Frameworks (Cirq, Qiskit, TKET usw.): Stellen Quantenschaltkreise hauptsächlich als Gatelisten oder Graphen dar, mit begrenzter Unterstützung für dynamische Quantum-Klassische Programme
QIR: Basiert auf LLVM IR, behandelt Qubits als undurchsichtige Zeiger, erfordert globale Datenflussanalyse zur Verfolgung von Qubits, mangelnde Skalierbarkeit
OpenQASM 3: Ähnelt eher einer höheren Programmiersprache als einer Zwischendarstellung
Bedarf an einer Zwischendarstellung für Quantenprogramme, die klassische Operationen nativ erfasst und über traditionelle Schaltkreismodelle hinausgeht, um die enge Integration von Quanten- und klassischen Prozessoren im Quantensoftware-Stack zu unterstützen.
Im Gegensatz zur traditionellen separaten Verarbeitung stellt HUGR Quanten- und klassische Operationen in derselben Graphstruktur dar und unterstützt feingranulare Quantum-Klassische Wechselwirkungen.
Durch Erzwingung einer einzelnen Verbindungsbeschränkung für Qubit-Ports verhindert HUGR zur Kompilierungszeit physikalisch nicht realisierbare Operationen wie Qubit-Vervielfältigung.
Der Kern-HUGR ist von konkreten Operationen entkoppelt, sodass Benutzer domänenspezifische Operationen und Datentypen definieren können, ohne die Kernimplementierung zu ändern.
Unterstützt die Darstellung und Umwandlung von Programmen auf mehreren Abstraktionsebenen, von hochrangigen Algorithmusbeschreibungen bis zu hardwarespezifischen Befehlssätzen.
HUGR vereinheitlicht erfolgreich die Darstellung von Quantum-Klassischen Programmen und unterstützt das vollständige Spektrum von traditionellen Schaltkreisen bis zu komplexen Hybrid-Algorithmen
Die hierarchische Graphstruktur und das strikte Typsystem bieten eine solide Grundlage für die Entwicklung von Compilerwerkzeugen
Die erweiterbare Gestaltung unterstützt die schnelle Entwicklung im Quantencomputingbereich und die Integration neuer Abstraktionen
Das musterabgleichbasierte Optimierungsframework bietet neue Wege für effiziente Programmoptimierung
Gesamtbewertung: Dies ist ein hochqualitatives Systemarbeitspapier, das eine im Quantencomputingbereich dringend benötigte einheitliche Zwischendarstellung vorschlägt. Obwohl die experimentelle Validierung begrenzt ist, machen die innovativen Designideen, die umfassende technische Lösung und die Open-Source-Implementierung es von großem akademischen Wert und praktischem Potenzial. Diese Arbeit könnte zu einer wichtigen Infrastruktur für hybride Quantum-Klassische Programmierung werden.