Skip to main content
QUICK REVIEW

[論文レビュー] XACC: A System-Level Software Infrastructure for Heterogeneous Quantum-Classical Computing

Alexander McCaskey, Dmitry I. Lyakh|arXiv (Cornell University)|Nov 6, 2019
Cloud Computing and Resource Management被引用数 4
ひとこと要約

XACC は、次世代の異種混合コンピューティングアーキテクチャにおける古典的プロセッサと量子プロセッサの密接な統合を可能にする、システムレベルでハードウェアに依存しないソフトウェアフレームワークである。ゲートモデルおよびアニーリング型量子プロセッサをサポートする IBM、Rigetti、D-Wave、IonQ からの多様な量子バックエンドを対象とし、多形中間表現とクロスコンパイル機能を用いて最適化されたワークフローを実現する、拡張可能なインターフェースを備えたサービス指向アーキテクチャを提供する。

ABSTRACT

Quantum programming techniques and software have advanced significantly over the past five years, with a majority focusing on high-level language frameworks targeting remote REST library APIs. As quantum computing architectures advance and become more widely available, lower-level, system software infrastructures will be needed to enable tighter, co-processor programming and access models. Here we present XACC, a system-level software infrastructure for quantum-classical computing that promotes a service-oriented architecture to expose interfaces for core quantum programming, compilation, and execution tasks. We detail XACC's interfaces, their interactions, and its implementation as a hardware-agnostic framework for both near-term and future quantum-classical architectures. We provide concrete examples demonstrating the utility of this framework with paradigmatic tasks. Our approach lays the foundation for the development of compilers, associated runtimes, and low-level system tools tightly integrating quantum and classical workflows.

研究の動機と目的

  • 次世代の異種混合コンピューティングアーキテクチャにおける、古典的プロセッサと量子プロセッサの間の密接な統合を可能にする、低レベルのシステムソフトウェアの増大するニーズに対応すること。
  • 遠隔アクセス型の高レベルプログラミングモデルに代わって、量子古典ワークロードの効率的な実行スケジューリング、メモリ管理、および低レベル制御をサポートするシステムソフトウェアスタックを提供すること。
  • 量子加速科学計算を支援するコンパイラ、デバッガ、プロファイラー、ベンチマークツールを含む、モジュラーで拡張可能なインfrastrucureを提供すること。
  • ゲートモデルおよび断熱的量子コンピュータを含む、多様な量子バックエンド間でのクロスコンパイルとハードウェア抽象化を可能にすること。
  • 科学計算における複雑なハイブリッド量子古典ワークフローをサポートする統一されたソフトウェアスタックの基盤を築くこと。

提案手法

  • XACC は、量子アクセラレータ用にプラグイン可能なバックエンドを備えたサービス指向アーキテクチャを実装し、共通インターフェースを通じてハードウェア固有の詳細を抽象化する。
  • 多形中間表現(IR)を用いて量子プログラムを表現することで、多様な量子アーキテクチャにわたる低レベル最適化と解析を可能にする。
  • 統一インターフェースを通じてゲートモデルおよび量子アニーリングワークフローをサポートし、異なるバックエンド命令セット間での量子命令の自動変換を実現する。
  • 共有バッファ抽象化を通じて、結果を取得可能な共有バッファを介して、古典的コードが量子カーネルをアクセラレータにオフロードできるようにする。
  • パラメータ化された量子回路をターゲット確率分布に一致させるために、DDCL(データ駆動型回路学習)アルゴリズムといった組み込みのアルゴリズム抽象化を提供する。
  • パフォーマンスを損なわずに低レベルの C++ 実装を維持しつつ、Python などの高レベル言語とのバインディングを提供する。

実験結果

リサーチクエスチョン

  • RQ1異種コンピューティング環境における古典的プロセッサと量子プロセッサの間の密接な統合を可能にする、システムレベルのソフトウェアインfrastrucureは、どのように設計できるか?
  • RQ2低レベル最適化と効率的なコンパイルを可能にする一方で、ハードウェアに依存しない量子プログラミングをサポートするアーキテクチャパターンは何か?
  • RQ3統一された中間表現は、ゲートモデルおよびアニーリングアーキテクチャを含む多様な量子バックエンド間でのクロスコンパイルと最適化をどのように可能にするか?
  • RQ4プロファイリング、デバッグ、ベンチマークを含む、エンドツーエンドの量子古典ワークフローをサポートするために必要なメカニズムは何か?
  • RQ5モジュラーで拡張可能なフレームワークを用いて、古典的制御フロー内で量子アルゴリズムをどのようにオchestrate できるか?

主な発見

  • XACC は、IBM、Rigetti、D-Wave、IonQ を含む多様な量子バックエンドを、ハードウェアに依存しないインターフェースを通じて抽象化し、異なるプラットフォーム間でポータブルな量子コードを実現した。
  • 異なる命令セット間でのクロスコンパイルをサポートし、例えば、IBM の U/CNOT ゲートを中間表現変換を介して Rigetti の RZ/CZ ゲートに変換することが可能である。
  • XACC の DDCL アルゴリズムは、ターゲット確率分布に一致するようにパラメータ化された量子回路を自動的にトレーニング可能であり、勾配ベースの最適化と損失関数評価をサポートする。
  • XACC のサービス指向アーキテクチャにより、コンパイラ、デバッガ、パフォーマンスツールのモジュラー拡張が可能となり、フルスタックの量子ソフトウェア開発環境の実現が可能である。
  • XACC は、古典的コードが量子カーネルをオフロードし、共有バッファ抽象化を通じて結果を取得可能な、二重ソースのコプロセッサモデルの動作プロトタイプを示した。
  • XACC は、スケーラブルな量子加速科学計算に不可欠な、シングルソースコンパイラやパフォーマンス分析ツールを含む、将来のシステムソフトウェアの基盤を提供する。

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

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

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

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