Enabling Dataflow Optimization for Quantum Programs
arXiv:2101.11030 · doi:10.1145/3491247
Abstract
We propose an IR for quantum computing that directly exposes quantum and classical data dependencies for the purpose of optimization. The Quantum Intermediate Representation for Optimization (QIRO) consists of two dialects, one input dialect and one that is specifically tailored to enable quantum-classical co-optimization. While the first employs a perhaps more intuitive memory-semantics (quantum operations act as side-effects), the latter uses value-semantics (operations consume and produce states). Crucially, this encodes the dataflow directly in the IR, allowing for a host of optimizations that leverage dataflow analysis. We discuss how to map existing quantum programming languages to the input dialect and how to lower the resulting IR to the optimization dialect. We present a prototype implementation based on MLIR that includes several quantum-specific optimization passes. Our benchmarks show that significant improvements in resource requirements are possible even through static optimization. In contrast to circuit optimization at run time, this is achieved while incurring only a small constant overhead in compilation time, making this a compelling approach for quantum program optimization at application scale.
arXiv comment15 pages, 7 figures, 4 tables. To be published in ACM Transactions on Quantum Computing - Special Issue on Software Tools for Quantum Computing
References in corpus (14)
- Quantum Computing in the NISQ era and beyond
- Elucidating Reaction Mechanisms on Quantum Computers
- A meet-in-the-middle algorithm for fast synthesis of depth-optimal quantum circuits
- ProjectQ: An Open Source Software Framework for Quantum Computing
- Strawberry Fields: A Software Platform for Photonic Quantum Computing
- Polynomial-time T-depth Optimization of Clifford+T circuits via Matroid Partitioning
- Quantum computing enhanced computational catalysis
- Q#: Enabling scalable quantum computing and development with a high-level domain-specific language
- Automated optimization of large quantum circuits with continuous parameters
- Quantum Circuits for Isometries
- A Software Methodology for Compiling Quantum Programs
- Exact synthesis of single-qubit unitaries over Clifford-cyclotomic gate sets
- Assertion-Based Optimization of Quantum Programs
- Enabling Accuracy-Aware Quantum Compilers using Symbolic Resource Estimation
Cited by in corpus (7)
- Distributed Quantum Computing: a Survey
- Review of Distributed Quantum Computing. From single QPU to High Performance Quantum Computing
- QFaaS: A Serverless Function-as-a-Service Framework for Quantum Computing
- The T-Complexity Costs of Error Correction for Control Flow in Quantum Computation
- Linear and non-linear relational analyses for Quantum Program Optimization
- The MQT Compiler Collection: A Blueprint for a Future-Proof Quantum-Classical Compilation Framework
- QSSA: An SSA-based IR for Quantum Computing