Skip to main content
QUICK REVIEW

[論文レビュー] QCOR: A Language Extension Specification for the Heterogeneous Quantum-Classical Model of Computation

Tiffany M. Mintz, Alexander McCaskey|arXiv (Cornell University)|Sep 5, 2019
Quantum Computing Algorithms and Architecture参考文献 34被引用数 12
ひとこと要約

QCOR は C++ に基づく言語拡張であり、混合量子古典コンピューティングのためのシームレスでシングルソースのプログラミングを可能にする。変動型、反復型、フィードフォワード型の量子アルゴリズムをライブラリ呼び出しとディレクティブによってサポートする。近い将来のノイズの多い中規模量子(NISQ)デバイスのためのハードウェアに依存しない高水準の抽象化を提供し、自動エラー低減機能とハイパフォーマンスコンピューティング(HPC)ワークフローとの統合を内蔵している。

ABSTRACT

Quantum computing is an emerging computational paradigm that leverages the laws of quantum mechanics to perform elementary logic operations. Existing programming models for quantum computing were designed with fault-tolerant hardware in mind, envisioning standalone applications. However, near-term quantum computers are susceptible to noise which limits their standalone utility. To better leverage limited computational strengths of noisy quantum devices, hybrid algorithms have been suggested whereby quantum computers are used in tandem with their classical counterparts in a heterogeneous fashion. This {\it modus operandi} calls out for a programming model and a high-level programming language that natively and seamlessly supports heterogeneous quantum-classical hardware architectures in a single-source-code paradigm. Motivated by the lack of such a model, we introduce a language extension specification, called QCOR, that enables single-source quantum-classical programming. Programs written using the QCOR library and directives based language extensions can be compiled to produce functional hybrid binary executables. After defining the QCOR's programming model, memory model, and execution model, we discuss how QCOR enables variational, iterative, and feed forward quantum computing. QCOR approaches quantum-classical computation in a hardware-agnostic heterogeneous fashion and strives to build on best practices of high performance computing (HPC). The high level of abstraction in the developed language is intended to accelerate the adoption of quantum computing by researchers familiar with classical HPC.

研究の動機と目的

  • NISQ 時代における混合量子古典システムのための統一的で高水準のプログラミングモデルの欠如に対処すること。
  • 馴染みのある C++ の慣習と HPC のベストプラクティスを活用して、効率的でポータブルかつスケーラブルな量子古典アプリケーション開発を可能にすること。
  • ノイズが多く、qubit のコherency が限られている近い将来の量子ハードウェアに不可欠な反復型および変動型量子アルゴリズムをサポートすること。
  • 量子プログラミングにおける合成可能な ObjectiveFunction デコレーターを通じて、自動エラー低減のメカニズムを提供すること。
  • 拡張可能なコンパイラおよび実行モデルを通じて、将来のフォールトトレランス量子コンピューティングの基盤を築くこと。

提案手法

  • QCOR を C++ へのライブラリおよびディレクティブベースの拡張として導入し、単一のソースコード内で量子カーネルと古典的制御フローを表現する。
  • 古典的 C++ アプリケーション内で非同期的に量子カーネルを実行できるプログラミングモデルを定義する。
  • 量子状態と観測量が高水準の抽象化を通じて管理されるメモリモデルを確立し、効率的な状態転送と測定を可能にする。
  • 量子カーネルが一様なインターフェースを通じてさまざまな量子コプロセッサ上でコンパイルおよび実行可能な、ハードウェアに依存しない実行モデルを採用する。
  • 変動型アルゴリズムにおけるコスト関数を表すために ObjectiveFunction 抽象を活用し、合成とデコレートをサポートすることで、段階的なエラー低減戦略を可能にする。
  • メモリ管理、型安全性、パフォーマンスのポータビリティといった、既存の HPC の実践を活用して、効率性と相互運用性を確保する。

実験結果

リサーチクエスチョン

  • RQ1シングルソースパラダイムにおいて、ネイティブに混合量子古典実行をサポートする高水準のプログラミングモデルはどのように設計できるか?
  • RQ2ノイズの多い中規模量子(NISQ)デバイス上で、効率的な反復型および変動型量子アルゴリズムの実装を可能にするために必要な抽象化は何か?
  • RQ3パフォーマンスやポータビリティを損なわずに、エラー低減を量子プログラミングワークフローに体系的に合成・統合する方法は何か?
  • RQ4量子古典プログラミングを、C++ やその他のフレームワークといった古典的 HPC 言語やフレームワークとどれほど相互運用可能にすることができるか?
  • RQ5コンパイラおよびランタイム支援が、スケーラブルでポータブルかつ効率的なハイブリッド量子古典アプリケーションの実行をどのように可能にするか?

主な発見

  • QCOR は、ライブラリ呼び出しとディレクティブを介して量子カーネルを埋め込むことで、1つの C++ ソースファイルでハイブリッド量子古典アプリケーションを記述可能である。
  • 言語は、観測量の期待値を計算する第一級の ObjectiveFunction 抽象を備えており、変動型量子アルゴリズムをサポートする。
  • デコレーター形式の ObjectiveFunction 合成を通じてエラー低減戦略を合成可能であり、コアの量子論理を変更せずに段階的な低減が可能である。
  • QCOR モデルはハードウェアに依存せず、既存の HPC システムと相互運用可能であり、多様な量子コプロセッサアーキテクチャ間でのポータビリティを保証する。
  • 非同期実行と効率的なメモリ管理がサポートされており、スケーラビリティの観点からハイパフォーマンスコンピューティングの基準に適合している。
  • このアプローチにより、関数的ハイブリッドバイナリへの効率的なコンパイルが可能であり、大規模で生産用途に適した量子古典ワークロードの実現可能性が示された。

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

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

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

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