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: Квантово-классическое промежуточное представление
В данной статье представляется иерархическое унифицированное графическое представление (HUGR) — новое графическое промежуточное представление на основе графов для гибридных квантово-классических программ. HUGR разработан с высокой выразительностью и масштабируемостью, способен захватывать возможности современных и будущих устройств квантовых вычислений, а также новые абстракции из развивающихся парадигм квантового программирования. Графическая структура удобна для машин и поддерживает мощные методы компиляции на основе сопоставления с образцом. Вдохновленный MLIR, HUGR обеспечивает дополнительную масштабируемость, позволяя инструментам компиляции рассуждать о программах на нескольких уровнях абстракции с плавным понижением между ними. Гарантии безопасности в структуре включают строгую статическую типизацию и линейные квантовые типы, позволяющие быстро разрабатывать инструменты компиляции без беспокойства о сбое программы. Полная спецификация HUGR и эталонная реализация доступны с открытым исходным кодом в Интернете.
Современные приложения квантовых вычислений обычно включают взаимодействие между квантовыми и классическими процессорами, особенно в алгоритмах, требующих классических решений в течение времени когерентности кубитов. Примеры:
Протоколы повторения до успеха: классический поток управления на основе результатов промежуточных измерений для определения следующей квантовой операции
Алгоритмы квантовой коррекции ошибок: требуют сложной классической логики для декодирования ошибок в реальном времени и применения исправлений
Гибридная квантово-классическая оптимизация: тесная интеграция между квантовой и классической обработкой
Традиционные платформы квантовой компиляции в основном основаны на статической модели схем с ограниченной поддержкой динамических квантово-классических программ, обычно полагаясь на развертывание потока управления. Такой подход не может эффективно обрабатывать квантовые алгоритмы, требующие решений в реальном времени, ограничивая потенциал практического применения квантовых вычислений.
Традиционные платформы (Cirq, Qiskit, TKET и др.): в основном представляют квантовые схемы как списки или графы вентилей с ограниченной поддержкой динамических квантово-классических программ
QIR: основан на LLVM IR, рассматривает кубиты как непрозрачные указатели, требует глобального анализа потока данных для отслеживания кубитов, не обладает масштабируемостью
OpenQASM 3: больше похож на высокоуровневый язык программирования, чем на промежуточное представление
Необходимо промежуточное представление квантовых программ, способное изначально захватывать классические операции и выходить за рамки традиционной модели схем для поддержки тесной интеграции квантовых и классических процессоров в стеке квантового программного обеспечения.
В отличие от традиционной раздельной обработки, HUGR унифицирует представление квантовых и классических операций в одной графической структуре, поддерживая тонкозернистое взаимодействие квантово-классических систем.
Путем принудительного применения ограничения единственного соединения для портов кубитов предотвращается копирование кубитов и другие физически невозможные операции на этапе компиляции.
Ядро HUGR отделено от конкретных операций, позволяя пользователям определять операции и типы данных для конкретных областей без изменения основной реализации.
Поддерживает представление и преобразование программ на нескольких уровнях абстракции, от высокоуровневых описаний алгоритмов до аппаратно-специфичных наборов инструкций.
HUGR успешно унифицирует представление квантово-классических программ, поддерживая полный спектр выразительности от традиционных схем до сложных гибридных алгоритмов
Иерархическая графическая структура и строгая система типов обеспечивают прочную основу для разработки инструментов компиляции
Масштабируемый дизайн поддерживает быстрое развитие области квантовых вычислений и интеграцию новых абстракций
Платформа оптимизации на основе сопоставления с образцом открывает новые возможности для эффективной оптимизации программ
Квантовые алгоритмы и протоколы (повторение до успеха, квантовая коррекция ошибок и т.д.)
Существующие платформы квантового программирования (Cirq, Qiskit, TKET, PennyLane и др.)
Инфраструктура компиляторов (LLVM, MLIR)
Теория систем типов (линейные типы)
Методы оптимизации графов и сопоставления с образцами
Общая оценка: это высококачественная системная статья, предлагающая унифицированное промежуточное представление, которое остро необходимо в области квантовых вычислений. Хотя в экспериментальной проверке есть некоторые недостатки, инновационные идеи дизайна, полное техническое решение и открытая реализация придают ей значительную академическую ценность и практический потенциал. Эта работа может стать важной инфраструктурой для гибридного квантово-классического программирования.