Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Log inSign up
Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Blog
Job Board
Q3AS

© 2026 Aqora Quantum S.A.S.

TermsPrivacyLegal Notice

Elsevier eBooks

Parallel quantum programs

Mingsheng Ying

Published Jan 1, 2024• 0 citations
Publisher
DOI
10.1016/b978-0-44-315942-8.00021-6

Related papers

Reasoning about Parallel Quantum Programs

Mingsheng Ying, Li Zhou, Yangjia Li

We initiate the study of parallel quantum programming by defining the operational and denotational semantics of parallel quantum programs. The technical contributions of this paper include: (1) find a series of useful proof rules for reasoning about correctness of parallel quantum programs; (2) prove a (relative) completeness of our proof rules for partial correctness of disjoint parallel quantum programs; and (3) prove a strong soundness theorem of the proof rules showing that partial correctness is well maintained at each step of transitions in the operational semantics of a general parallel quantum program (with shared variables). This is achieved by partially overcoming the following conceptual challenges that are never present in classical parallel programming: (i) the intertwining of nondeterminism caused by quantum measurements and introduced by parallelism; (ii) entanglement between component quantum programs; and (iii) combining quantum predicates in the overlap of state Hilbert spaces of component quantum programs with shared variables. Applications of the techniques developed in this paper are illustrated by a formal verification of Bravyi-Gosset-König's parallel quantum algorithm solving a linear algebra problem, which gives for the first time an unconditional proof of a computational quantum advantage.

arXiv:1810.11334•Oct 26, 2018•8 citations

Distributed quantum programs

Mingsheng Ying

Elsevier eBooks•Jan 1, 2024•0 citations

Parallel Environment for Quantum Computing

Frank Tabakin A, Bruno Julia Diaz

Bulletin of the American Physical Society•Mar 19, 2009•0 citations

Modelling Parallel Quantum Computing Using Transactional Memory

Juliana Kaizer Vizzotto, André Rauber Du Bois

We propose a model for parallel quantum computing in a single ensemble quantum computer using Haskell's software transaction memory. The parallel ensemble quantum computer possesses, besides quantum parallelism, a kind of classical single-instruction-multiple-data parallelism. It explores additional speedup by making quantum computers working in parallel, as in classical computation. The whole state is prepared in such a way a subset of qubits is in a mixed state representing the communicating quantum computers while the other qubits in pure state are the proper argument registers of each quantum computer. Essentially, this particular way of structuring the state of the parallel quantum computer fits with what is well know as multithreading programming. Software transactional memory is a promising new approach to programming shared-memory parallel programs. The functional programming language Haskell elegantly implements this abstraction for concurrent communication.

Electronic Notes in Theoretical Computer Science•Feb 1, 2011•2 citations

Enabling Multi-threading in Heterogeneous Quantum-Classical Programming Models

Akihiro Hayashi, Austin S. Adams, Jeffrey Young +4 more

While quantum computers enable significant performance improvements for certain classes of applications, building a well-defined programming model has been a pressing issue. 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 [1] 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++ [2] 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.63× improvement). In addition, we observe the same trend when running two Shor’s algorthm kernels in parallel (1.22× 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-aware quantum-classical algorithms on quantum circuit simulators in the short-term, but also for 2) realizing a generic parallel programming model for quantum-classical heterogeneous platforms in the long-term.

arXiv:2301.11559•IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum•May 1, 2023•5 citations

Distributed Quantum Programming

Ellie D’Hondt, Yves Vandriessche

Lecture notes in computer science•Jan 1, 2009•0 citations
We initiate the study of parallel quantum programming by defining the operational and denotational semantics of parallel quantum programs. The technical contributions of this paper include: (1) find a series of useful proof rules for reasoning about correctness of parallel quantum programs; (2) prove a (relative) completeness of our proof rules for partial correctness of disjoint parallel quantum programs; and (3) prove a strong soundness theorem of the proof rules showing that partial correctness is well maintained at each step of transitions in the operational semantics of a general parallel quantum program (with shared variables). This is achieved by partially overcoming the following conceptual challenges that are never present in classical parallel programming: (i) the intertwining of nondeterminism caused by quantum measurements and introduced by parallelism; (ii) entanglement between component quantum programs; and (iii) combining quantum predicates in the overlap of state Hilbert spaces of component quantum programs with shared variables. Applications of the techniques developed in this paper are illustrated by a formal verification of Bravyi-Gosset-König's parallel quantum algorithm solving a linear algebra problem, which gives for the first time an unconditional proof of a computational quantum advantage.
We propose a model for parallel quantum computing in a single ensemble quantum computer using Haskell's software transaction memory. The parallel ensemble quantum computer possesses, besides quantum parallelism, a kind of classical single-instruction-multiple-data parallelism. It explores additional speedup by making quantum computers working in parallel, as in classical computation. The whole state is prepared in such a way a subset of qubits is in a mixed state representing the communicating quantum computers while the other qubits in pure state are the proper argument registers of each quantum computer. Essentially, this particular way of structuring the state of the parallel quantum computer fits with what is well know as multithreading programming. Software transactional memory is a promising new approach to programming shared-memory parallel programs. The functional programming language Haskell elegantly implements this abstraction for concurrent communication.
While quantum computers enable significant performance improvements for certain classes of applications, building a well-defined programming model has been a pressing issue. 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 [1] 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++ [2] 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.63× improvement). In addition, we observe the same trend when running two Shor’s algorthm kernels in parallel (1.22× 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-aware quantum-classical algorithms on quantum circuit simulators in the short-term, but also for 2) realizing a generic parallel programming model for quantum-classical heterogeneous platforms in the long-term.