eQASM: An Executable Quantum Instruction Set Architecture
arXiv:1808.02449
Abstract
A widely-used quantum programming paradigm comprises of both the data flow and control flow. Existing quantum hardware cannot well support the control flow, significantly limiting the range of quantum software executable on the hardware. By analyzing the constraints in the control microarchitecture, we found that existing quantum assembly languages are either too high-level or too restricted to support comprehensive flow control on the hardware. Also, as observed with the quantum microinstruction set QuMIS, the quantum instruction set architecture (QISA) design may suffer from limited scalability and flexibility because of microarchitectural constraints. It is an open challenge to design a scalable and flexible QISA which provides a comprehensive abstraction of the quantum hardware. In this paper, we propose an executable QISA, called eQASM, that can be translated from quantum assembly language (QASM), supports comprehensive quantum program flow control, and is executed on a quantum control microarchitecture. With efficient timing specification, single-operation-multiple-qubit execution, and a very-long-instruction-word architecture, eQASM presents better scalability than QuMIS. The definition of eQASM focuses on the assembly level to be expressive. Quantum operations are configured at compile time instead of being defined at QISA design time. We instantiate eQASM into a 32-bit instruction set targeting a seven-qubit superconducting quantum processor. We validate our design by performing several experiments on a two-qubit quantum processor.
arXiv comment13 pages, 8 figures; added abstract, re-positioned figures
References in corpus (20)
- Quantum Computing in the NISQ era and beyond
- Surface codes: Towards practical large-scale quantum computation
- Quantum Error Correction for Quantum Memories
- Demonstration of Two-Qubit Algorithms with a Superconducting Quantum Processor
- Demonstration of a small programmable quantum computer with atomic qubits
- Robust randomized benchmarking of quantum processes
- A programmable two-qubit quantum processor in silicon
- Simulating chemistry using quantum computers
- Resource-Aware Quantum Programming with General Recursion and Quantum Control
- Repeated quantum error correction on a continuously encoded qubit by real-time feedback
- Concrete Categorical Model of a Quantum Circuit Description Language with Measurement
- Scalable quantum circuit and control for a superconducting surface code
- ScaffCC: Scalable Compilation and Analysis of Quantum Programs
- Investigating the limits of randomized benchmarking protocols
- Speedup for quantum optimal control from automatic differentiation based on graphics processing units
- An Experimental Microarchitecture for a Superconducting Quantum Processor
- Hardware for Dynamic Quantum Computing
- Active resonator reset in the nonlinear dispersive regime of circuit QED
- cQASM v1.0: Towards a Common Quantum Assembly Language
- Entanglement and Quantum Error Correction with Superconducting Qubits