Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Log inSign up
Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Blog
Job Board
Q3AS

© 2026 Aqora Quantum S.A.S.

TermsPrivacyLegal Notice

The Journal of Open Source Software

Catalyst: a Python JIT compiler for auto-differentiable hybrid quantum programs

David Ittah, Ali Asadi, Erick Ochoa Lopez, Sergei Mironov, Samuel Banning, Romain Moyard, Mai Jacob Peng, Josh Izaac

Published Jul 9, 2024• 12 citations
Publisher

Abstract

Catalyst is a software package for capturing Python-based hybrid quantum programs (that is, programs that contain both quantum and classical instructions), and just-in-time (JIT) compiling them down to an MLIR and LLVM representation and generating binary code.As a result, Catalyst enables the ability to rapidly prototype quantum algorithms in Python alongside efficient compilation, optimization, and execution of the program on classical and quantum accelerators.In addition, Catalyst allows for advanced quantum programming features essential for fault-tolerant hardware support and advanced algorithm design, such as mid-circuit measurement with arbitrary post-processing, support for classical control flow in and around quantum algorithms, built-in measurement statistics, and hardware-compatible automatic differentiation (AD).

DOI
10.21105/joss.06720

Related papers

Constant-time hybrid compilation of Shor's algorithm with quantum just-in-time compilation

David Ittah, J.S. Fraser, Josh Izaac +1 more

Continuous improvements in quantum computing hardware are exposing the need for simultaneous advances in software. Large-scale implementation of quantum algorithms requires rapid and automated compilation routines such as circuit synthesis and optimization. As systems move towards fault-tolerance, programming frameworks and compilers must also be capable of compiling and optimizing programs comprising both classical and quantum code. This work takes a step in that direction by providing an implementation of Shor's factoring algorithm, compiled to elementary quantum gates using PennyLane and Catalyst, a library for quantum just-in-time (QJIT) compilation of hybrid workflows. We demonstrate that with QJIT compilation, the algorithm is compiled once per bit width of $N$, the integer being factored, even when $N$-specific optimizations are applied to circuit generation based on values determined at runtime. The implementation is benchmarked up to 32-bit $N$, and both the size of the compiled program and the pure compilation time are found to be constant (under 3 seconds on a laptop computer), meaning code generation becomes tractable even for realistic problem sizes.

arXiv:2504.12449•Apr 16, 2025•0 citations

Python in the front, party in the Backline: compiling quantum workloads across CPUs, GPUs, and FPGAs

Joseph K. L. Lee, Mehrdad Malekmohammadi, Hong-Sheng Zheng +10 more

Moving from quantum research and development to production-grade, fault-tolerant quantum workload execution remains one of the most significant challenges facing quantum platform builders. While Python frameworks have enabled an easy entry point for quantum algorithm design, the low-latency requirements for real-time quantum error correction (QEC) demand performance that traditional interpreted environments cannot provide. FPGAs and ASICs play a central role at these layers, but their specialized programming models make development rigid and time-consuming. CPUs, GPUs, and other accelerators introduce a different challenge: as infrastructure becomes increasingly heterogeneous, programming across different devices and their associated abstractions becomes more complex. Allowing researchers to write workloads in high-level languages that map to low-latency execution across diverse distributed target platforms will enable the development of key infrastructure for utility-scale quantum systems. For this, we introduce $\textit{Backline}$, a heterogeneous compilation and runtime framework built within PennyLane and Catalyst. Backline allows us to design and build quantum-classical workloads for high-performance and low-latency devices, with compilation directly from a Python interface through MLIR. We demonstrate the compilation and execution of several quantum workloads with low-latency data movement across a mix of CPUs, GPUs, and FPGAs, for both local and distributed remote hardware targets, all from a vendor-agnostic Python frontend. With an AMD VPK120 FPGA board as the controller, issuing each round from its hardware-handshake engine, we measured median steady-state round-trip latencies over RoCE v2 of $2.305~μ$s to an AMD Ryzen Threadripper PRO CPU and $4.5~μ$s to an AMD Instinct MI210 GPU across $10^6-1$ rounds per path, demonstrating microsecond-scale synchronous co-processing.

