An updated LLVM-based quantum research compiler with further OpenQASM support
Open Access
- 22 April 2020
- journal article
- research article
- Published by IOP Publishing in Quantum Science and Technology
- Vol. 5 (3), 034013
- https://doi.org/10.1088/2058-9565/ab8c2c
Abstract
Quantum computing is a rapidly growing field with the potential to change how we solve previously intractable problems. Emerging hardware is approaching a complexity that requires increasingly sophisticated programming and control. Scaffold is an older quantum programming language that was originally designed for resource estimation for far-future, large quantum machines, and ScaffCC is the LLVM-based compiler for it. For the first time, we provide a full and complete overview of the language itself, the compiler as well as its pass structure. While previous works, have piecemeal descriptions of different portions of this toolchain, we provide a more full and complete description in this paper. We also introduce updates to ScaffCC including conditional measurement and multidimensional qubit arrays designed to keep in step with modern quantum assembly languages, as well as an alternate toolchain targeted at maintaining correctness and low resource count for Noisy-Intermediate Scale Quantum (NISQ) machines, and compatibility with current versions of LLVM and Clang. Our goal is to provide the research community with a functional LLVM framework for quantum program analysis, optimization, and generation of executable code.Funding Information
- Division of Physics (1818914)
- Division of Computing and Communication Foundations (1730082 1730449)
- Office of Science (0020289 0020331)
This publication has 13 references indexed in Scilit:
- Noise-Adaptive Compiler Mappings for Noisy Intermediate-Scale Quantum ComputersPublished by Association for Computing Machinery (ACM) ,2019
- Optimized Compilation of Aggregated Instructions for Realistic Quantum ComputersPublished by Association for Computing Machinery (ACM) ,2019
- Formal constraint-based compilation for noisy intermediate-scale quantum systemsMicroprocessors and Microsystems, 2019
- Quantum Computing in the NISQ era and beyondQuantum, 2018
- Q#Published by Association for Computing Machinery (ACM) ,2018
- Programming languages and compiler design for realistic quantum hardwareNature, 2017
- Experimental comparison of two quantum computing architecturesProceedings of the National Academy of Sciences of the United States of America, 2017
- ScaffCC: Scalable compilation and analysis of quantum programsParallel Computing, 2015
- QuipperPublished by Association for Computing Machinery (ACM) ,2013
- LLVM: A compilation framework for lifelong program analysis & transformationPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2004