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.
academic
HUGR: Una Representación Intermedia Cuántico-Clásica Unificada
Este artículo introduce HUGR (Hierarchical Unified Graph Representation): una novedosa representación intermedia basada en grafos para programas híbridos cuántico-clásicos. El diseño de HUGR posee alta expresividad y escalabilidad, permitiendo capturar las capacidades de dispositivos cuánticos actuales y futuros, así como abstracciones novedosas provenientes de paradigmas emergentes de programación cuántica. La estructura basada en grafos es amigable para máquinas, soportando potentes técnicas de compilación basadas en coincidencia de patrones. Inspirado en MLIR, el diseño escalable de HUGR permite que herramientas de compilación razonen sobre programas en múltiples niveles de abstracción, con degradación suave entre ellos. Las garantías de seguridad en la estructura incluyen tipificación estática rigurosa y tipos cuánticos lineales, permitiendo desarrollo rápido de herramientas de compilación sin preocupación por fallos de programa. La especificación completa de HUGR y su implementación de referencia están disponibles en código abierto en línea.
Las aplicaciones cuánticas modernas típicamente involucran interacción entre procesadores cuánticos y clásicos, particularmente en algoritmos que requieren decisiones clásicas dentro del tiempo de coherencia de los qubits. Por ejemplo:
Protocolos de Repetir Hasta Éxito: Control de flujo clásico basado en resultados de medición intermedia para determinar la siguiente operación cuántica
Algoritmos de Corrección de Errores Cuánticos: Requieren lógica clásica compleja para decodificar errores en tiempo real y aplicar correcciones
Optimización Híbrida Cuántico-Clásica: Integración estrecha entre procesamiento cuántico y clásico
Los marcos de compilación cuántica tradicionales se basan principalmente en modelos de circuitos estáticos, con soporte limitado para programas dinámicos cuántico-clásicos, típicamente dependiendo de la expansión de flujos de control. Este enfoque no puede manejar eficientemente algoritmos cuánticos que requieren decisiones clásicas en tiempo real, limitando el potencial de aplicaciones prácticas de la computación cuántica.
Marcos Tradicionales (Cirq, Qiskit, TKET, etc.): Representan principalmente circuitos cuánticos como listas o grafos de compuertas, con soporte limitado para programas dinámicos cuántico-clásicos
QIR: Basado en LLVM IR, trata qubits como punteros opacos, requiere análisis de flujo de datos global para rastrear qubits, carece de escalabilidad
OpenQASM 3: Se asemeja más a un lenguaje de programación de alto nivel que a una representación intermedia
Existe la necesidad de una representación intermedia de programas cuánticos que capture nativamente operaciones clásicas, trascendiendo el modelo tradicional de circuitos, para soportar la integración estrecha de procesadores cuánticos y clásicos en la pila de software cuántico.
A diferencia del procesamiento separado tradicional, HUGR unifica la representación de operaciones cuánticas y clásicas en la misma estructura de grafo, soportando interacción cuántico-clásica de grano fino.
Al forzar la restricción de conexión única para puertos de qubits, previene en tiempo de compilación operaciones físicamente no realizables como copia de qubits.
El núcleo de HUGR está desacoplado de operaciones concretas, permitiendo a usuarios definir operaciones y tipos de datos específicos del dominio sin modificar la implementación central.
Soporta representación y transformación de programas en múltiples niveles de abstracción, desde descripciones de algoritmos de alto nivel hasta conjuntos de instrucciones específicos del hardware.
Las optimizaciones basadas en grafos con coincidencia de patrones poseen las siguientes ventajas:
Coincidencia Eficiente: Las etiquetas de puertos proporcionan estructura adicional, más eficiente que verificación de isomorfismo de subgrafos genéricos
Soporte de Paralelización: La coincidencia de patrones permite composición eficiente de reglas de reescritura
Escalabilidad: Capaz de buscar simultáneamente decenas de miles de patrones
HUGR unifica exitosamente la representación de programas cuántico-clásicos, soportando expresión completa desde circuitos tradicionales hasta algoritmos híbridos complejos
La estructura de grafo jerárquico y sistema de tipos riguroso proporcionan fundación sólida para desarrollo de herramientas de compilación
El diseño escalable soporta rápido desarrollo en el campo de computación cuántica e integración de nuevas abstracciones
El marco de optimización basado en coincidencia de patrones proporciona nuevo camino para optimización eficiente de programas
Curva de Aprendizaje: La complejidad de HUGR comparada con representación de circuitos tradicional puede incrementar costo de aprendizaje para desarrolladores
Ecosistema de Herramientas: Como marco nuevo, requiere tiempo para establecer cadena de herramientas completa y soporte comunitario
Evaluación de Rendimiento: El artículo carece de comparación cuantitativa de rendimiento con marcos existentes
Despliegue Práctico: Aún no demuestra aplicación en programas cuánticos a gran escala
El artículo cita 25 referencias relacionadas, cubriendo:
Algoritmos y protocolos cuánticos (Repetir Hasta Éxito, corrección de errores cuánticos, etc.)
Marcos de programación cuántica existentes (Cirq, Qiskit, TKET, PennyLane, etc.)
Infraestructura de compiladores (LLVM, MLIR)
Teoría de sistemas de tipos (tipos lineales)
Técnicas de optimización de grafos y coincidencia de patrones
Evaluación General: Este es un artículo de alta calidad y naturaleza sistemática, proponiendo una representación intermedia unificada urgentemente necesaria en el campo de computación cuántica. Aunque tiene algunas insuficiencias en verificación experimental, su concepto de diseño innovador, solución técnica completa e implementación de código abierto le confieren importante valor académico y potencial práctico. Este trabajo tiene probabilidad de convertirse en infraestructura fundamental importante para programación híbrida cuántico-clásica.