論文の概要: Enabling Multi-threading in Heterogeneous Quantum-Classical Programming
Models
- arxiv url: http://arxiv.org/abs/2301.11559v1
- Date: Fri, 27 Jan 2023 06:48:37 GMT
- ステータス: 処理完了
- システム内更新日: 2023-01-30 16:12:15.350260
- Title: Enabling Multi-threading in Heterogeneous Quantum-Classical Programming
Models
- Title(参考訳): 不均一量子古典計画モデルにおけるマルチスレッドの実現
- Authors: Akihiro Hayashi, Austin Adams, Jeffrey Young, Alexander McCaskey,
Eugene Dumitrescu, Vivek Sarkar, Thomas M. Conte
- Abstract要約: 量子カーネルの並列実行を可能にするために,C++ベースの並列コンストラクトを導入する。
予備的な性能の結果は、カーネル毎に12スレッドのベルカーネルを2回実行し、カーネルを次々に実行する並列性能が向上したことを示している。
- 参考スコア(独自算出の注目度): 53.937052213390736
- License: http://creativecommons.org/licenses/by/4.0/
- 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). It is worth noting that the
trends remain the same even when we only use physical cores instead of threads.
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.
- Abstract(参考訳): 本稿では,量子古典的ヘテロジニアスプラットフォームのための汎用的ヘテロジニアス並列プログラミングモデルを実現するための鍵となる制約について述べる。
我々は、qcorでユーザレベルのマルチスレッドを可能にすることの経験と、将来の量子古典システムプログラミングのために対処すべき課題について論じる。
具体的には、C++ベースの並列構造を導入して実現するための設計と実装について論じる。
1) std::thread を用いた量子カーネルの並列実行
2) std::asyncによる非同期実行。
そのために、QCORプログラミングモデルとランタイムの現在の実装の概要を説明し、どのように追加するかを議論する。
1)一部のユーザ対応apiルーチンに対するスレッドセーフ性,および
2)QCORの並列性を高めるために,マルチスレッドを阻害するデータ競合を除去し,利用可能な計算資源をより活用する。
また、128GBのRAMを持つ12の物理コア(24のハードウェアスレッド)を持つシングルノードのRyzen9 3900Xマシン上でQuantum++バックエンドの予備的なパフォーマンス結果を示す。
その結果、ベルカーネルを2つ実行し、カーネルごとに12スレッドずつ並列に実行し、24スレッド(1.63倍の改善)でカーネルを1つずつ実行した。
さらに、2つのshorのalgorthmカーネルを並列に実行する(カーネルの実行を次々に実行するよりも1.22倍速い)場合も同様の傾向を観測する。
スレッドの代わりに物理コアのみを使用する場合でも、トレンドは変わらない点に注意が必要だ。
私たちは、設計、実装、そして結果が、単に目的だけでなく機会を開くと信じています。
1) 量子回路シミュレータ上での並列・非同期性を考慮した量子古典アルゴリズムの高速プロトタイピングの実現
2) 量子古典的ヘテロジニアスプラットフォームのための汎用的ヘテロジニアス・並列プログラミングモデルの実現。
関連論文リスト
- Specx: a C++ task-based runtime system for heterogeneous distributed architectures [0.0]
Specxは、C++で書かれたタスクベースのランタイムシステムである。
現代のC++で記述されたタスクベースのランタイムシステムであるSpecxを紹介する。
論文 参考訳(メタデータ) (2023-08-30T11:41:30Z) - QParallel: Explicit Parallelism for Programming Quantum Computers [62.10004571940546]
並列量子プログラミングのための言語拡張を提案する。
QParallelは、現在の量子プログラミング言語における並列性に関する曖昧さを取り除く。
並列化によって最も利益を上げるサブルーチンを識別し,並列領域の配置にプログラマを誘導するツールを提案する。
論文 参考訳(メタデータ) (2022-10-07T16:35:16Z) - How Parallel Circuit Execution Can Be Useful for NISQ Computing? [0.0]
量子コンピューティングは、短期間にノイズ中間スケール量子(NISQ)ハードウェア上で実行される。
NISQデバイス上の不可避ノイズ量子演算のため、小さな回路のみが確実に量子マシン上で実行される。
ハードウェア上で複数のプログラムを同時に実行する並列回路実行手法が提案されている。
論文 参考訳(メタデータ) (2021-12-01T10:12:35Z) - Fast quantum circuit simulation using hardware accelerated general
purpose libraries [69.43216268165402]
CuPyは、GPUベースの量子回路向けに開発された汎用ライブラリ(線形代数)である。
上位回路の場合、スピードアップは約2倍、量子乗算器の場合、最先端のC++ベースのシミュレータと比べて約22倍である。
論文 参考訳(メタデータ) (2021-06-26T10:41:43Z) - Accelerating variational quantum algorithms with multiple quantum
processors [78.36566711543476]
変分量子アルゴリズム(VQA)は、特定の計算上の利点を得るために、短期量子マシンを利用する可能性がある。
現代のVQAは、巨大なデータを扱うために単独の量子プロセッサを使用するという伝統によって妨げられている、計算上のオーバーヘッドに悩まされている。
ここでは、この問題に対処するため、効率的な分散最適化手法であるQUDIOを考案する。
論文 参考訳(メタデータ) (2021-06-24T08:18:42Z) - Extending C++ for Heterogeneous Quantum-Classical Computing [56.782064931823015]
qcorはC++とコンパイラの実装の言語拡張で、異種量子古典プログラミング、コンパイル、単一ソースコンテキストでの実行を可能にする。
我々の研究は、量子言語で高レベルな量子カーネル(関数)を表現できる、第一種C++コンパイラを提供する。
論文 参考訳(メタデータ) (2020-10-08T12:49:07Z) - Multi-threaded Memory Efficient Crossover in C++ for Generational
Genetic Programming [0.0]
遺伝的プログラミングのためのマルチコア並列メモリ効率クロスオーバーからのC++スニペットが提供される。
大きな染色体または小さなRAMが同時にM+(2倍のnthreads)しか必要としない、別世代進化のアルゴリズムに適応することができる。
論文 参考訳(メタデータ) (2020-09-22T11:32:20Z) - Quantum Fan-out: Circuit Optimizations and Technology Modeling [3.4827330067784295]
NISQワークロードの回路合成を最適化するために,同時ファンアウトプリミティブを導入する。
ファンアウトに基づく新しい量子メモリアーキテクチャも導入する。
超伝導量子ビットを用いたファンアウトの概念実証実験を行った。
論文 参考訳(メタデータ) (2020-07-08T16:38:07Z) - Parallelising the Queries in Bucket Brigade Quantum RAM [69.43216268165402]
量子アルゴリズムは、しばしばデータベースのような方法で格納された情報にアクセスするために量子RAM(QRAM)を使用する。
本稿では,Clifford+Tゲートの並列性を利用して,効率的なクエリ時間を大幅に短縮する手法を提案する。
理論的には、フォールトトレラントバケットの量子RAMクエリは古典的なRAMの速度とほぼ一致する。
論文 参考訳(メタデータ) (2020-02-21T14:50:03Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。