Table of Contents
Fetching ...

Design and architecture of the IBM Quantum Engine Compiler

Michael B. Healy, Reza Jokar, Soolu Thomas, Vincent R. Pascuzzi, Kit Barton, Thomas A. Alexander, Roy Elkabetz, Brian C. Donovan, Hiroshi Horii, Marius Hillenbrand

TL;DR

The paper introduces the open-source IBM Quantum Engine Compiler (qe-compiler), a scalable MLIR-based backend designed to compile dynamic quantum circuits described in OpenQASM 3 for heterogeneous quantum control hardware. It presents a hierarchical TargetSystem model, multiple dialects (oq3, qcs, QUIR, Pulse) to represent high-level OpenQASM, control-system logic, quantum memory, and pulse-level operations, and a robust OpenQASM 3 frontend with diagnostics. A key contribution is the threaded compilation manager that enables parallel, instrument-specific lowering pipelines, along with a payload framework (qem) and Python bindings for integration and calibration workflows. The work demonstrates production-grade design, extensibility, and practical integration with IBM Quantum’s runtime, enabling scalable, maintainable compilation for large-scale quantum systems and future workloads such as QEC and probabilistic error mitigation. Overall, the qe-compiler provides a flexible, high-performance path from high-level quantum programs to executable hardware instructions across diverse control electronics."

Abstract

In this work, we describe the design and architecture of the open-source Quantum Engine Compiler (qe-compiler) currently used in production for IBM Quantum systems. The qe-compiler is built using LLVM's Multi-Level Intermediate Representation (MLIR) framework and includes definitions for several dialects to represent parameterized quantum computation at multiple levels of abstraction. The compiler also provides Python bindings and a diagnostic system. An open-source LALR lexer and parser built using Bison and Flex generates an Abstract Syntax Tree that is translated to a high-level MLIR dialect. An extensible hierarchical target system for modeling the heterogeneous nature of control systems at compilation time is included. Target-based and generic compilation passes are added using a pipeline interface to translate the input down to low-level intermediate representations (including LLVM IR) and can take advantage of LLVM backends and tooling to generate machine executable binaries. The qe-compiler is built to be extensible, maintainable, performant, and scalable to support the future of quantum computing.

Design and architecture of the IBM Quantum Engine Compiler

TL;DR

The paper introduces the open-source IBM Quantum Engine Compiler (qe-compiler), a scalable MLIR-based backend designed to compile dynamic quantum circuits described in OpenQASM 3 for heterogeneous quantum control hardware. It presents a hierarchical TargetSystem model, multiple dialects (oq3, qcs, QUIR, Pulse) to represent high-level OpenQASM, control-system logic, quantum memory, and pulse-level operations, and a robust OpenQASM 3 frontend with diagnostics. A key contribution is the threaded compilation manager that enables parallel, instrument-specific lowering pipelines, along with a payload framework (qem) and Python bindings for integration and calibration workflows. The work demonstrates production-grade design, extensibility, and practical integration with IBM Quantum’s runtime, enabling scalable, maintainable compilation for large-scale quantum systems and future workloads such as QEC and probabilistic error mitigation. Overall, the qe-compiler provides a flexible, high-performance path from high-level quantum programs to executable hardware instructions across diverse control electronics."

Abstract

In this work, we describe the design and architecture of the open-source Quantum Engine Compiler (qe-compiler) currently used in production for IBM Quantum systems. The qe-compiler is built using LLVM's Multi-Level Intermediate Representation (MLIR) framework and includes definitions for several dialects to represent parameterized quantum computation at multiple levels of abstraction. The compiler also provides Python bindings and a diagnostic system. An open-source LALR lexer and parser built using Bison and Flex generates an Abstract Syntax Tree that is translated to a high-level MLIR dialect. An extensible hierarchical target system for modeling the heterogeneous nature of control systems at compilation time is included. Target-based and generic compilation passes are added using a pipeline interface to translate the input down to low-level intermediate representations (including LLVM IR) and can take advantage of LLVM backends and tooling to generate machine executable binaries. The qe-compiler is built to be extensible, maintainable, performant, and scalable to support the future of quantum computing.
Paper Structure (15 sections, 4 figures)

This paper contains 15 sections, 4 figures.

Figures (4)

  • Figure 1: The architecture of the quantum engine. The compiler accepts OpenQASM 3 input and returns an executable payload to the runtime service.
  • Figure 2: Quantum control system structure. Control electronics on the left drive and receive signals from the dilution refrigerator on the right holding the qubits.
  • Figure 3: Example target system hierarchy for a quantum system with two drive instruments, an acquire instrument, and a hub instrument.
  • Figure 4: Example pass timing for two styles of pass manager. The top figure a) shows a traditional parallel pass manager operating on the style of multiple instrument module input created by the qe-compiler, while the bottom figure b) shows the timing using our threaded compilation manager.