Affiliation:
1. Computer Science and Mathematics Division, Oak Ridge National Laboratory, Oak Ridge, TN, USA
Abstract
Python is a popular programming language known for its flexibility, usability, readability, and focus on developer productivity. The quantum software community has adopted Python on a number of large-scale efforts due to these characteristics, as well as the remote nature of near-term quantum processors. The use of Python has enabled quick prototyping for quantum code that directly benefits pertinent research and development efforts in quantum scientific computing. However, this rapid prototyping ability comes at the cost of future performant integration for tightly coupled CPU-QPU architectures with fast-feedback. Here, we present a language extension to Python that enables heterogeneous quantum-classical computing via a robust C++ infrastructure for quantum just-in-time (QJIT) compilation. Our work builds off the QCOR C++ language extension and compiler infrastructure to enable a single-source, quantum hardware-agnostic approach to quantum-classical computing that retains the performance required for tightly coupled CPU-QPU compute models. We detail this Python extension, its programming model and underlying software architecture, and provide a robust set of examples to demonstrate the utility of our approach.
Funder
US Department of Energy (DOE) Office of Science Advanced Scientific Computing Research (ASCR) Accelerated Research in Quantum Computing (ARQC) and Quantum Computing Application Teams
DOE Office of Science User Facility
UT-Battelle, LLC
U.S. Department of Energy
Publisher
Association for Computing Machinery (ACM)
Reference36 articles.
1. Oak Ridge National Laboratory Quantum Computing Institut. 2022. ExaTN-Exascale Tensor Networks. Retrieved from https://github.com/ORNL-QCI/exatn.
2. QCOR;Alliance QIR;Retrieved from https://github.com/qir-alliance/qcor,2022
3. Quantum supremacy using a programmable superconducting processor
4. Logical Reversibility of Computation