ScaffCC: Scalable Compilation and Analysis of Quantum Programs
arXiv:1507.01902 · doi:10.1016/j.parco.2014.12.001
Abstract
We present ScaffCC, a scalable compilation and analysis framework based on LLVM, which can be used for compiling quantum computing applications at the logical level. Drawing upon mature compiler technologies, we discuss similarities and differences between compilation of classical and quantum programs, and adapt our methods to optimizing the compilation time and output for the quantum case. Our work also integrates a reversible-logic synthesis tool in the compiler to facilitate coding of quantum circuits. Lastly, we present some useful quantum program analysis scenarios and discuss their implications, specifically with an elaborate discussion of timing analysis for critical path estimation. Our work focuses on bridging the gap between high-level quantum algorithm specifi- cations and low-level physical implementations, while providing good scalability to larger and more interesting problems
Journal of Parallel Computing (PARCO)
References in corpus (8)
- Surface codes: Towards practical large-scale quantum computation
- Exponential algorithmic speedup by quantum walk
- On the role of entanglement in quantum computational speed-up
- Simulation of Electronic Structure Hamiltonians Using Quantum Computers
- Quantum codes on a lattice with boundary
- A new quantum ripple-carry addition circuit
- Quantum entanglement analysis based on abstract interpretation
- A logical analysis of entanglement and separability in quantum higher-order functions
Cited by in corpus (51)
- tket : A Retargetable Compiler for NISQ Devices
- Strawberry Fields: A Software Platform for Photonic Quantum Computing
- Concrete Categorical Model of a Quantum Circuit Description Language with Measurement
- Q#: Enabling scalable quantum computing and development with a high-level domain-specific language
- The Bitter Truth About Quantum Algorithms in the NISQ Era
- On the impact of quantum computing technology on future developments in high-performance scientific computing
- Full-State Quantum Circuit Simulation by Using Data Compression
- Quantum Software Engineering: Landscapes and Horizons
- Recent advances for quantum classifiers
- An Experimental Microarchitecture for a Superconducting Quantum Processor
- staq -- A full-stack quantum processing toolkit
- Pulse-level noisy quantum circuits with QuTiP
- Quantum Neural Network Classifiers: A Tutorial
- A Case for Variability-Aware Policies for NISQ-Era Quantum Computers
- Application-Motivated, Holistic Benchmarking of a Full Quantum Computing Stack
- Generative machine learning with tensor networks: benchmarks on near-term quantum computers
- cQASM v1.0: Towards a Common Quantum Assembly Language
- Hybrid Oscillator-Qubit Quantum Processors: Instruction Set Architectures, Abstract Machine Models, and Applications
- Toward Automatic Verification of Quantum Programs
- Orchestrated Trios: Compiling for Efficient Communication in Quantum Programs with 3-Qubit Gates
- Quantum circuit synthesis using Householder transformations
- Integration of Quantum Accelerators with High Performance Computing -- A Review of Quantum Programming Tools
- Sample-efficient verification of continuously-parameterized quantum gates for small quantum processors
- QGo: Scalable Quantum Circuit Optimization Using Automated Synthesis
- Distributed Quantum Computing with QMPI
- Integrated Analysis of Performance and Resource of Large-Scale Quantum Computing
- Deterministic Algorithms for Compiling Quantum Circuits with Recurrent Patterns
- Formal Methods for Quantum Programs: A Survey
- Graph Optimization Perspective for Low-Depth Trotter-Suzuki Decomposition
- Enhancing a Near-Term Quantum Accelerator's Instruction Set Architecture for Materials Science Applications
- eQASM: An Executable Quantum Instruction Set Architecture
- Initial-State Dependent Optimization of Controlled Gate Operations with Quantum Computer
- Exploring a Double Full-Stack Communications-Enabled Architecture for Multi-Core Quantum Computers
- Extending C++ for Heterogeneous Quantum-Classical Computing
- Sized Types for low-level Quantum Metaprogramming
- Quantum compiling with a variational instruction set for accurate and fast quantum computing
- : A Quantum Programming Environment
- Systematic many-fermion Hamiltonian input scheme and spectral calculations on quantum computers
- TILT: Achieving Higher Fidelity on a Trapped-Ion Linear-Tape Quantum Computing Architecture
- Gleipnir: Toward Practical Error Analysis for Quantum Programs (Extended Version)
- Towards Efficient Superconducting Quantum Processor Architecture Design
- Qurts: Automatic Quantum Uncomputation by Affine Types with Lifetime
- Stochastic search for approximate compilation of unitaries
- Exploring the Impact of Affine Loop Transformations in Qubit Allocation
- AccQOC: Accelerating Quantum Optimal Control Based Pulse Generation
- Quantum Gate Pattern Recognition and Circuit Optimization for Scientific Applications
- Classical and Quantum Data Interaction in Programming Languages: A Runtime Architecture
- Enabling Retargetable Optimizing Compilers for Quantum Accelerators via a Multi-Level Intermediate Representation
- A Hamiltonian-Level Certificate for Network-Free Distributed Quantum Simulation:Exact Tensor-Separability Criterion and Approximate Residual Bounds
- Noise-Aware Circuit Compilations for a Continuously Parameterized Two-Qubit Gateset
- Hierarchical System Mapping for Large-Scale Fault-Tolerant Quantum Computing