Loading...
Open-source practical intermediate representation for quantum and hybrid quantum algorithms
Ayaz, Hakan
Ayaz, Hakan
Citations
Altmetric:
Advisor
Editor
Date
Date Issued
2023
Date Submitted
Collections
Research Projects
Organizational Units
Journal Issue
Embargo Expires
Abstract
The current noisy intermediate-scale quantum (NISQ) era allows researchers to explore hybrid (quantum-classical) computing. Like classical computing, intermediate representations define an environment from the source code to the hardware back-end. Classical computing has different supporting toolchains for Windows, Linux, and Mac systems. Interoperability across the sets of quantum compiler toolchains would be better for everyone. The practical intermediate representation of quantum (PIRQ) project is taking early steps toward fully open-source intermediate representation methods for all classical, full quantum, and hybrid algorithm systems. We use hybrid quantum-classical algorithms such as Variational Quantum Eigen-solver (VQE) and a particular part of VQE, the Quantum Approximate Optimization Algorithm (QAOA). However, due to scattered compilation tools and asymmetric support, it is challenging to understand precisely how a hybrid quantum-classical algorithm is compiled, what that intermediate representation looks like, and how to run that intermediate representation on quantum/classical devices.
This thesis discusses my work as part of the QED-C PIRQ project in collaboration with Adin Gitig, Daniel Mendez and company indivuduals feedbacks from Zapata, Quantiniuum, Microsoft, Ionq, and Quantum Circuits. The PIRQ aims to research useful quantum intermediate representation and current implementations. I’ve been working on this project actively since March. According to the goal of PIRQ, we developed an educational resource: a GitHub repository of compilation steps through the current hybrid quantum-classical compilation ecosystem. The educational repository is structured in modules, each introducing an aspect of compilation. The tutorials include examples in Open QASM, QIR, Q#, and python frameworks such as Qiskit. Topics include transpilation and optimization for quantum hardware and generating LLVM IR for quantum algorithms using QCOR. Module 1 is a condensed introduction to a standard classical compilation step in the classical compilation. Module 2 dives into tutorials centered around the IR for quantum algorithms to understand what would enable a practical IR for quantum algorithms in quantum devices. In module 3, we explore the emerging frontier of hybrid quantum-classical compilation. We are exploring five methods to create a hybrid intermediate representation: pyQIR, Rust implementation, QCOR implementation, Q#, and Intel quantum SDK. We hope these modules will motivate the community to contribute to more tutorials and develop hybrid quantum- classical compilation as a critical building block for PIRQ. In this thesis, only two of these methods are used because other projects are still under construction to be open-source.
Associated Publications
Rights
Copyright of the original work is retained by the author.