Enabling Multi-threading in Heterogeneous Quantum-Classical Programming Models
January 27, 2023 Β· Declared Dead Β· π IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum
"No code URL or promise found in abstract"
Evidence collected by the PWNC Scanner
Authors
Akihiro Hayashi, Austin Adams, Jeffrey Young, Alexander McCaskey, Eugene Dumitrescu, Vivek Sarkar, Thomas M. Conte
arXiv ID
2301.11559
Category
quant-ph: Quantum Computing
Cross-listed
cs.DC
Citations
4
Venue
IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum
Last Checked
5 months ago
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 present preliminary performance results with the Quantum++ back end on a single-node Ryzen9 3900X machine that has 12 physical cores (24 hardware threads) with 128GB of RAM. The results show that running two Bell kernels with 12 threads per kernel in parallel outperforms running the kernels one after the other each with 24 threads (1.63x improvement). In addition, we observe the same trend when running two Shor's algorthm kernels in parallel (1.22x faster than executing the kernels one after the other). Furthermore, the parallel version is better in terms of strong scalability. We believe that our design, implementation, and results will open up an opportunity not only for 1) enabling quicker prototyping of parallel/asynchrony-aware quantum-classical algorithms on quantum circuit simulators in the short-term, but also for 2) realizing a generic heterogeneous parallel programming model for quantum-classical heterogeneous platforms in the long-term.
Community Contributions
Found the code? Know the venue? Think something is wrong? Let us know!
π Similar Papers
In the same crypt β Quantum Computing
R.I.P.
π»
Ghosted
R.I.P.
π»
Ghosted
Quantum machine learning: a classical perspective
R.I.P.
π»
Ghosted
Noise-Adaptive Compiler Mappings for Noisy Intermediate-Scale Quantum Computers
R.I.P.
π»
Ghosted
ProjectQ: An Open Source Software Framework for Quantum Computing
R.I.P.
π»
Ghosted
Quantum Recommendation Systems
R.I.P.
π»
Ghosted
Traffic flow optimization using a quantum annealer
Died the same way β π» Ghosted
R.I.P.
π»
Ghosted
Federated Learning: Strategies for Improving Communication Efficiency
R.I.P.
π»
Ghosted
In-Datacenter Performance Analysis of a Tensor Processing Unit
R.I.P.
π»
Ghosted
Deep Convolutional Neural Networks for Computer-Aided Detection: CNN Architectures, Dataset Characteristics and Transfer Learning
R.I.P.
π»
Ghosted