arrow
Return

Extending C++ for Heterogeneous Quantum-Classical Computing

delete2021-07-09
delete16
delete
OA
AI
T
Thien Nguyen
A
Anthony Santana
D
Daniel Claudino
T
Tyler Kharazi
H
Hal Finkel
DOI:10.1145/3462670delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
We present qcor-a language extension to C++ and compiler implementation that enables heterogeneous quantum-classical programming, compilation, and execution in a single-source context. Our work provides a first-of-its-kind C++ compiler enabling high-level quantum kernel (function) expression in a quantum-language agnostic manner, as well as a hardware-agnostic, retargetable compiler workflow targeting a number of physical and virtual quantum computing backends. qcor leverages novel Clang plugin interfaces and builds upon the XACC system-level quantum programming framework to provide a state-of-the-art integration mechanism for quantum-classical compilation that leverages the best from the community at-large. qcor translates quantum kernels ultimately to the XACC intermediate representation, and provides user-extensible hooks for quantum compilation routines like circuit optimization, analysis, and placement. This work details the overall architecture and compiler workflow for qcor, and provides a number of illuminating programming examples demonstrating its utility for near-term variational tasks, quantum algorithm expression, and feed-forward error correction schemes.
Keywords:
Quantum computing
compilers
domain specific languages
quantum programming
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

A
ACM Transactions on Quantum Computing
IF:
6.8
Papers:
539
Citations:
508

Organization

U
united states department of energy (doe)
Scholars:
11.3W
Papers: 9.6W
Citations: 246
O
oak ridge national laboratory
Scholars:
1.4W
Papers: 1.0W
Citations: 20