Enabling Multi-threading in Heterogeneous Quantum-Classical Programming Models
Akihiro Hayashi, Austin Adams, Jeffrey Young, Alexander McCaskey,, Eugene Dumitrescu, Vivek Sarkar, Thomas M. Conte

TL;DR
This paper presents a method to enable multi-threading in quantum-classical programming models, improving resource utilization and performance for quantum simulations on heterogeneous platforms.
Contribution
We introduce C++-based parallel constructs in QCOR, enabling multi-threaded execution and addressing data races for better parallelism in quantum-classical systems.
Findings
Parallel execution of quantum kernels improves performance (up to 1.63x).
Multi-threading enhances scalability and resource utilization.
Preliminary results demonstrate effective parallelism on a Ryzen9 system.
Abstract
In this paper, we address some of the key limitations to realizing a generic heterogeneous parallel programming model for quantum-classical heterogeneous platforms. We discuss our experience in enabling user-level multi-threading in QCOR as well as challenges that need to be addressed for programming future quantum-classical systems. Specifically, we discuss our design and implementation of introducing C++-based parallel constructs to enable 1) parallel execution of a quantum kernel with std::thread and 2) asynchronous execution with std::async. To do so, we provide a detailed overview of the current implementation of the QCOR programming model and runtime, and discuss how we add 1) thread-safety to some of its user-facing API routines, and 2) increase parallelism in QCOR by removing data races that inhibit multi-threading so as to better utilize available computing resources. We also…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsQuantum Computing Algorithms and Architecture · Parallel Computing and Optimization Techniques · Quantum Information and Cryptography
