Table of Contents
Fetching ...

Productive Quantum Programming Needs Better Abstract Machines

Santiago Núñez-Corrales, Olivia Di Matteo, John Dumbell, Marcus Edwards, Edoardo Giusto, Scott Pakin, Vlad Stirbu

TL;DR

This paper argues that productive quantum programming requires a robust quantum abstract machine (QAM) that provides a stable abstraction between software and hardware. It introduces a 15-criteria framework to evaluate QAMs, emphasizing universality, finite symbolic state, symbolic semantics, and clean classical-quantum separation, among others. Through a survey of six existing QAMs (QTM, QLC, QRAM, QRASP, QRM, QCM), it finds that none fully satisfy the criteria, with gaps mainly in symbolic abstraction and cross-hardware portability. The authors advocate for a future bedrock QAM that unifies hardware modalities, supports new programming languages, and enables dependable software evolution across evolving quantum hardware.

Abstract

An effective, accessible abstraction hierarchy has made using and programming computers possible for people across all disciplines. Establishing such a hierarchy for quantum programming is an outstanding challenge, especially due to a proliferation of different conventions and the rapid pace of innovation. One critical portion of the hierarchy is the abstract machine, the layer that separates a programmer's mental model of the hardware from its physical realization. Drawing on historical parallels in classical computing, we explain why having the "right" quantum abstract machine (QAM) is essential for making progress in the field and propose a novel framework for evaluating QAMs based on a set of desirable criteria. These criteria capture aspects of a QAM such as universality, compactness, expressiveness, and composability, which aid in the representation of quantum programs. By defining this framework we take steps toward defining an optimal QAM. We further apply our framework to survey the landscape of existing proposals, draw comparisons, and assess them based on our criteria. While these proposals share many common strengths, we find that each falls short of our ideal. Our framework and our findings set a direction for subsequent efforts to define a future QAM that is both straightforward to map to a variety of quantum computers, and provides a stable abstraction for quantum software development.

Productive Quantum Programming Needs Better Abstract Machines

TL;DR

This paper argues that productive quantum programming requires a robust quantum abstract machine (QAM) that provides a stable abstraction between software and hardware. It introduces a 15-criteria framework to evaluate QAMs, emphasizing universality, finite symbolic state, symbolic semantics, and clean classical-quantum separation, among others. Through a survey of six existing QAMs (QTM, QLC, QRAM, QRASP, QRM, QCM), it finds that none fully satisfy the criteria, with gaps mainly in symbolic abstraction and cross-hardware portability. The authors advocate for a future bedrock QAM that unifies hardware modalities, supports new programming languages, and enables dependable software evolution across evolving quantum hardware.

Abstract

An effective, accessible abstraction hierarchy has made using and programming computers possible for people across all disciplines. Establishing such a hierarchy for quantum programming is an outstanding challenge, especially due to a proliferation of different conventions and the rapid pace of innovation. One critical portion of the hierarchy is the abstract machine, the layer that separates a programmer's mental model of the hardware from its physical realization. Drawing on historical parallels in classical computing, we explain why having the "right" quantum abstract machine (QAM) is essential for making progress in the field and propose a novel framework for evaluating QAMs based on a set of desirable criteria. These criteria capture aspects of a QAM such as universality, compactness, expressiveness, and composability, which aid in the representation of quantum programs. By defining this framework we take steps toward defining an optimal QAM. We further apply our framework to survey the landscape of existing proposals, draw comparisons, and assess them based on our criteria. While these proposals share many common strengths, we find that each falls short of our ideal. Our framework and our findings set a direction for subsequent efforts to define a future QAM that is both straightforward to map to a variety of quantum computers, and provides a stable abstraction for quantum software development.
Paper Structure (18 sections, 2 figures, 1 table)

This paper contains 18 sections, 2 figures, 1 table.

Figures (2)

  • Figure 1: Graphical representations of: (a) the Quantum Turing Machine bernstein1993quantum, (b) the Quantum Random Access Machine knill1996conventionsmiszczak2012random, (c) the Quantum Lambda Calculus Machineselinger2009quantum, (d) the Quantum Random Access Stored Program Machinewang2023quantum, (e) the Quantum Register Machinezhang2024qrm, and (f) the Quantum Control Machine (with the code example taken verbatim from the QCM paper) yuan2024qcm
  • Figure 2: The quantum abstract machine is a mental model that bridges between hardware and software. It unifies the underlying hardware implementations and provides a contract atop which programming languages and frameworks can be defined.

Theorems & Definitions (3)

  • Definition 1
  • Definition 2
  • Definition 3