quant-pharXiv:2609.09270•Sep 10, 2026•0 citations

Real-time hybrid quantum-classical computations for trapped ions with Python control-flow

Tobias Schmale, Bence Temesi, Niko Trittschanke +7 more

In recent years, the number of hybrid algorithms that combine quantum and classical computations has been continuously increasing. These two approaches to computing can mutually enhance each others’ performances thus bringing the promise of more advanced algorithms that can outmatch their pure counterparts. In order to accommodate this new class of codes, a proper environment has to be created, which enables the interplay between the quantum and classical hardware.For many of these hybrid processes the coherence time of the quantum computer arises as a natural time constraint, making it crucial to minimize the classical overhead. For ion-trap quantum computers however, this is a much less limiting factor than with superconducting technologies, since the relevant timescale is on the order of seconds instead of microseconds. In fact, we show that the operating time-scales of trapped-ion quantum computers are compatible with the execution speed of the Python programming language, enabling us to develop an interpreted scheme for real-time control of quantum computations. In particular, compilation of all instructions in advance is not necessary, unlike with superconducting qubits. This keeps the implementation of hybrid algorithms simple and also lets users benefit from the rich environment of existing Python libraries.In order to show that this approach of interpreted quantum-classical computations (IQCC) is feasible, we bring real-world examples and evaluate them in realistic benchmarks.

arXiv:2303.01282•IEEE International Conference on Quantum Software (QSW)•Jul 1, 2023•0 citations

The MQT Compiler Collection: A Blueprint for a Future-Proof Quantum-Classical Compilation Framework

Lukas Burgholzer, Daniel Haag, Yannick Stade +3 more

As the capabilities of quantum computing hardware continue to rise, algorithms that exploit them are becoming increasingly complex. These developments increase the need for sophisticated compilation frameworks that translate high-level algorithms into executable code. In the past, most solutions were built with a quantum-first approach and handled mostly pure quantum programs without classical elements such as structured control flow. However, developments in quantum algorithms, error correction, and optimization, as well as the integration into high-performance computing (HPC) environments, depend on such classical elements. As quantum-first approaches increasingly struggle to handle these concepts, classical-first approaches are becoming a promising alternative. In this work, we present the MQT Compiler Collection, a blueprint for a future-proof quantum-classical compilation framework built on the Multi-Level Intermediate Representation (MLIR). After years of experience with the quantum-first approach and its shortcomings, we propose a framework that embraces core MLIR concepts to support the full compilation pipeline from high-level algorithms to hardware-specific instructions. The proposed architecture is designed from the ground up to support complex optimizations beyond, e.g., simple gate cancellation. It is publicly available at https://github.com/munich-quantum-toolkit/core.

quant-pharXiv:2604.08674•Design, Automation, and Test in Europe•Apr 13, 2026•2 citations

QLLVM: A Scalable Quantum-Classical Co-Compilation Framework based on LLVM

Yu Zhu, Qiming Du, Yuqiong Jin +5 more

To address the urgent need in the NISQ era for high-performance, scalable quantum compilers and to advance the integration of classical and quantum computing, we present QLLVM, an advanced Quantum-Classical co-compilation framework built on LLVM. To our knowledge, QLLVM delivers an end-to-end, LLVM-based compilation workflow that unifies the build of classical high-performance programs, including CUDA, MPI, and C++, together with quantum programs into a single executable. For quantum program compilation, QLLVM adopts a three-stage design: high-level optimizations are implemented in the MLIR Quantum dialect and then lowered to QIR, an LLVM IR-based representation, for low-level optimization and hardware mapping. Its extensible architecture and seamless interoperability with classical high-performance computing provide an efficient, flexible, industrial-grade compilation infrastructure for future quantum software development. Experimental results show that, on the MQTBench benchmark suite, QLLVM reduces circuit depth and gate counts compared with state-of-the-art compilers and demonstrates clear advantages in compiling hybrid classical-quantum programs.

quant-pharXiv:2604.15094•Apr 17, 2026•0 citations

PennyLane: Automatic differentiation of hybrid quantum-classical computations

Ville Bergholm, Josh Izaac, Maria Schuld +65 more

