Extending Python for Quantum-Classical Computing via Quantum
Just-in-Time Compilation
- URL: http://arxiv.org/abs/2105.04671v1
- Date: Mon, 10 May 2021 21:11:21 GMT
- Title: Extending Python for Quantum-Classical Computing via Quantum
Just-in-Time Compilation
- Authors: Thien Nguyen and Alexander J. McCaskey
- Abstract summary: 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.
- Score: 78.8942067357231
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Python is a popular programming language known for its flexibility,
usability, readability, and focus on developer productivity. The quantum
software community has adopted Python on a number of large-scale efforts due to
these characteristics, as well as the remote nature of near-term quantum
processors. The use of Python has enabled quick prototyping for quantum code
that directly benefits pertinent research and development efforts in quantum
scientific computing. However, this rapid prototyping ability comes at the cost
of future performant integration for tightly-coupled CPU-QPU architectures with
fast-feedback. Here we present a language extension to Python that enables
heterogeneous quantum-classical computing via a robust C++ infrastructure for
quantum just-in-time (QJIT) compilation. Our work builds off the QCOR C++
language extension and compiler infrastructure to enable a single-source,
quantum hardware-agnostic approach to quantum-classical computing that retains
the performance required for tightly coupled CPU-QPU compute models. We detail
this Pythonic extension, its programming model and underlying software
architecture, and provide a robust set of examples to demonstrate the utility
of our approach.
Related papers
- $Classi|Q\rangle$ Towards a Translation Framework To Bridge The Classical-Quantum Programming Gap [5.177070928114865]
$Classi|Qrangle$ is a framework to bridge Classical and Quantum Computing.
It translates high-level programming languages, e.g., Python or C++, into a low-level language, e.g., Quantum Assembly.
arXiv Detail & Related papers (2024-06-10T19:50:16Z) - Unleashing quantum algorithms with Qinterpreter: bridging the gap between theory and practice across leading quantum computing platforms [0.6465466167591405]
QInterpreter is a tool embedded in the Quantum Science Gateway QubitHub.
It translates seamlessly programs from one library to the other and visualizes the results.
arXiv Detail & Related papers (2023-10-11T03:45:11Z) - The QUATRO Application Suite: Quantum Computing for Models of Human
Cognition [49.038807589598285]
We unlock a new class of applications ripe for quantum computing research -- computational cognitive modeling.
We release QUATRO, a collection of quantum computing applications from cognitive models.
arXiv Detail & Related papers (2023-09-01T17:34:53Z) - Tangelo: An Open-source Python Package for End-to-end Chemistry
Workflows on Quantum Computers [85.21205677945196]
Tangelo is an open-source Python software package for the development of end-to-end chemistry on quantum computers.
It aims to support the design of successful experiments on quantum hardware, and to facilitate advances in quantum algorithm development.
arXiv Detail & Related papers (2022-06-24T17:44:00Z) - Quantum simulation with just-in-time compilation [0.0]
We present a first attempt to perform circuit-based quantum simulation using the just-in-time (JIT) compilation technique.
Qibojit is a new module for the Qibo quantum computing framework, which uses a just-in-time compilation approach through Python.
arXiv Detail & Related papers (2022-03-16T18:00:00Z) - 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) - Fast quantum circuit simulation using hardware accelerated general
purpose libraries [69.43216268165402]
CuPy is a general purpose library (linear algebra) developed specifically for GPU-based quantum circuits.
For supremacy circuits the speedup is around 2x, and for quantum multipliers almost 22x compared to state-of-the-art C++-based simulators.
arXiv Detail & Related papers (2021-06-26T10:41:43Z) - Extending C++ for Heterogeneous Quantum-Classical Computing [56.782064931823015]
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.
arXiv Detail & Related papers (2020-10-08T12:49:07Z)
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.