Table of Contents
Fetching ...

A Practical Quantum Instruction Set Architecture

Robert S. Smith, Michael J. Curtis, William J. Zeng

TL;DR

This work addresses the lack of a practical quantum instruction set by introducing the Quantum Abstract Machine (QAM) and Quil, a low-level quantum instruction language with formal semantics for joint classical-quantum computation. It demonstrates how Quil can express gate operations, measurements, classical control, and synchronization, enabling compilation and hardware emulation via Quantum Virtual Machines or Quantum Processing Units. The framework models a balanced hardware-software stack with a state space of dimension $2^{N_q}$ and a classical memory, represented by the QAM state $(|\Psi\rangle, C, G, G', P, \kappa)$, and shows applications through Quantum Fourier Transform and Variational Quantum Eigensolver, complemented by Forest, a tooling ecosystem (pyQuil, quil-json, QVM) for real or simulated execution. Together, these components provide a portable, analyzable, and scalable path to practical quantum programming, including gate lifting, measurement, synchronization, and compiler-oriented transformations such as routing and parallelization.

Abstract

We introduce an abstract machine architecture for classical/quantum computations---including compilation---along with a quantum instruction language called Quil for explicitly writing these computations. With this formalism, we discuss concrete implementations of the machine and non-trivial algorithms targeting them. The introduction of this machine dovetails with ongoing development of quantum computing technology, and makes possible portable descriptions of recent classical/quantum algorithms.

A Practical Quantum Instruction Set Architecture

TL;DR

This work addresses the lack of a practical quantum instruction set by introducing the Quantum Abstract Machine (QAM) and Quil, a low-level quantum instruction language with formal semantics for joint classical-quantum computation. It demonstrates how Quil can express gate operations, measurements, classical control, and synchronization, enabling compilation and hardware emulation via Quantum Virtual Machines or Quantum Processing Units. The framework models a balanced hardware-software stack with a state space of dimension and a classical memory, represented by the QAM state , and shows applications through Quantum Fourier Transform and Variational Quantum Eigensolver, complemented by Forest, a tooling ecosystem (pyQuil, quil-json, QVM) for real or simulated execution. Together, these components provide a portable, analyzable, and scalable path to practical quantum programming, including gate lifting, measurement, synchronization, and compiler-oriented transformations such as routing and parallelization.

Abstract

We introduce an abstract machine architecture for classical/quantum computations---including compilation---along with a quantum instruction language called Quil for explicitly writing these computations. With this formalism, we discuss concrete implementations of the machine and non-trivial algorithms targeting them. The introduction of this machine dovetails with ongoing development of quantum computing technology, and makes possible portable descriptions of recent classical/quantum algorithms.

Paper Structure

This paper contains 41 sections, 36 equations, 4 figures.

Figures (4)

  • Figure 1: A classical/quantum feedback loop.
  • Figure 2: Outline of Forest, Rigetti Computing's quantum programming toolkit, described in Section \ref{['sec:toolkit']}.
  • Figure 3: The control flow graph of a Quil program.
  • Figure 4: The parallelized version of Figure \ref{['fig:cfg']}. Instruction sequences which can be executed in parallel are surrounded in curly braces '{}'.

Theorems & Definitions (18)

  • Example 1
  • Example 2
  • Example 3
  • Example 4
  • Example 5
  • Example 6
  • Example 7
  • Example 8
  • Example 9
  • Example 10
  • ...and 8 more