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.
