[論文レビュー] Extending C++ for Heterogeneous Quantum-Classical Computing
本論文では、新しいClangプラグインインタフェースを通じて、ハイブリッドな量子古典コンピューティングをシームレスに実現するC++言語拡張およびコンパイラ、qcorを提示する。qcorは量子カーネルをXACC中間表現にコンパイルし、ハードウェアに依存しないコンパイルをサポートするとともに、量子最適化およびエラー訂正ワークフローと統合し、近位量子デバイス上で高水準かつ高性能な変動量子アルゴリズムの実行を可能にする。
We present qcor - a language extension to C++ and compiler implementation that enables heterogeneous quantum-classical programming, compilation, and execution in a single-source context. Our work provides a first-of-its-kind C++ compiler enabling high-level quantum kernel (function) expression in a quantum-language agnostic manner, as well as a hardware-agnostic, retargetable compiler workflow targeting a number of physical and virtual quantum computing backends. qcor leverages novel Clang plugin interfaces and builds upon the XACC system-level quantum programming framework to provide a state-of-the-art integration mechanism for quantum-classical compilation that leverages the best from the community at-large. qcor translates quantum kernels ultimately to the XACC intermediate representation, and provides user-extensible hooks for quantum compilation routines like circuit optimization, analysis, and placement. This work details the overall architecture and compiler workflow for qcor, and provides a number of illuminating programming examples demonstrating its utility for near-term variational tasks, quantum algorithm expression, and feed-forward error correction schemes.
研究の動機と目的
- 近位量子ハードウェア向けに、C++における高水準で高性能な量子古典プログラミングを可能にすること。
- 多様な物理的および仮想の量子バックエンドを対象とする、ハードウェアに依存しない、リターゲティング可能なコンパイラパイプラインを提供すること。
- 回路最適化、解析、キュービット配置といった量子コンパイルタスクを、統合的かつ拡張可能なワークフローに統合すること。
- 1つのソースC++環境内での変動手法やフィードフォワードエラー訂正を含む高度な量子アルゴリズムをサポートすること。
- 標準準拠でオープンソースのコンパイラインfraを用いて、量子コプロセッサを既存のハイパフォーマンスコンピューティングスタックと密接に統合すること。
提案手法
- qcorコンパイラは、C++内での量子カーネル式に対するドメイン特化言語前処理を可能にする、画期的なClangプラグイン、SyntaxHandlerを用いる。
- 量子カーネルはXACC中間表現に変換され、ハードウェアに依存しないコンパイルと、複数の量子バックエンドへのリターゲティングを可能にする。
- XACCフレームワークと統合され、回路最適化やキュービット配置といった量子コンパイルルーチンのユーザー拡張可能なフックを提供する。
- ADAPT-VQEなどの高度なアルゴリズムを抽象化する高水準ライブラリ、qcor_hybridが提供され、低水準な回路構築と最適化を隠蔽する。
- コンパイラはフィードフォワード制御と勾配ベース最適化をサポートし、VQE や QAOA などの反復的量子アルゴリズムを可能にする。
- ワークフローは完全にオープンソースであり、GitHub経由で利用可能で、シミュレーションおよび実際の量子プロセッサ上での実行をサポートする。
実験結果
リサーチクエスチョン
- RQ1C++は、1つのソース、ハイブリッドな量子古典プログラミングモデルにおいて、量子カーネルをネイティブに表現するようにどのように拡張可能か?
- RQ2ハードウェアに依存しない、リターゲティング可能な量子カーネルのコンパイルを可能にするコンパイラアーキテクチャは何か? その際、パフォーマンスと拡張性を保持する。
- RQ3最適化、解析、キュービット配置といった量子コンパイルタスクを、C++ベースのシステム内での統合的かつ拡張可能なワークフローに統合する方法は?
- RQ4ADAPT-VQE などの高水準量子アルゴリズムは、最小限のパフォーマンスオーバーヘッドでC++で効率的に表現・実行可能か?
- RQ5近位量子アプリケーション向けに、C++ベースの量子コンパイラでフィードフォワード制御と勾配ベース最適化をどのようにサポートできるか?
主な発見
- qcorコンパイラは、C++量子カーネルをXACC中間表現に正常にコンパイルし、TNQVMシミュレータを含む複数の量子バックエンドでの実行を可能にした。
- ADAPT-VQEアルゴリズムはqcor_hybridライブラリを用いて正常に実装・実行され、4原子水素鎖系において約-1.81363ハートリーのエネルギーに収束した。
- VQEワークフロー内での反復的・適応的回路アーキテクチャ生成が可能で、勾配解析に基づき、最も関連性の高いパウリ演算子またはフェルミオン的演算子を動的に選択した。
- 中央差分勾配計算を用いたL-BFGS最適化との統合により、ADAPTフレームワーク内での効率的な変動パrameter更新が実現した。
- コンパイラはフィードフォワードエラー訂正スキームやその他の複雑な制御フローをサポートし、高度な量子古典ワークロードの実現可能性を示した。
- 全スタックはオープンソースであり、https://github.com/ornl-qci/qcor で利用可能で、コミュニティによる拡張およびHPCワークロードへの統合を可能にした。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。