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.
