Skip to main content
QUICK REVIEW

[Paper Review] XACC: A System-Level Software Infrastructure for Heterogeneous Quantum-Classical Computing

Alexander McCaskey, Dmitry I. Lyakh|arXiv (Cornell University)|Nov 6, 2019
Cloud Computing and Resource Management4 citations
TL;DR

XACC is a system-level, hardware-agnostic software framework that enables low-level, co-processor programming for heterogeneous quantum-classical computing. It provides a service-oriented architecture with extensible interfaces for quantum programming, compilation, and execution, supporting gate-model and annealing quantum processors from IBM, Rigetti, D-Wave, and IonQ, and enables optimized workflows through a polymorphic intermediate representation and cross-compilation capabilities.

ABSTRACT

Quantum programming techniques and software have advanced significantly over the past five years, with a majority focusing on high-level language frameworks targeting remote REST library APIs. As quantum computing architectures advance and become more widely available, lower-level, system software infrastructures will be needed to enable tighter, co-processor programming and access models. Here we present XACC, a system-level software infrastructure for quantum-classical computing that promotes a service-oriented architecture to expose interfaces for core quantum programming, compilation, and execution tasks. We detail XACC's interfaces, their interactions, and its implementation as a hardware-agnostic framework for both near-term and future quantum-classical architectures. We provide concrete examples demonstrating the utility of this framework with paradigmatic tasks. Our approach lays the foundation for the development of compilers, associated runtimes, and low-level system tools tightly integrating quantum and classical workflows.

Motivation & Objective

  • To address the growing need for low-level system software that enables tight integration between classical and quantum processors in next-generation heterogeneous computing architectures.
  • To replace high-level, remote-access programming models with a system software stack that supports efficient execution scheduling, memory management, and low-level control over quantum-classical workloads.
  • To provide a modular, extensible infrastructure that supports compilers, debuggers, profilers, and benchmarks for quantum-accelerated scientific computing.
  • To enable cross-compilation and hardware abstraction across diverse quantum back-ends, including gate-model and adiabatic quantum computers.
  • To lay the foundation for a unified software stack that supports complex, hybrid quantum-classical workflows in scientific computing.

Proposed method

  • XACC implements a service-oriented architecture with pluggable back-ends for quantum accelerators, abstracting hardware-specific details through a common interface.
  • It uses a polymorphic intermediate representation (IR) to represent quantum programs, enabling low-level optimizations and analysis across diverse quantum architectures.
  • The framework supports both gate-model and quantum annealing workflows through a unified interface, with automatic transformation of quantum instructions across different back-end instruction sets.
  • XACC enables co-processor programming by allowing classical code to offload quantum kernels to accelerators, with results retrieved via a shared buffer abstraction.
  • It provides built-in algorithmic abstractions such as the DDCL (Data-Driven Circuit Learning) algorithm for training parameterized quantum circuits to match target probability distributions.
  • The system supports integration with high-level languages like Python via bindings, while maintaining performance through low-level C++ implementation.

Experimental results

Research questions

  • RQ1How can a system-level software infrastructure be designed to enable tight integration between classical and quantum processors in heterogeneous computing environments?
  • RQ2What architectural patterns support hardware-agnostic quantum programming while enabling low-level optimizations and efficient compilation?
  • RQ3How can a unified intermediate representation enable cross-compilation and optimization across diverse quantum back-ends, including gate-model and annealing architectures?
  • RQ4What mechanisms are required to support end-to-end quantum-classical workflows, including profiling, debugging, and benchmarking?
  • RQ5How can quantum algorithms be orchestrated within a classical control flow using a modular, extensible framework?

Key findings

  • XACC successfully abstracts diverse quantum back-ends—including IBM, Rigetti, D-Wave, and IonQ—through a hardware-agnostic interface, enabling portable quantum code across platforms.
  • The framework supports cross-compilation between different instruction sets, such as transforming IBM U/CNOT gates into Rigetti RZ/CZ equivalents via intermediate representation transformations.
  • The DDCL algorithm in XACC enables automated training of parameterized quantum circuits to match target probability distributions, with support for gradient-based optimization and loss function evaluation.
  • XACC’s service-oriented architecture allows for modular extension of compilers, debuggers, and performance tools, enabling a full-stack quantum software development environment.
  • The framework demonstrates a working prototype of a dual-source, co-processor model where classical code can offload quantum kernels and retrieve results through a shared buffer abstraction.
  • XACC provides a foundation for future system software, including single-source compilers and performance analysis tools, essential for scalable quantum-accelerated scientific computing.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.