QCOR: A Language Extension Specification for the Heterogeneous Quantum-Classical Model of Computation
arXiv:1909.02457
Abstract
Quantum computing is an emerging computational paradigm that leverages the laws of quantum mechanics to perform elementary logic operations. Existing programming models for quantum computing were designed with fault-tolerant hardware in mind, envisioning standalone applications. However, near-term quantum computers are susceptible to noise which limits their standalone utility. To better leverage limited computational strengths of noisy quantum devices, hybrid algorithms have been suggested whereby quantum computers are used in tandem with their classical counterparts in a heterogeneous fashion. This {\it modus operandi} calls out for a programming model and a high-level programming language that natively and seamlessly supports heterogeneous quantum-classical hardware architectures in a single-source-code paradigm. Motivated by the lack of such a model, we introduce a language extension specification, called QCOR, that enables single-source quantum-classical programming. Programs written using the QCOR library and directives based language extensions can be compiled to produce functional hybrid binary executables. After defining the QCOR's programming model, memory model, and execution model, we discuss how QCOR enables variational, iterative, and feed forward quantum computing. QCOR approaches quantum-classical computation in a hardware-agnostic heterogeneous fashion and strives to build on best practices of high performance computing (HPC). The high level of abstraction in the developed language is intended to accelerate the adoption of quantum computing by researchers familiar with classical HPC.
References in corpus (23)
- Quantum Computing in the NISQ era and beyond
- A variational eigenvalue solver on a quantum processor
- Hardware-efficient Variational Quantum Eigensolver for Small Molecules and Quantum Magnets
- Barren plateaus in quantum neural network training landscapes
- The theory of variational hybrid quantum-classical algorithms
- A Quantum Approximate Optimization Algorithm
- Error mitigation for short-depth quantum circuits
- Towards Quantum Chemistry on a Quantum Computer
- Robust determination of molecular spectra on a quantum processor
- Quantum-Classical Computation of Schwinger Model Dynamics using Quantum Computers
- Cloud Quantum Computing of an Atomic Nucleus
- A generative modeling approach for benchmarking and training shallow quantum circuits
- Strawberry Fields: A Software Platform for Photonic Quantum Computing
- Resource-Aware Quantum Programming with General Recursion and Quantum Control
- Hybrid Quantum-Classical Approach to Quantum Optimal Control
- Opportunities and challenges for quantum-assisted machine learning in near-term quantum computers
- Experimental Quantum Hamiltonian Learning
- Hybrid quantum-classical approach to correlated materials
- Concrete Categorical Model of a Quantum Circuit Description Language with Measurement
- Unsupervised Machine Learning on a Hybrid Quantum Computer
- Experimental Bayesian Quantum Phase Estimation on a Silicon Photonic Chip
- Qiskit Backend Specifications for OpenQASM and OpenPulse Experiments
- An Introduction to Quantum Programming in Quipper