Unitary Expressions: A Necessary Abstraction for Extensible Quantum Programming Languages and Systems
- URL: http://arxiv.org/abs/2501.09667v1
- Date: Thu, 16 Jan 2025 17:05:41 GMT
- Title: Unitary Expressions: A Necessary Abstraction for Extensible Quantum Programming Languages and Systems
- Authors: Ed Younis,
- Abstract summary: We introduce the OpenQudit system for describing, parsing, optimizing, analyzing, and utilizing programs comprising gates described as symbolic unitary expressions.
QGL is a unitary-specific expression language, and implement a differentiating just-in-time compiler in OpenQudit.
Our QVM can compute approximately ten times faster than current leading numerical quantum compilation frameworks.
- Score: 0.21756081703276003
- License:
- Abstract: Quantum gates are the fundamental instructions of digital quantum computers. Current programming languages, systems, and software development toolkits identify these operational gates by their titles, which requires a shared understanding of their meanings. However, in the continuously developing software ecosystem surrounding quantum computing -- spanning high-level programming systems to low-level control stacks -- this identification process is often error-prone, challenging to debug, maintenance-heavy, and resistant to change. In this paper, we propose replacing this nominal gate representation with a functional one. We introduce the OpenQudit system for describing, parsing, optimizing, analyzing, and utilizing programs comprising gates described as symbolic unitary expressions. As part of this effort, we design the Qudit Gate Language (QGL), a unitary-specific expression language, and implement a differentiating just-in-time compiler in OpenQudit towards embedding this language in quantum programming languages and systems. Additionally, we have precisely designed and implemented the Qudit Virtual Machine (QVM) to evaluate quantum programs and their gradients efficiently. This evaluation is performed millions of times during the compilation of quantum programs. Our QVM can compute gradients approximately ten times faster than current leading numerical quantum compilation frameworks in the most common use cases. Altogether, the OpenQudit system is envisioned to (1) support many-level or qudit-based quantum systems, (2) enable the safe composition of program transformation tools, (3) accelerate circuit optimizers and transpilers, (4) enable compiler extensibility, and (5) provide a productive, simple-to-use interface to quantum practitioners.
Related papers
- QADL: Prototype of Quantum Architecture Description Language [5.032368657209642]
Quantum Software (QSW) uses the principles of quantum mechanics, specifically programming quantum bits (qubits) that manipulate quantum gates, to implement quantum computing systems.
We introduce QADL (Quantum Architecture Language), which provides a specification language, design space, and execution environment for QSW architecture.
arXiv Detail & Related papers (2024-10-13T19:09:38Z) - Qrisp: A Framework for Compilable High-Level Programming of Gate-Based Quantum Computers [0.52197339162908]
We introduce Qrisp, a framework designed to bridge several gaps between high-level programming paradigms and quantum hardware.
Qrisp's standout feature is its ability to compile programs to the circuit level, making them executable on most existing physical backends.
arXiv Detail & Related papers (2024-06-20T23:40:22Z) - Quantum Compiling with Reinforcement Learning on a Superconducting Processor [55.135709564322624]
We develop a reinforcement learning-based quantum compiler for a superconducting processor.
We demonstrate its capability of discovering novel and hardware-amenable circuits with short lengths.
Our study exemplifies the codesign of the software with hardware for efficient quantum compilation.
arXiv Detail & Related papers (2024-06-18T01:49:48Z) - Qwerty: A Basis-Oriented Quantum Programming Language [0.4999814847776098]
We present Qwerty, a new quantum programming language that allows programmers to manipulate qubits more expressively than gates.
Qwerty is a powerful framework for high-level quantum-classical computation.
arXiv Detail & Related papers (2024-04-19T03:13:43Z) - The Basis of Design Tools for Quantum Computing: Arrays, Decision
Diagrams, Tensor Networks, and ZX-Calculus [55.58528469973086]
Quantum computers promise to efficiently solve important problems classical computers never will.
A fully automated quantum software stack needs to be developed.
This work provides a look "under the hood" of today's tools and showcases how these means are utilized in them, e.g., for simulation, compilation, and verification of quantum circuits.
arXiv Detail & Related papers (2023-01-10T19:00:00Z) - 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) - 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) - OpenQASM 3: A broader and deeper quantum assembly language [1.1532193677299474]
Quantum assembly languages are machine-independent languages that traditionally describe quantum computation in the circuit model.
OpenQASM 2 was proposed as an imperative programming language for quantum circuits based on earlier QASM dialects.
In principle, any quantum computation could be described using OpenQASM 2, but there is a need to describe a broader set of circuits beyond the language of qubits and gates.
arXiv Detail & Related papers (2021-04-30T01:57:53Z) - 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 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) - Quingo: A Programming Framework for Heterogeneous Quantum-Classical
Computing with NISQ Features [0.0]
We propose the Quingo framework to integrate and manage quantum-classical software and hardware to provide the programmability over HQCC applications.
We also propose the Quingo programming language, an external domain-specific language highlighting timer-based timing control and opaque operation definition.
arXiv Detail & Related papers (2020-09-02T06:42:51Z)
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.