Skip to main content
QUICK REVIEW

[論文レビュー] Efficient techniques to GPU Accelerations of Multi-Shot Quantum Computing Simulations

Jun Doi, Hiroshi Horii|arXiv (Cornell University)|Aug 7, 2023
Quantum Computing Algorithms and Architecture被引用数 4
ひとこと要約

本論文では、特にノイズ下でのシミュレーションを高速化するため、バッチ処理されたマルチショット実行とショットブランチングの2つのGPU最適化技術を提案する。ショットを1回のカーネル起動にまとめて処理し、同一のショットパスを共有することで状態ベクトルを再利用することで、従来のGPU実装比で最大10倍の性能向上を達成した。これにより、小規模な回路に対してもGPUシミュレーションがCPUを上回る速度で実行可能となった。

ABSTRACT

Quantum computers are becoming practical for computing numerous applications. However, simulating quantum computing on classical computers is still demanding yet useful because current quantum computers are limited because of computer resources, hardware limits, instability, and noises. Improving quantum computing simulation performance in classical computers will contribute to the development of quantum computers and their algorithms. Quantum computing simulations on classical computers require long performance times, especially for quantum circuits with a large number of qubits or when simulating a large number of shots for noise simulations or circuits with intermediate measures. Graphical processing units (GPU) are suitable to accelerate quantum computer simulations by exploiting their computational power and high bandwidth memory and they have a large advantage in simulating relatively larger qubits circuits. However, GPUs are inefficient at simulating multi-shots runs with noises because the randomness prevents highly parallelization. In addition, GPUs have a disadvantage in simulating circuits with a small number of qubits because of the large overheads in GPU kernel execution. In this paper, we introduce optimization techniques for multi-shot simulations on GPUs. We gather multiple shots of simulations into a single GPU kernel execution to reduce overheads by scheduling randomness caused by noises. In addition, we introduce shot-branching that reduces calculations and memory usage for multi-shot simulations. By using these techniques, we speed up x10 from previous implementations.

研究の動機と目的

  • ノイズと中間測定によって効率的な並列化が困難な状況下で、GPUベースのマルチショット量子シミュレーションの非効率性を解消すること。
  • GPUのオーバーヘッドが原因で小規模な回路ではCPUシミュレーションがGPUを上回るという性能格差を是正すること。
  • パウリノイズおよびクラウスノイズモデルを含むノイズのある量子回路のシミュレーション効率を向上させること。
  • MPIを用いて複数のGPUおよび計算ノードを統合し、スケーラブルかつ高パフォーマンスなマルチショットシミュレーションを実現すること。
  • CPUおよびGPUの両方で利用可能な技術を開発し、さまざまな回路サイズおよびノイズ条件下でのシミュレーションパフォーマンスを向上させること。

提案手法

  • 複数のショットを1つのGPUカーネル起動にまとめるバッチ処理されたマルチショット実行を実装し、カーネル起動のオーバーヘッドを低減する。
  • 同一のパスに従うショット間で状態ベクトルを共有するショットブランチングを導入し、重複する計算とメモリ使用量を削減する。
  • ノイズサンプリングおよび測定演算の間でショット間の同期メカニズムを適用し、バッチ処理実行における正しさを保証する。
  • Qiskit AerのGPUおよびマルチノードシミュレーション機能を活用し、エンドツーエンドの高速化を実現する。
  • 専用API(例:cuStateVec)に依存しないように最適化を設計し、移植性を確保する。
  • バッチ処理されたマルチショットとショットブランチングの両技術を組み合わせたハイブリッド最適化を実施し、小規模および大規模な回路の両方の領域をカバーする。

実験結果

リサーチクエスチョン

  • RQ1ノイズと中間測定が効率的な並列化を妨げる状況下で、GPUベースのマルチショット量子シミュレーションをどのように高速化できるか?
  • RQ2バッチ処理によってGPUカーネル起動のオーバーヘッドを低減できれば、小規模な回路に対してもGPUシミュレーションがCPUを上回る速度で実行可能になるか?
  • RQ3低エラーレートのノイズのあるシミュレーションにおいて、ショットブランチングは計算量およびメモリ使用量をどの程度削減できるか?
  • RQ4クラスタ環境における複数のGPUおよび計算ノードにわたるスケーリング特性はどのように変化するか?
  • RQ5提案手法はCPUおよびGPUの両方で一般化可能であり、既存のシミュレーションバックエンドと比較してどの程度優れているか?

主な発見

  • バッチ処理されたマルチショット最適化により、GPUカーネル起動のオーバーヘッドが低減され、20キュービット未満の回路に対してもGPUシミュレーションがCPUを上回る性能を達成した。
  • ショットブランチングは、ノイズのあるシミュレーションにおいて計算量およびメモリ使用量を顕著に削減し、特にエラーレートが低くブランチが疎である場合に顕著に効果を発揮した。
  • バッチ処理されたマルチショットとショットブランチングの併用により、以前のQiskit Aer GPU実装比で最大10倍の高速化を達成した。
  • MPIを用いたマルチノードクラスタ環境でも、特に大規模なショット数および大規模な回路に対して強いスケーラビリティを示した。
  • これらの技術はCPUおよびGPUの両方で有効であり、大規模な回路ではショットブランチングが優れたパフォーマンスを発揮し、小規模な回路ではバッチ処理実行が優位であった。
  • 著者らは、新しい実装により、これまでのGPUの非効率性を克服し、全キュービット範囲でCPUを上回る速度でのシミュレーションが可能になったと観察した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。