PennyLane is a Python 3 software framework for differentiable programming of quantum computers. The library provides a unified architecture for near-term quantum computing devices, supporting both qubit and continuous-variable paradigms. PennyLane's core feature is the ability to compute gradients of variational quantum circuits in a way that is compatible with classical techniques such as backpropagation. PennyLane thus extends the automatic differentiation algorithms common in optimization and machine learning to include quantum and hybrid computations. A plugin system makes the framework compatible with any gate-based quantum simulator or hardware. We provide plugins for hardware providers including the Xanadu Cloud, Amazon Braket, and IBM Quantum, allowing PennyLane optimizations to be run on publicly accessible quantum devices. On the classical front, PennyLane interfaces with accelerated machine learning libraries such as TensorFlow, PyTorch, JAX, and Autograd. PennyLane can be used for the optimization of variational quantum eigensolvers, quantum approximate optimization, quantum machine learning models, and many other applications.

arXiv:1811.04968•Nov 12, 2018•732 citations
Catalyst is a software package for capturing Python-based hybrid quantum programs (that is, programs that contain both quantum and classical instructions), and just-in-time (JIT) compiling them down to an MLIR and LLVM representation and generating binary code.As a result, Catalyst enables the ability to rapidly prototype quantum algorithms in Python alongside efficient compilation, optimization, and execution of the program on classical and quantum accelerators.In addition, Catalyst allows for advanced quantum programming features essential for fault-tolerant hardware support and advanced algorithm design, such as mid-circuit measurement with arbitrary post-processing, support for classical control flow in and around quantum algorithms, built-in measurement statistics, and hardware-compatible automatic differentiation (AD).
Continuous improvements in quantum computing hardware are exposing the need for simultaneous advances in software. Large-scale implementation of quantum algorithms requires rapid and automated compilation routines such as circuit synthesis and optimization. As systems move towards fault-tolerance, programming frameworks and compilers must also be capable of compiling and optimizing programs comprising both classical and quantum code. This work takes a step in that direction by providing an implementation of Shor's factoring algorithm, compiled to elementary quantum gates using PennyLane and Catalyst, a library for quantum just-in-time (QJIT) compilation of hybrid workflows. We demonstrate that with QJIT compilation, the algorithm is compiled once per bit width of NNN, the integer being factored, even when NNN-specific optimizations are applied to circuit generation based on values determined at runtime. The implementation is benchmarked up to 32-bit NNN, and both the size of the compiled program and the pure compilation time are found to be constant (under 3 seconds on a laptop computer), meaning code generation becomes tractable even for realistic problem sizes.
Moving from quantum research and development to production-grade, fault-tolerant quantum workload execution remains one of the most significant challenges facing quantum platform builders. While Python frameworks have enabled an easy entry point for quantum algorithm design, the low-latency requirements for real-time quantum error correction (QEC) demand performance that traditional interpreted environments cannot provide. FPGAs and ASICs play a central role at these layers, but their specialized programming models make development rigid and time-consuming. CPUs, GPUs, and other accelerators introduce a different challenge: as infrastructure becomes increasingly heterogeneous, programming across different devices and their associated abstractions becomes more complex. Allowing researchers to write workloads in high-level languages that map to low-latency execution across diverse distributed target platforms will enable the development of key infrastructure for utility-scale quantum systems. For this, we introduce Backline\textit{Backline}Backline, a heterogeneous compilation and runtime framework built within PennyLane and Catalyst. Backline allows us to design and build quantum-classical workloads for high-performance and low-latency devices, with compilation directly from a Python interface through MLIR. We demonstrate the compilation and execution of several quantum workloads with low-latency data movement across a mix of CPUs, GPUs, and FPGAs, for both local and distributed remote hardware targets, all from a vendor-agnostic Python frontend. With an AMD VPK120 FPGA board as the controller, issuing each round from its hardware-handshake engine, we measured median steady-state round-trip latencies over RoCE v2 of 2.305 μ2.305~μ2.305 μs to an AMD Ryzen Threadripper PRO CPU and 4.5 μ4.5~μ4.5 μs to an AMD Instinct MI210 GPU across 106−110^6-1106−1 rounds per path, demonstrating microsecond-scale synchronous co-processing.
In recent years, the number of hybrid algorithms that combine quantum and classical computations has been continuously increasing. These two approaches to computing can mutually enhance each others’ performances thus bringing the promise of more advanced algorithms that can outmatch their pure counterparts. In order to accommodate this new class of codes, a proper environment has to be created, which enables the interplay between the quantum and classical hardware.For many of these hybrid processes the coherence time of the quantum computer arises as a natural time constraint, making it crucial to minimize the classical overhead. For ion-trap quantum computers however, this is a much less limiting factor than with superconducting technologies, since the relevant timescale is on the order of seconds instead of microseconds. In fact, we show that the operating time-scales of trapped-ion quantum computers are compatible with the execution speed of the Python programming language, enabling us to develop an interpreted scheme for real-time control of quantum computations. In particular, compilation of all instructions in advance is not necessary, unlike with superconducting qubits. This keeps the implementation of hybrid algorithms simple and also lets users benefit from the rich environment of existing Python libraries.In order to show that this approach of interpreted quantum-classical computations (IQCC) is feasible, we bring real-world examples and evaluate them in realistic benchmarks.
As the capabilities of quantum computing hardware continue to rise, algorithms that exploit them are becoming increasingly complex. These developments increase the need for sophisticated compilation frameworks that translate high-level algorithms into executable code. In the past, most solutions were built with a quantum-first approach and handled mostly pure quantum programs without classical elements such as structured control flow. However, developments in quantum algorithms, error correction, and optimization, as well as the integration into high-performance computing (HPC) environments, depend on such classical elements. As quantum-first approaches increasingly struggle to handle these concepts, classical-first approaches are becoming a promising alternative. In this work, we present the MQT Compiler Collection, a blueprint for a future-proof quantum-classical compilation framework built on the Multi-Level Intermediate Representation (MLIR). After years of experience with the quantum-first approach and its shortcomings, we propose a framework that embraces core MLIR concepts to support the full compilation pipeline from high-level algorithms to hardware-specific instructions. The proposed architecture is designed from the ground up to support complex optimizations beyond, e.g., simple gate cancellation. It is publicly available at https://github.com/munich-quantum-toolkit/core.
To address the urgent need in the NISQ era for high-performance, scalable quantum compilers and to advance the integration of classical and quantum computing, we present QLLVM, an advanced Quantum-Classical co-compilation framework built on LLVM. To our knowledge, QLLVM delivers an end-to-end, LLVM-based compilation workflow that unifies the build of classical high-performance programs, including CUDA, MPI, and C++, together with quantum programs into a single executable. For quantum program compilation, QLLVM adopts a three-stage design: high-level optimizations are implemented in the MLIR Quantum dialect and then lowered to QIR, an LLVM IR-based representation, for low-level optimization and hardware mapping. Its extensible architecture and seamless interoperability with classical high-performance computing provide an efficient, flexible, industrial-grade compilation infrastructure for future quantum software development. Experimental results show that, on the MQTBench benchmark suite, QLLVM reduces circuit depth and gate counts compared with state-of-the-art compilers and demonstrates clear advantages in compiling hybrid classical-quantum programs.
PennyLane is a Python 3 software framework for differentiable programming of quantum computers. The library provides a unified architecture for near-term quantum computing devices, supporting both qubit and continuous-variable paradigms. PennyLane's core feature is the ability to compute gradients of variational quantum circuits in a way that is compatible with classical techniques such as backpropagation. PennyLane thus extends the automatic differentiation algorithms common in optimization and machine learning to include quantum and hybrid computations. A plugin system makes the framework compatible with any gate-based quantum simulator or hardware. We provide plugins for hardware providers including the Xanadu Cloud, Amazon Braket, and IBM Quantum, allowing PennyLane optimizations to be run on publicly accessible quantum devices. On the classical front, PennyLane interfaces with accelerated machine learning libraries such as TensorFlow, PyTorch, JAX, and Autograd. PennyLane can be used for the optimization of variational quantum eigensolvers, quantum approximate optimization, quantum machine learning models, and many other applications.