Extending C++ for Heterogeneous Quantum-Classical Computing
- URL: http://arxiv.org/abs/2010.03935v1
- Date: Thu, 8 Oct 2020 12:49:07 GMT
- Title: Extending C++ for Heterogeneous Quantum-Classical Computing
- Authors: Thien Nguyen, Anthony Santana, Tyler Kharazi, Daniel Claudino, Hal
Finkel, Alexander McCaskey
- Abstract summary: qcor is 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 manner.
- Score: 56.782064931823015
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: 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.
Related papers
- Compiler Optimization for Quantum Computing Using Reinforcement Learning [3.610459670994051]
We propose a reinforcement learning framework for developing optimized quantum circuit compilation flows.
The proposed framework is set up with a selection of compilation passes from IBM's Qiskit and Quantinuum's TKET.
It significantly outperforms both individual compilers in 73% of cases regarding the expected fidelity.
arXiv Detail & Related papers (2022-12-08T19:00:01Z) - QParallel: Explicit Parallelism for Programming Quantum Computers [62.10004571940546]
We present a language extension for parallel quantum programming.
QParallel removes ambiguities concerning parallelism in current quantum programming languages.
We introduce a tool that guides programmers in the placement of parallel regions by identifying the subroutines that profit most from parallelization.
arXiv Detail & Related papers (2022-10-07T16:35:16Z) - Arline Benchmarks: Automated Benchmarking Platform for Quantum Compilers [0.0]
Open-source software package, Arline Benchmarks, is designed to perform automated benchmarking of quantum compilers.
We compare several quantum compilation frameworks based on a set of important metrics.
We propose a concept of composite compilation pipeline that combines compiler-specific circuit optimizations in a single compilation stack.
arXiv Detail & Related papers (2022-02-28T18:48:01Z) - An LLVM-based C++ Compiler Toolchain for Variational Hybrid
Quantum-Classical Algorithms and Quantum Accelerators [0.8323133408188051]
This paper presents an LLVM-based C++ compiler toolchain to efficiently execute variational hybrid quantum-classical algorithms.
We introduce a set of extensions to the C++ language for programming these algorithms.
We evaluate the framework's performance by running quantum circuits that prepare Thermofield Double (TFD) states.
arXiv Detail & Related papers (2022-02-22T19:32:50Z) - Enabling Retargetable Optimizing Compilers for Quantum Accelerators via
a Multi-Level Intermediate Representation [78.8942067357231]
We present a multi-level quantum-classical intermediate representation (IR) that enables an optimizing, retargetable, ahead-of-time compiler.
We support the entire gate-based OpenQASM 3 language and provide custom extensions for common quantum programming patterns and improved syntax.
Our work results in compile times that are 1000x faster than standard Pythonic approaches, and 5-10x faster than comparative standalone quantum language compilers.
arXiv Detail & Related papers (2021-09-01T17:29:47Z) - Extending Python for Quantum-Classical Computing via Quantum
Just-in-Time Compilation [78.8942067357231]
Python is a popular programming language known for its flexibility, usability, readability, and focus on developer productivity.
We present a language extension to Python that enables heterogeneous quantum-classical computing via a robust C++ infrastructure for quantum just-in-time compilation.
arXiv Detail & Related papers (2021-05-10T21:11:21Z) - A MLIR Dialect for Quantum Assembly Languages [78.8942067357231]
We demonstrate the utility of the Multi-Level Intermediate Representation (MLIR) for quantum computing.
We extend MLIR with a new quantum dialect that enables the expression and compilation of common quantum assembly languages.
We leverage a qcor-enabled implementation of the QIR quantum runtime API to enable a retargetable (quantum hardware agnostic) compiler workflow.
arXiv Detail & Related papers (2021-01-27T13:00:39Z) - Extending XACC for Quantum Optimal Control [70.19683407682642]
Quantum computing vendors are beginning to open up application programming for direct pulse-level quantum control.
We present an extension to the XACC system-level quantum-classical software framework.
This extension enables the translation of digital quantum circuit representations to equivalent pulse sequences.
arXiv Detail & Related papers (2020-06-04T13:13:55Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.