[論文レビュー] OpenQL : A Portable Quantum Programming Framework for Quantum Accelerators
OpenQL は、C++ や Python を用いて高水準の量子アルゴリズムを記述できるポータブルな量子プログラミングフレームワークであり、モジュラーなコンパイラスタックを介して最適化されたハードウェア固有のコードにコンパイルする。このフレームワークは、技術に依存しない cQASM 中間表現と、デバイス固有の遅延および接続制約を考慮した適応型スケジューリングにより、超伝導および Si-Spin 量子ビット技術の間でクロスプラットフォームのポータビリティを実現する。
With the potential of quantum algorithms to solve intractable classical problems, quantum computing is rapidly evolving and more algorithms are being developed and optimized. Expressing these quantum algorithms using a high-level language and making them executable on a quantum processor while abstracting away hardware details is a challenging task. Firstly, a quantum programming language should provide an intuitive programming interface to describe those algorithms. Then a compiler has to transform the program into a quantum circuit, optimize it and map it to the target quantum processor respecting the hardware constraints such as the supported quantum operations, the qubit connectivity, and the control electronics limitations. In this paper, we propose a quantum programming framework named OpenQL, which includes a high-level quantum programming language and its associated quantum compiler. We present the programming interface of OpenQL, we describe the different layers of the compiler and how we can provide portability over different qubit technologies. Our experiments show that OpenQL allows the execution of the same high-level algorithm on two different qubit technologies, namely superconducting qubits and Si-Spin qubits. Besides the executable code, OpenQL also produces an intermediate quantum assembly code (cQASM), which is technology-independent and can be simulated using the QX simulator.
研究の動機と目的
- 低レベルの制御詳細を抽象化することで、下位のハードウェアに依存しない量子アルゴリズム開発を可能にすること。
- 異なるゲートセット、接続性、制御エレクトロニクスを備えた多様な量子プロセッサアーキテクチャへの高水準量子アルゴリズムのマッピングという課題に対処すること。
- 超伝導および半導体量子ビットを含む、複数の量子ビット技術をサポートするポータブルなコンパイルスタックを提供すること。
- ハードウェア構成ファイルに応じて動的に調整することで、同じ高水準コードを異なる量子プロセッサ上で実行できるようにすること。
- 標準化された中間表現(cQASM)を介して、シミュレーションと実機アクセラレータ上の実行を両方可能にする。
提案手法
- 低レベルのハードウェア知識が不要な、C++ や Python を用いた高水準の量子プログラミングインターフェースを実装する。
- ハードウェア構成ファイルに含まれるゲート分解セクションを用いて、量子操作を基本ゲートに分解するモジュラーなコンパイラスタックを設計する。
- 技術に依存しない cQASM 中間表現を用いて、アルゴリズム記述とターゲット固有の実行を分離する。
- 異なる制御チャネルにおける命令の遅延、実行時間、およびキュービット接続制約を考慮したハードウェアに配慮したスケジューリングを適用する。
- マイクロアーキテクチャ固有のプロパティ(マイクロ波、フラックス、読み出し制御など)を構成ファイルに統合し、コード生成を支援する。
- 構成ファイル駆動のコンパイルにより、同じ高水準ソースコードを複数の量子プロセッサで再利用可能にする自動コード適応をサポートする。
実験結果
リサーチクエスチョン
- RQ1どのようにして量子プログラミングフレームワークが、超伝導および Si-Spin 量子ビットのような多様な量子ビット技術間でポータビリティを達成できるか?
- RQ2どのようなコンパイラアーキテクチャが、異種の量子プロセッサマイクロアーキテクチャへの高水準量子アルゴリズムの効率的マッピングを可能にするか?
- RQ3同一の高水準量子プログラムが、最小限の変更で複数の量子ハードウェアプラットフォームで実行可能な範囲はどの程度か?
- RQ4キュービット接続性、ゲートセット、制御エレクトロニクスの遅延といったハードウェア固有の制約を、量子コherency とパフォーマンスを保持したまま抽象化できるか?
- RQ5統一された中間表現(cQASM)は、複数の量子アクセラレータプラットフォームに跨るシミュレーションとターゲット固有のコンパイルを両立できるか?
主な発見
- OpenQL は、ハードウェア構成ファイルの変更のみで、超伝導および Si-Spin 量子ビットプラットフォームの両方で同じ高水準量子アルゴリズムを正常にコンパイルおよび実行した。
- フレームワークは、信号発生器および測定ユニットの遅延差を補償するための自動的な操作再スケジューリングにより、デバイス間で一貫した制御を実現した。
- ランダム化ベンチマーク、AllXY、ラビ振動、および変動量子固有エネルギー計算を含む実験が、ソースコードの変更なしにプラットフォーム間で正常に移植された。
- cQASM 中間表現は、QX シミュレータを用いた正確なシミュレーションを可能にし、技術に依存しないポータブルなコンパイルターゲットとしても機能した。
- トポロジー、ゲート分解、遅延に配慮したスケジューリングを活用することで、コンパイラスタックは多様な量子マイクロアーキテクチャに対して効果的な最適化とマッピングを達成した。
- OpenQL は、3キュービットのパリティーチェックや量子化学におけるエネルギー微分の計算を含む、実世界の量子実験において実用的なポータビリティを示した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。