(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-08
(45)【発行日】2025-04-16
(54)【発明の名称】量子状態測定バックエンドプロセスを促進する量子状態測定ロジック
(51)【国際特許分類】
G06N 10/20 20220101AFI20250409BHJP
【FI】
G06N10/20
(21)【出願番号】P 2023516080
(86)(22)【出願日】2021-09-09
(86)【国際出願番号】 EP2021074830
(87)【国際公開番号】W WO2022053563
(87)【国際公開日】2022-03-17
【審査請求日】2024-02-15
(32)【優先日】2020-09-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】ルーディンガー、ジェフリー
(72)【発明者】
【氏名】アレクサンダー、トーマス
(72)【発明者】
【氏名】マッケイ、デイビッド
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2020-74056(JP,A)
【文献】米国特許出願公開第2020/0044749(US,A1)
【文献】米国特許出願公開第2019/0362270(US,A1)
【文献】Thomas Alexander, 外6名,"Qiskit Pulse: Programming Quantum Computers Through the Cloud with Pulses",[online],2020年04月14日,[検索日 2024.12.04], インターネット<URL:https://arxiv.org/pdf/2004.06755>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 10/20
(57)【特許請求の範囲】
【請求項1】
コンピュータ実行可能構成要素を記憶するメモリと、
前記メモリに記憶された前記コンピュータ実行可能構成要素を実行するプロセッサであって、前記コンピュータ実行可能構成要素が、
量子状態測定パイプラインの少なくとも1つのステージの少なくとも1つの記憶要素に対応するデータ処理機能を定義するステージ制御レジスタ構成要素を有する、プロセッサと
を備えるシステム。
【請求項2】
前記データ処理機能が、現在の量子測定結果を保存することを示すアーカイブ機能を有する、請求項1に記載のシステム。
【請求項3】
前記データ処理機能が、現在の量子測定結果を後続の量子測定結果と重ねることを示す再使用機能を有する、請求項1または2に記載のシステム。
【請求項4】
前記少なくとも1つのステージが、キャプチャアレイステージ、カーネルステージ、ベクトル対値ステージ、ディスクリミネータステージ、およびビットステージからなるグループから選択される、請求項1から3のいずれか一項に記載のシステム。
【請求項5】
前記コンピュータ実行可能構成要素が、
前記量子状態測定パイプラインの前記少なくとも1つのステージの記憶要素に対応するデータ処理機能に基づいて量子状態測定ロジックを生成するコンパイラ構成要素であって、前記コンパイラ構成要素が、前記量子状態測定ロジックに基づいて量子状態測定値をキャプチャする能力を有する1つまたは複数の量子バックエンドコンピューティングリソースを識別する、コンパイラ構成要素
をさらに備える、請求項1から4のいずれか1項に記載のシステム。
【請求項6】
前記ステージ制御レジスタ構成要素が、前記量子状態測定パイプラインに対応する1つまたは複数のエンティティ定義基準に基づいて前記データ処理機能を定義し、前記ステージ制御レジスタ構成要素が、前記量子状態測定パイプラインの前記少なくとも1つのステージの記憶要素に対応するデータ処理機能を定義して、定義された量の量子バックエンドコンピューティングリソースが、前記データ処理機能を有する量子状態測定ロジックに基づいて量子状態測定値をキャプチャすることを可能にする、請求項1から5のいずれか1項に記載のシステム。
【請求項7】
前記コンピュータ実行可能構成要素が、
データ処理機能の第1のセットまたはデータ処理機能の第2のセットに基づいて量子状態測定ロジックを生成するコンパイラ構成要素であって、前記データ処理機能の第1のセットが、前記量子状態測定パイプラインのビットステージの単一の記憶要素に対応する再使用機能を含み、前記データ処理機能の第2のセットが、前記ビットステージのすべての記憶要素に対応するアーカイブ機能を含み、それによって、前記量子状態測定ロジックに基づいて量子状態測定値をキャプチャする1つまたは複数の量子バックエンドコンピューティングリソースに関連付けられた計算コストの削減を促進する、コンパイラ構成要素
をさらに有する、
請求項1から6のいずれか1項に記載のシステム。
【請求項8】
プロセッサを有するシステムが、量子状態測定パイプラインの少なくとも1つのステージの少なくとも1つの記憶要素に対応するデータ処理機能を定義する段階を備えるコンピュータ実装方法。
【請求項9】
前記データ処理機能が、現在の量子測定結果を保存することを示すアーカイブ機能を有する、請求項8に記載のコンピュータ実装方法。
【請求項10】
前記データ処理機能が、現在の量子測定結果を後続の量子測定結果と重ねることを示す再使用機能を有する、請求項8または9に記載のコンピュータ実装方法。
【請求項11】
前記少なくとも1つのステージが、キャプチャアレイステージ、カーネルステージ、ベクトル対値ステージ、ディスクリミネータステージ、およびビットステージからなるグループから選択される、請求項8から10のいずれか1項に記載のコンピュータ実装方法。
【請求項12】
前記システムが、前記量子状態測定パイプラインの前記少なくとも1つのステージの記憶要素に対応するデータ処理機能に基づいて、量子状態測定ロジックを生成する段階と、
前記システムが、前記量子状態測定ロジックに基づいて、量子状態測定値をキャプチャする能力を有する1つまたは複数の量子バックエンドコンピューティングリソースを識別する段階と
をさらに備える、請求項8から11のいずれか1項に記載のコンピュータ実装方法。
【請求項13】
前記システムが、前記量子状態測定パイプラインに対応する1つまたは複数のエンティティ定義基準に基づいて、前記データ処理機能を定義する段階と、
前記システムが、前記量子状態測定パイプラインの前記少なくとも1つのステージの記憶要素に対応するデータ処理機能を定義して、定義された量の量子バックエンドコンピューティングリソースが、前記データ処理機能を有する量子状態測定ロジックに基づいて量子状態測定値をキャプチャすることを可能にする段階と
をさらに備える、請求項8から12のいずれか1項に記載のコンピュータ実装方法。
【請求項14】
前記システムが、データ処理機能の第1のセットまたはデータ処理機能の第2のセットに基づいて量子状態測定ロジックを生成する段階であって、前記データ処理機能の第1のセットが、前記量子状態測定パイプラインのビットステージの単一の記憶要素に対応する再使用機能を含み、前記データ処理機能の第2のセットが、前記ビットステージのすべての記憶要素に対応するアーカイブ機能を含み、それによって、前記量子状態測定ロジックに基づいて量子状態測定値をキャプチャする1つまたは複数の量子バックエンドコンピューティングリソースに関連付けられた計算コストの削減を促進する、生成する段階をさらに備える、請求項8から13のいずれか1項に記載のコンピュータ実装方法。
【請求項15】
量子状態測定バックエンドプロセスを促進する
コンピュータプログラムであって、前記
コンピュータプログラムが、プログラム
命令を有し、プロセッサによって実行可能なプログラム命令が、前記プロセッサによって、量子状態測定パイプラインの少なくとも1つのステージの少なくとも1つの記憶要素に対応するデータ処理機能を定義することを前記プロセッサに行わせる、
コンピュータプログラム。
【請求項16】
前記データ処理機能が、現在の量子測定結果を保存することを示すアーカイブ機能を有する、請求項15に記載の
コンピュータプログラム。
【請求項17】
前記データ処理機能が、現在の量子測定結果を後続の量子測定結果と重ねることを示す再使用機能を有する、請求項15または16に記載の
コンピュータプログラム。
【請求項18】
前記少なくとも1つのステージが、キャプチャアレイステージ、カーネルステージ、ベクトル対値ステージ、ディスクリミネータステージ、およびビットステージからなるグループから選択される、請求項15から17のいずれか1項に記載の
コンピュータプログラム。
【請求項19】
前記プログラム命令が、前記プロセッサによってさらに実行可能であり、
前記プロセッサによって、前記量子状態測定パイプラインの前記少なくとも1つのステージの記憶要素に対応するデータ処理機能に基づいて、量子状態測定ロジックを生成することと、
前記プロセッサによって、前記量子状態測定ロジックに基づいて、量子状態測定値をキャプチャする能力を有する1つまたは複数の量子バックエンドコンピューティングリソースを識別することを前記プロセッサに行わせる、請求項15から18のいずれか1項に記載の
コンピュータプログラム。
【請求項20】
前記プログラム命令が、前記プロセッサによってさらに実行可能であり、
前記プロセッサによって、データ処理機能の第1のセットまたはデータ処理機能の第2のセットに基づいて量子状態測定ロジックを生成することであって、前記データ処理機能の第1のセットが、前記量子状態測定パイプラインのビットステージの単一の記憶要素に対応する再使用機能を含み、前記データ処理機能の第2のセットが、前記ビットステージのすべての記憶要素に対応するアーカイブ機能を含み、それによって、前記量子状態測定ロジックに基づいて量子状態測定値をキャプチャする1つまたは複数の量子バックエンドコンピューティングリソースに関連付けられた計算コストの削減を促進する、生成することを前記プロセッサに行わせる、請求項15から19のいずれか1項に記載の
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本主題の開示は、量子状態測定プロセスに関し、より詳細には、量子状態測定バックエンドプロセスを促進する量子状態測定ロジックに関する。
【背景技術】
【0002】
いくつかの既存の量子状態測定バックエンド技術は、量子ビット(キュービット)の量子状態のキャプチャに関連付けられた測定の様々な層を定義する。例えば、いくつかの既存の量子状態測定バックエンド技術では、次のキュービット状態の3つ層の測定が定義されている。レベル0は生データであり、これは、アナログ-デジタルコンバータ(ADC)デバイスからキャプチャされた個別のサンプルのフィルタ処理されたバージョンである。レベル1は、カーネルを介して生データを1対の複素数(例えば、同相(I)ベクトルおよび直交位相(Q)ベクトル)に分解し、レベル2ではさらに、ディスクリミネータを介して単一バイナリビットに分解する。
【0003】
いくつかの既存の量子状態測定バックエンド技術では、エンティティ(例えば、ユーザ)が、各キュービット測定に適用するレベル、カーネル、およびディスクリミネータを指定することが可能である。そのような既存の量子状態測定バックエンド技術の問題は、このような柔軟性を1つまたは複数の量子バックエンドコンピューティングリソースに適用すること、または、このような柔軟性を、単一量子バックエンドコンピューティングリソース内の量子状態測定ロジックの様々なインスタンスに適用することが難しいことである。様々な量子バックエンドコンピューティングリソースの実装によって、キャプチャ能力、キャプチャできるサンプルの量、およびデータに適用する様々なカーネルおよびディスクリミネータを選択する際の柔軟性が著しく異なり得るため、そのような課題が生じる。さらに、いくつかの既存の量子測定バックエンド技術では、コンパイラを使用して、エンティティのテスト基準(例えば、ユーザテスト基準)を量子バックエンドコンピューティングリソース内の測定ロジックのインスタンスにマップおよびスケジュールする。上記の課題を考えると、そのような既存の量子状態測定バックエンド技術の問題は、測定インスタンスごとに固有のコンパイラの実装が必要になることである。
【発明の概要】
【0004】
以下、本発明の1つまたは複数の実施形態の基本的な理解を提供するための概要を示す。本概要は、主要な要素または重要な要素を識別すること、または特定の実施形態の任意の範囲または特許請求の範囲の任意の範囲を示すことを意図するものではない。その唯一の目的は、後で示されるより詳細な説明の前置きとして、概念を簡略化された形式で示すことである。本明細書に記載の1つまたは複数の実施形態では、量子状態測定バックエンドプロセスで使用される量子状態測定ロジックを促進するシステム、デバイス、コンピュータ実装方法および/またはコンピュータプログラム製品が説明される。
【0005】
1つの実施形態によれば、システムは、コンピュータ実行可能構成要素を記憶するメモリおよびメモリに記憶されたコンピュータ実行可能構成要素を実行するプロセッサを備えることができる。コンピュータ実行可能構成要素は、量子状態測定パイプラインの少なくとも1つのステージの少なくとも1つの記憶要素に対応するデータ処理機能を定義するステージ制御レジスタ構成要素を有することができる。そのようなシステムの利点は、量子状態測定バックエンドシステムが、1つまたは複数のエンティティ定義基準に基づいて量子状態測定値をキャプチャできる、より大量の量子バックエンドコンピューティングリソースをより迅速かつ、より効率的に識別することを可能にできることである。
【0006】
いくつかの実施形態では、ステージ制御レジスタ構成要素は、量子状態測定パイプラインに対応する1つまたは複数のエンティティ定義基準に基づいてデータ処理機能を定義し、ステージ制御レジスタ構成要素は、量子状態測定パイプラインの少なくとも1つのステージの記憶要素に対応するデータ処理機能を定義して、定義された量の量子バックエンドコンピューティングリソースが、データ処理機能を有する量子状態測定ロジックに基づいて量子状態測定値をキャプチャすることを可能にする。そのようなシステムの利点は、量子状態測定バックエンドシステムが、1つまたは複数のエンティティ定義基準に基づいて量子状態測定値をキャプチャできる、より大量の量子バックエンドコンピューティングリソースをより迅速かつ、より効率的に識別することを可能にできることである。
【0007】
別の実施形態によれば、コンピュータ実装方法は、プロセッサに動作可能に結合されたシステムによって、量子状態測定パイプラインの少なくとも1つのステージの少なくとも1つの記憶要素に対応するデータ処理機能を定義することを有することができる。そのようなコンピュータ実装方法の利点は、量子状態測定バックエンドシステムが、1つまたは複数のエンティティ定義基準に基づいて量子状態測定値をキャプチャできる、より大量の量子バックエンドコンピューティングリソースをより迅速かつ効率的に識別することを可能にするように実装できることである。
【0008】
いくつかの実施形態では、上記のコンピュータ実装方法は、システムによって、量子状態測定パイプラインに対応する1つまたは複数のエンティティ定義基準に基づいてデータ処理機能を定義する段階と、システムによって、量子状態測定パイプラインの少なくとも1つのステージの記憶要素に対応するデータ処理機能を定義して、定義された量の量子バックエンドコンピューティングリソースが、データ処理機能を有する量子状態測定ロジックに基づいて量子状態測定値をキャプチャすることを可能にする段階とをさらに備えることができる。そのようなコンピュータ実装方法の利点は、量子状態測定バックエンドシステムが、1つまたは複数のエンティティ定義基準に基づいて量子状態測定値をキャプチャできる、より大量の量子バックエンドコンピューティングリソースをより迅速かつ効率的に識別することを可能にするように実装できることである。
【0009】
別の実施形態によれば、量子状態測定バックエンドプロセスを促進するコンピュータプログラム製品が提供される。プログラム命令が具現化されたコンピュータ可読記憶媒体を有するコンピュータプログラム製品であって、プロセッサによって実行可能なプログラム命令は、プロセッサによって、量子状態測定パイプラインの少なくとも1つのステージの少なくとも1つの記憶要素に対応するデータ処理機能を定義することをプロセッサに行わせる。そのようなコンピュータプログラム製品の利点は、量子状態測定バックエンドシステムが、1つまたは複数のエンティティ定義基準に基づいて量子状態測定値をキャプチャできる、より大量の量子バックエンドコンピューティングリソースをより迅速かつ、より効率的に識別することを可能にできることである。
【0010】
いくつかの実施形態では、プログラム命令は、プロセッサによってさらに実行可能であり、プロセッサによって、量子状態測定パイプラインの少なくとも1つのステージの記憶要素に対応するデータ処理機能に基づいて、量子状態測定ロジックをプロセッサに生成することと、プロセッサによって、量子状態測定ロジックに基づいて量子状態測定値をキャプチャする能力を有する1つまたは複数の量子バックエンドコンピューティングリソースを識別することとをプロセッサに行わせる。そのようなコンピュータプログラム製品の利点は、量子状態測定バックエンドシステムが、1つまたは複数のエンティティ定義基準に基づいて量子状態測定値をキャプチャできる、より大量の量子バックエンドコンピューティングリソースをより迅速かつ、より効率的に識別することを可能にできることである。
【図面の簡単な説明】
【0011】
【
図1】本明細書に記載の1つまたは複数の実施形態による、量子状態測定バックエンドプロセスで使用される量子状態測定ロジックを促進することができる例示的な非限定的なシステムのブロック図を示す。
【0012】
【
図2】本明細書に記載の1つまたは複数の実施形態による、量子状態測定バックエンドプロセスで使用される量子状態測定ロジックを促進することができる例示的な非限定的なシステムのブロック図を示す。
【0013】
【
図3】本明細書に記載の1つまたは複数の実施形態による、量子状態測定バックエンドプロセスで使用される量子状態測定ロジックを促進することができる例示的な非限定的な図を示す。
【0014】
【
図4】本明細書に記載の1つまたは複数の実施形態による、量子状態測定バックエンドプロセスで使用される量子状態測定ロジックを促進することができる例示的な非限定的なシステムのブロック図を示す。
【
図5】本明細書に記載の1つまたは複数の実施形態による、量子状態測定バックエンドプロセスで使用される量子状態測定ロジックを促進することができる例示的な非限定的なシステムのブロック図を示す。
【
図6】本明細書に記載の1つまたは複数の実施形態による、量子状態測定バックエンドプロセスで使用される量子状態測定ロジックを促進することができる例示的な非限定的なシステムのブロック図を示す。
【0015】
【
図7】本明細書に記載の1つまたは複数の実施形態による、量子状態測定バックエンドプロセスで使用される量子状態測定ロジックを促進することができる、例示的な非限定的なコンピュータ実装方法のフロー図を示す。
【
図8】本明細書に記載の1つまたは複数の実施形態による、量子状態測定バックエンドプロセスで使用される量子状態測定ロジックを促進することができる、例示的な非限定的なコンピュータ実装方法のフロー図を示す。
【
図9】本明細書に記載の1つまたは複数の実施形態による、量子状態測定バックエンドプロセスで使用される量子状態測定ロジックを促進することができる、例示的な非限定的なコンピュータ実装方法のフロー図を示す。
【0016】
【
図10】本明細書に記載の1つまたは複数の実施形態を促進することができる例示的な非限定的な動作環境のブロック図を示す。
【0017】
【
図11】本主題の開示の1つまたは複数の実施形態による、例示的な非限定的なクラウドコンピューティング環境のブロック図を示す。
【0018】
【
図12】本主題の開示の1つまたは複数の実施形態による、例示的な非限定的な抽象化モデル層のブロック図を示す。
【発明を実施するための形態】
【0019】
以下の詳細な説明は、単なる例示であり、実施形態および/または実施形態の適用または使用を限定することを意図するものではない。さらに、前述の「背景技術」または「発明の概要」節、または「発明を実施するための形態」節に示されている任意の明示的または黙示的な情報に拘束されることを意図するものではない。
【0020】
次に、1つまたは複数の実施形態を、図面を参照して説明し、図面では、同様の参照符号は、全体を通して同様の要素を指すために使用される。以下の説明では、説明の目的で、1つまたは複数の実施形態のより完全な理解を提供するために、多くの具体的な詳細が述べられている。しかし、様々な場合では、1つまたは複数の実施形態が、これらの具体的な詳細なしに実施することができることは明らかである。
【0021】
量子コンピューティングは概して、コンピューティングおよび情報処理の機能を実行する目的のために量子力学現象を使用する。量子コンピューティングは、概してトランジスタを使用して2進値で動作する古典的コンピューティングとは対照的に見なされ得る。すなわち、古典的コンピュータは、0または1のいずれかのビット値で動作できるが、量子コンピュータは、0および1の両方の重ね合わせを備える量子ビット(キュービット)で動作し、複数の量子ビットをもつれさせ、干渉を使用できる。
【0022】
いくつかの既存の量子状態測定バックエンド技術に関する上記の問題を考えると、本開示は、量子状態測定パイプラインの少なくとも1つのステージの少なくとも1つの記憶要素に対応するデータ処理機能を定義できる、システム、コンピュータ実装方法、および/またはコンピュータプログラム製品の形態で、これらの問題に対する解決策をもたらすために実装できる。そのようなシステム、コンピュータ実装方法および/またはコンピュータプログラム製品の利点は、量子状態測定バックエンドシステムが、1つまたは複数のエンティティ定義基準に基づいて量子状態測定値をキャプチャできる、より大量の量子バックエンドコンピューティングリソースをより迅速かつ、より効率的に識別することを可能にするように実装できることである。
【0023】
いくつかの実施形態では、本開示は、定義された量の量子バックエンドコンピューティングリソースが、量子状態測定パイプラインに対応する1つまたは複数のエンティティ定義基準に基づいてデータ処理機能を定義することができる、および/または量子状態測定パイプラインの少なくとも1つのステージの記憶要素に対応するデータ処理機能を定義し、データ処理機能を有する量子状態測定ロジックに基づいて量子状態測定値をキャプチャすることを可能にすることができる、システム、コンピュータ実装方法および/またはコンピュータプログラム製品の形態で、上記の問題に対する解決策をもたらすために実装することができる。そのようなシステム、コンピュータ実装方法および/またはコンピュータプログラム製品の利点は、量子状態測定バックエンドシステムが、1つまたは複数のエンティティ定義基準に基づいて量子状態測定値をキャプチャできる、より大量の量子バックエンドコンピューティングリソースをより迅速かつ、より効率的に識別することを可能にするように実装できることである。
【0024】
要素が別の要素に「結合されている」と本明細書で言及されるとき、それは1つまたは複数の異なるタイプの結合を表すことができることを理解されたい。例えば、要素が別の要素に「結合されている」と本明細書で言及される場合、それは、限定されないが、化学結合、通信結合、容量結合、電気結合、電磁結合、誘導結合、動作結合、光結合、物理結合、熱結合、および/または別のタイプの結合を含む1つまたは複数の異なるタイプの結合を表すことができる。
【0025】
本明細書で参照されるように、エンティティは、人間、クライアント、ユーザ、コンピューティングデバイス、ソフトウェアアプリケーション、エージェント、機械学習モデル、人工知能、および/または別のエンティティを含むことができる。そのようなエンティティは、本明細書に記載の本主題の開示の1つまたは複数の実施形態を実装できることを理解されたい。
【0026】
図1は、本明細書に記載の1つまたは複数の実施形態による、量子状態測定バックエンドプロセスで使用される量子状態測定ロジックを促進することができる例示的な非限定的なシステム100のブロック図を示す。システム100は、クラウドコンピューティング環境に関連付けることができる、量子状態測定ロジックシステム102を備えることができる。例えば、量子状態測定ロジックシステム102は、
図11を参照して以下に説明するクラウドコンピューティング環境1150および/または
図12を参照して以下に説明する1つまたは複数の機能的抽象化層(例えば、ハードウェアおよびソフトウェア層1260、仮想化層1270、管理層1280、および/またはワークロード層1290)と関連付けることができる。
【0027】
量子状態測定ロジックシステム102および/またはその構成要素(例えば、ステージ制御レジスタ構成要素108、コンパイラ構成要素110など)は、
図11を参照して以下に説明するクラウドコンピューティング環境1150の1つまたは複数のコンピューティングリソース、および/または、
図12を参照して以下に説明する1つまたは複数の機能的抽象化層(例えば、量子ソフトウェアなど)を使用して、本明細書に記載の本主題の開示の1つまたは複数の実施形態に従って1つまたは複数の動作を実行することができる。例えば、クラウドコンピューティング環境1150および/または、そのような1つまたは複数の機能的抽象化層は、本明細書に記載の本主題の開示の1つまたは複数の実施形態による1つまたは複数の動作を実行するために量子状態測定ロジックシステム102および/または、その構成要素によって使用することができる、1つまたは複数の古典的コンピューティングデバイス(例えば、古典的コンピュータ、古典的プロセッサ、仮想マシン、サーバなど)、量子ハードウェアおよび/または量子ソフトウェア(例えば、量子コンピューティングデバイス、量子コンピュータ、量子プロセッサ、量子回路シミュレーションソフトウェア、超電導回路など)を有することができる。例えば、量子状態測定ロジックシステム102および/またはその構成要素は、そのような1つまたは複数の古典的および/または量子コンピューティングリソースを使用して、本明細書に記載の本主題の開示の1つまたは複数の実施形態による、1つまたは複数の古典的および/または量子の数学関数、数理計算、および/または数学的方程式、コンピューティングおよび/または処理スクリプト、アルゴリズム、モデル(例えば、人工知能(AI)モデル、機械学習(ML)モデルなど)および/または別の動作を実行することができる。
【0028】
本開示はクラウドコンピューティングに関する詳細な説明を含むが、本明細書に記載される教示の実施はクラウドコンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在知られている、または後に開発される任意の他のタイプのコンピューティング環境と組み合わせて実装できる。
【0029】
クラウドコンピューティングは、最小限の管理作業またはサービスのプロバイダとの対話で迅速にプロビジョニングおよびリリースできる、構成可能なコンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、サービス)の共有プールへの便利なオンデマンドネットワークアクセスを可能にするサービス提供のモデルである。このクラウドモデルは、少なくとも5つの特徴、少なくとも3つのサービスモデル、および少なくとも4つの展開モデルを含み得る。
【0030】
特徴は次の通りである。
【0031】
オンデマンドセルフサービス:クラウドコンシューマは、サービスプロバイダとの人間の対話を必要とせずに、必要に応じて自動的に、サーバタイムおよびネットワークストレージなどのコンピューティング能力を一方的にプロビジョニングできる。
【0032】
幅広いネットワークアクセス:能力は、ネットワーク経由で利用可能であり、異種のシンクライアントプラットフォームまたはシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、PDA)による使用を促進する標準機構を介してアクセスされる。
【0033】
リソースプーリング:プロバイダのコンピューティングリソースは、マルチテナントモデルを使用して複数の消費者にサービスを提供するためにプールされ、様々な物理リソースおよび仮想リソースが需要に応じて動的に割り当てられ、再割り当てされる。消費者は、一般に、提供されたリソースの正確な位置に関する制御または知識はないが、より高い抽象化のレベル(例えば、国、州、またはデータセンタ)で位置を指定でき得るという点で、位置独立の感覚がある。
【0034】
迅速な弾力性:能力は、迅速かつ弾力的にプロビジョニングでき、場合によっては、自動的に、迅速にスケールアウトされ、迅速にリリースされて迅速にスケールインされる。消費者には、プロビジョニングに使用できる能力は無制限に見えることが多く、いつでも任意の数量で購入できる。
【0035】
測定されたサービス:クラウドシステムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、アクティブなユーザアカウント)に適したある程度の抽象化のレベルで計測能力を活用することにより、リソースの使用を自動的に制御および最適化する。リソースの使用状況を監視、制御、および報告して、利用するサービスの、プロバイダと消費者の両方に透明性を提供できる。
【0036】
サービスモデルは次の通りである。
【0037】
サービスとしてのソフトウェア(SaaS):消費者に提供される能力は、クラウドインフラストラクチャで実行されているプロバイダのアプリケーションを使用することである。アプリケーションには、ウェブブラウザ(例えば、ウェブベースの電子メール)などのシンクライアントインターフェースを介して、様々なクライアントデバイスからアクセス可能である。消費者は、限られたユーザ固有のアプリケーション構成設定を除き得て、ネットワーク、サーバ、オペレーティングシステム、ストレージ、さらには個別のアプリケーション機能を含む基盤となるクラウドインフラストラクチャを管理または制御しない。
【0038】
サービスとしてのプラットフォーム(PaaS):消費者に提供される能力は、プロバイダがサポートするプログラミング言語およびツールを使用して作成された、消費者が作成または取得したアプリケーションをクラウドインフラストラクチャ上に展開することである。消費者は、ネットワーク、サーバ、オペレーティングシステム、またはストレージを含む基盤となるクラウドインフラストラクチャを管理または制御しないが、展開されたアプリケーションおよび、場合によっては、アプリケーションホスティング環境の構成を制御する。
【0039】
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される能力は、処理、ストレージ、ネットワーク、および消費者が、オペレーティングシステムおよびアプリケーションを含み得る、任意のソフトウェアを展開および実行できるその他の基本的なコンピューティングリソースをプロビジョニングすることである。消費者は、基盤となるクラウドインフラストラクチャを管理または制御しないが、オペレーティングシステム、ストレージ、展開されたアプリケーションを制御し、場合によっては、選択したネットワーク構成要素(例えば、ホストファイアウォール)の制御を制限する。
【0040】
展開モデルは次の通りである。
【0041】
プライベートクラウド:クラウドインフラストラクチャは、組織のためだけに運用される。組織または第三者によって管理され、オンプレミスまたはオフプレミスに存在し得る。
【0042】
コミュニティクラウド:クラウドインフラストラクチャは複数の組織によって共有されており、共有された懸念事項(例えば、ミッション、セキュリティ要件、ポリシ、コンプライアンスの考慮事項)を有する特定のコミュニティをサポートしている。組織または第三者によって管理され、オンプレミスまたはオフプレミスに存在し得る。
【0043】
パブリッククラウド:クラウドインフラストラクチャは、一般の人々または大規模な業界団体が利用できるようにしたもので、クラウドサービスを販売する組織が所有している。
【0044】
ハイブリッドクラウド:クラウドインフラストラクチャは、一意のエンティティのままであるが、データおよびアプリケーションの移植性を可能にする標準化された技術または特許技術(例えば、クラウド間の負荷分散のためのクラウドバースト)によって結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の構成である。
【0045】
クラウドコンピューティング環境は、ステートレス性、低結合、モジュール性、および意味的相互運用性に重点を置いたサービス指向型である。クラウドコンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0046】
図1に示す例示的な実施形態に示すように、量子状態測定ロジックシステム102は、メモリ104、プロセッサ106、ステージ制御レジスタ構成要素108、コンパイラ構成要素110および/またはバス112を有することができる。
【0047】
本明細書に開示される様々な図面に示される本主題の開示の実施形態は、例示のみを目的とし、したがって、そのような実施形態のアーキテクチャは、そこに示されるシステム、デバイスおよび/または構成要素に限定されないことを理解されたい。例えば、いくつかの実施形態では、システム100および/または量子状態測定ロジックシステム102はさらに、動作環境1000および
図10を参照して本明細書に記載の様々なコンピュータおよび/またはコンピューティングベースの要素を有することができる。複数の実施形態では、そのようなコンピュータおよび/またはコンピューティングベースの要素は、
図1および/または本明細書に開示される他の図に関連して示され、説明されるシステム、デバイス、構成要素および/またはコンピュータ実装動作のうちの1つまたは複数の実装に関連して使用することができる。
【0048】
メモリ104は、1つまたは複数のコンピュータおよび/または機械で読み取り可能、書き込み可能、および/または実行可能な構成要素および/または命令を記憶し得、それらは、プロセッサ106(例えば、古典的プロセッサ、量子プロセッサなど)によって実行されると、実行可能な構成要素および/または命令によって定義される動作の実行を促進することができる。例えば、メモリ104は、コンピュータおよび/または機械で読み取り可能、書き込み可能、および/または実行可能な構成要素および/または命令を記憶し得、それらは、プロセッサ106によって実行されると、量子状態測定ロジックシステム102、ステージ制御レジスタ構成要素108、コンパイラ構成要素110、および/または本主題の開示の様々な図を参照または参照せずに本明細書に記載の量子状態測定ロジックシステム102に関連付けられた別の構成要素に関連して本明細書に記載の様々な機能の実行を促進することができる。
【0049】
メモリ104は、1つまたは複数のメモリアーキテクチャを使用できる、揮発性メモリ(例えば、ランダムアクセスメモリ(RAM)、静的RAM(SRAM)、ダイナミックRAM(DRAM)など)および/または不揮発性メモリ(例えば、読み取り専用メモリ(ROM)、プログラマブルROM(PROM)、電気プログラマブルROM(EPROM)、電気消去可能プログラマブルROM(EEPROM)など)を含むことができる。メモリ104のさらなる例は、システムメモリ1016および
図10を参照して以下に説明される。メモリ104のそのような例は、本主題の開示の任意の実施形態を実装するために使用することができる。
【0050】
プロセッサ106は、メモリ104に記憶できる1つまたは複数のコンピュータおよび/または機械で読み取り可能、書き込み可能、および/または、実行可能な構成要素および/または命令を実装できる、1つまたは複数のタイプのプロセッサおよび/または電子回路(例えば、古典的プロセッサ、量子プロセッサなど)を含むことができる。例えば、プロセッサ106は、限定されないが、ロジック、制御、入力/出力(I/O)、算術および/または同様のものを含む、そのようなコンピュータおよび/または機械で読み取り可能、書き込み可能、および/または実行可能な構成要素および/または命令によって指定され得る様々な動作を実行することができる。いくつかの実施形態では、プロセッサ106は、1つまたは複数の中央処理装置、マルチコアプロセッサ、マイクロプロセッサ、デュアルマイクロプロセッサ、マイクロコントローラ、システムオンチップ(SOC)、アレイプロセッサ、ベクトルプロセッサ、量子プロセッサおよび/または別のタイプのプロセッサを有することができる。プロセッサ106のさらなる例は、処理ユニット1014および
図10を参照して以下に説明される。プロセッサ106のそのような例は、本主題の開示の任意の実施形態を実装するために使用することができる。
【0051】
本明細書に記載の量子状態測定ロジックシステム102、メモリ104、プロセッサ106、ステージ制御レジスタ構成要素108、コンパイラ構成要素110、および/または量子状態測定ロジックシステム102の別の構成要素は、システム100、量子状態測定ロジックシステム102、および/またはそれに結合された任意の構成要素の機能を実行するために、バス112を介して互いに通信可能、電気的、動作可能、および/または光学的に結合することができる。バス112は、様々なバスアーキテクチャを使用し得る、1つまたは複数のメモリバス、メモリコントローラ、ペリフェラルバス、外部バス、ローカルバス、量子バスおよび/または別のタイプのバスを有することができる。バス112のさらなる例は、システムバス1018および
図10を参照して以下に説明される。バス112のそのような例は、本主題の開示の任意の実施形態を実装するために使用することができる。
【0052】
量子状態測定ロジックシステム102は、プロセッサを有する任意のタイプの構成要素、機械、デバイス、設備、装置および/または機器を有することができ、および/または有線および/または無線ネットワークとの効果的および/または動作可能な通信を行うことを可能にすることができる。そのような実施形態はすべて想定される。例えば、量子状態測定ロジックシステム102は、サーバデバイス、コンピューティングデバイス、汎用コンピュータ、専用コンピュータ、量子コンピューティングデバイス(例えば、量子コンピュータ)、タブレットコンピューティングデバイス、ハンドヘルドデバイス、サーバクラスのコンピューティングマシンおよび/またはデータベース、ラップトップコンピュータ、ノートブックコンピュータ、デスクトップコンピュータ、携帯電話、スマートフォン、コンシューマ用電気機器および/または装備、産業用および/または商用のデバイス、デジタルアシスタント、マルチメディアインターネット対応電話、マルチメディアプレーヤおよび/または別のタイプのデバイスを有することができる。
【0053】
量子状態測定ロジックシステム102は、データケーブル(例えば、高精細度マルチメディアインターフェース(HDMI(登録商標))、推奨規格(RS)232、イーサネット(登録商標)ケーブルなど)を介して、1つまたは複数の外部システム、ソースおよび/またはデバイス(例えば、古典的コンピューティングデバイスおよび/または量子コンピューティングデバイス、通信デバイスなど)に(例えば、通信的に、電気的に、動作可能に、光学的に、など)結合することができる。いくつかの実施形態では、量子状態測定ロジックシステム102は、ネットワークを介して、1つまたは複数の外部システム、ソースおよび/またはデバイス(例えば、古典的コンピューティングデバイスおよび/または量子コンピューティングデバイス、通信デバイスなど)に(例えば、通信可能に、電気的に、動作可能に、光学的に、など)結合することができる。
【0054】
いくつかの実施形態では、そのようなネットワークは、限定されないが、セルラネットワーク、ワイドエリアネットワーク(WAN)(例えば、インターネット)またはローカルエリアネットワーク(LAN)を含む、有線および無線ネットワークを有することができる。例えば、量子状態測定ロジックシステム102は、限定されないが、無線フィデリティ(Wi-Fi(登録商標))、グローバルシステムフォーモバイルコミュニケーションズ(GSM(登録商標))、ユニバーサル移動体通信システム(UMTS)、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WiMAX(登録商標))、強化型汎用パケット無線サービス(拡張GPRS)、第3世代パートナシッププロジェクト(3GPP(登録商標))ロングタームエボリューション(LTE)、第3世代パートナシッププロジェクト2(3GPP(登録商標)2)ウルトラモバイルブロードバンド(UMB)、高速パケットアクセス(HSPA)、Zigbee(登録商標)および他の802.XX無線技術および/またはレガシ電気通信技術、BLUETOOTH(登録商標)、セッション開始プロトコル(SIP)、ZIGBEE(登録商標)、RF4CEプロトコル、無線HARTプロトコル、6LoWPAN(低電力無線エリアネットワーク上のIPv6)、Z-ウェーブ、ANT、超広帯域(UWB)標準プロトコルおよび/または他のプロプライエタリおよび非プロプライエタリ通信プロトコルを含む、実質的に任意の所望の有線もしくは無線技術を使用して、1つまたは複数の外部システム、ソースおよび/またはデバイス、例えば、コンピューティングデバイスと通信することができる(逆もまた同様である)。したがって、そのような例では、量子状態測定ロジックシステム102は、量子状態測定ロジックシステム102と外部システム、ソース、および/またはデバイス(例えば、コンピューティングデバイス、通信デバイス、など)との間の情報の通信を促進するハードウェア(例えば、中央処理装置(CPU)、トランシーバ、デコーダ、量子ハードウェア、量子プロセッサ、など)、ソフトウェア(例えば、スレッドのセット、プロセスのセット、実行中のソフトウェア、量子パルススケジュール、量子回路、量子ゲート、など)、またはハードウェアとソフトウェアの組み合わせを含むことができる。
【0055】
量子状態測定ロジックシステム102は、1つまたは複数のコンピュータおよび/または機械で読み取り可能、書き込み可能、および/または、実行可能な構成要素および/または命令を含み得、プロセッサ106(例えば、古典的プロセッサ、量子プロセッサなど)によって実行されると、そのような構成要素および/または命令によって定義される動作の実行を促進することができる。さらに、多くの実施形態では、本主題の開示の様々な図面を参照または参照せずに本明細書に記載の量子状態測定ロジックシステム102と関連付けられた任意の構成要素は、1つまたは複数のコンピュータおよび/または機械で読み取り可能、書き込み可能、および/または実行可能な構成要素および/または命令を有することができ、これらは、プロセッサ106によって実行されると、そのような構成要素および/または命令によって定義される動作の実行を促進することができる。例えば、ステージ制御レジスタ構成要素108、コンパイラ構成要素110、および/または本明細書で開示される量子状態測定ロジックシステム102に関連付けられた(例えば、量子状態測定ロジックシステム102と通信可能、電子的、動作可能、および/または光学的に結合および/または使用される)任意の他の構成要素は、そのようなコンピュータおよび/または機械で読み取り可能、書き込み可能、および/または実行可能な構成要素および/または命令を有することができる。その結果、多くの実施形態によれば、本明細書に開示されるように、量子状態測定ロジックシステム102および/または、それと関連付けられた任意の構成要素は、プロセッサ106を使用して、そのようなコンピュータおよび/または機械で読み取り可能、書き込み可能および/または実行可能な構成要素および/または命令を実行し、量子状態測定ロジックシステム102および/または、それと関連付けられた任意のそのような構成要素を参照して本明細書に記載される1つまたは複数の動作の実行を促進することができる。
【0056】
量子状態測定ロジックシステム102は、その1つまたは複数の構成要素(例えば、ステージ制御レジスタ構成要素108、コンパイラ構成要素110、など)によって実行される、および/または、それに関連付けられた動作の実行を(例えば、プロセッサ106を介して)促進することができる。例えば、量子状態測定ロジックシステム102は、量子状態測定パイプラインの少なくとも1つのステージにおける少なくとも1つの記憶要素に対応するデータ処理機能を定義することを(例えば、プロセッサ106を介して)促進することができる。
【0057】
別の例では、以下で詳細に説明するように、量子状態測定ロジックシステム102は、(例えば、プロセッサ106を介して)量子状態測定パイプラインの少なくとも1つのステージの記憶要素に対応するデータ処理機能に基づいて、量子状態測定ロジックを生成することと、量子状態測定ロジックに基づいて、量子状態測定値をキャプチャする能力を有する1つまたは複数の量子バックエンドコンピューティングリソースを識別することと、量子状態測定パイプラインに対応する1つまたは複数のエンティティ定義基準に基づいて、データ処理機能を定義することと、量子状態測定パイプラインの少なくとも1つのステージの記憶要素に対応するデータ処理機能を定義して、定義された量の量子バックエンドコンピューティングリソースが、データ処理機能を有する量子状態測定ロジックに基づいて量子状態測定値をキャプチャすることを可能にすることと、および/またはデータ処理機能の第1のセットまたはデータ処理機能の第2のセットに基づいて量子状態測定ロジックを生成することとをさらに促進に行うことができ、データ処理機能の第1のセットは、量子状態測定パイプラインのビットステージの単一の記憶要素に対応する再使用機能を含み、データ処理機能の第2のセットは、ビットステージのすべての記憶要素に対応するアーカイブ機能を含み、それによって、量子状態測定ロジックに基づいて量子状態測定値をキャプチャする1つまたは複数の量子バックエンドコンピューティングリソースに関連付けられた計算コストの削減を促進する。上記の例では、データ処理機能は、現在の量子測定結果を保存することを示すアーカイブ機能、または現在の量子測定結果を後続の量子測定結果と重ねることを示す再使用機能を有することができ、および/または少なくとも1つのステージは、キャプチャアレイステージ、カーネルステージ、ベクトル対値ステージ、ディスクリミネータステージ、および/またはビットステージを有することができる。
【0058】
ステージ制御レジスタ構成要素108は、量子状態測定パイプラインの少なくとも1つのステージの少なくとも1つの記憶要素に対応するデータ処理機能を定義することができる。例えば、ステージ制御レジスタ構成要素108は、限定されないが、現在の量子測定結果を保存することを示すアーカイブ機能、現在の量子測定結果を後続の量子測定結果と重ねることを示す再使用機能、および/または別のデータ処理機能を含むことができるデータ処理機能を定義することができる。ステージ制御レジスタ構成要素ト108は、量子状態測定パイプラインの少なくとも1つのステージの少なくとも1つの記憶要素に対応するそのようなデータ処理機能を定義でき、そのような少なくとも1つのステージは、限定されないが、キャプチャアレイステージ、カーネルステージ、ベクトル対値ステージ、ディスクリミネータステージ、ビットステージ、および/または量子状態測定パイプラインの別のステージを含むことができる。
【0059】
量子状態測定パイプラインの少なくとも1つのステージで、少なくとも1つの記憶要素に対応するデータ処理機能を定義するには、ステージ制御レジスタ構成要素108は、量子状態測定パイプラインの特定のステージにそれぞれ対応できる1つまたは複数のステージ制御レジスタを生成できる。様々な実施形態では、そのような1つまたは複数のステージ制御レジスタのそれぞれは、量子状態測定パイプラインのそのような特定のステージの少なくとも1つの記憶要素に対応する少なくとも1つのデータ処理機能を有することができる。上記のように、そのような1つまたは複数のステージ制御レジスタのステージ制御レジスタ構成要素108による生成は、量子状態測定パイプラインの少なくとも1つのステージの少なくとも1つの記憶要素に対応するデータ処理機能を定義することを構成できることを理解されたい。
【0060】
いくつかの実施形態では、ステージ制御レジスタ構成要素108は、量子状態測定パイプラインの少なくとも1つのステージの複数の記憶要素にそれぞれ対応する複数のデータ処理機能を定義することができる。例えば、ステージ制御レジスタ構成要素108は、量子状態測定パイプラインの複数のステージにそれぞれ対応する複数のステージ制御レジスタを生成することができる。この例では、そのようなステージ制御レジスタのそれぞれは、複数の記憶要素を含むことができ、そのような複数の記憶要素のうちの少なくとも2つは、それに関連付けられたデータ処理機能を有することができる。
【0061】
上記の例では、ステージ制御レジスタ構成要素108は、量子状態測定パイプラインの少なくとも1つのステージの複数の記憶要素にそれぞれ対応する複数のデータ処理機能を定義して、定義された量の量子バックエンドコンピューティングリソースが、データ処理機能を有する量子状態測定ロジックに基づいて量子状態測定値をキャプチャすることを可能にすることができることを理解されたい。例えば、ステージ制御レジスタ構成要素108は、より大量(例えば、データ処理機能を有する、そのような量子状態測定ロジックを使用せずに量子状態測定値をキャプチャできる特定の量の量子バックエンドコンピューティングリソースと比較して、より大量)の量子バックエンドコンピューティングリソースが、データ処理機能を有する量子状態測定ロジックに基づいて量子状態測定値をキャプチャすることを可能にするために、量子状態測定パイプラインの少なくとも1つのステージの複数の記憶要素にそれぞれ対応する複数のデータ処理機能を定義できることを理解されたい。
【0062】
ステージ制御レジスタ構成要素108は、量子状態測定パイプラインに対応する1つまたは複数のエンティティ定義基準に基づいてデータ処理機能を定義することができる。例えば、図には示されていないが、いくつかの実施形態では、量子状態測定ロジックシステム102は、本明細書で定義されるエンティティが、量子状態測定パイプラインに対応する1つまたは複数の基準を入力するために使用できるインターフェース構成要素(例えば、グラフィカルユーザインターフェース(GUI)、アプリケーションプログラミングインターフェース(API)など)を有することができる。例えば、そのようなエンティティは、量子状態測定ロジックシステム102のそのようなインターフェース構成要素を使用して、量子状態測定パイプラインの各ステージの記憶要素の数を定義することと、量子状態測定パイプラインのカーネルステージで使用される特定のカーネルを定義することと、量子状態測定パイプラインのディスクリミネータステージで使用される特定のディスクリミネータを定義することと、量子状態測定パイプラインの少なくとも1つのステージで、1つまたは複数の記憶要素に対して定義できる1つまたは複数のタイプのデータ処理機能(例えば、アーカイブ機能、再使用機能、など)を定義することと、量子状態測定パイプラインの少なくとも1つのステージで、1つまたは複数の記憶要素に対して特定のデータ処理機能(例えば、アーカイブ機能、再使用機能、など)を定義することと、量子状態測定パイプラインによって出力された1つまたは複数の2進値を記憶するための1つまたは複数のメモリスロットを定義することと、および/または量子状態測定パイプラインに対応する別の基準を定義することとを行うことができる。この例では、ステージ制御レジスタ構成要素108は、そのような1つまたは複数のエンティティ定義基準に基づいて、上記のステージ制御レジスタの1つまたは複数を生成することができ、そのような1つまたは複数のステージ制御レジスタのそれぞれは、量子状態測定パイプラインの特定のステージに対応することができる。
【0063】
コンパイラ構成要素110は、量子状態測定パイプラインの少なくとも1つのステージの記憶要素に対応するデータ処理機能に基づいて、量子状態測定ロジックを生成することができる。例えば、コンパイラ構成要素110は、上述したようにステージ制御レジスタ構成要素108によって定義できるデータ処理機能に基づいて(例えば、使用して)、量子状態測定ロジックを生成でき、そのようなデータ処理機能は、量子状態測定パイプラインの少なくとも1つのステージの記憶要素に対応する。例えば、コンパイラ構成要素110は、ステージ制御レジスタ構成要素108によって生成できる上記の1つまたは複数のステージ制御レジスタを有する量子状態測定ロジックを生成でき、各状態制御レジスタは、量子状態測定パイプラインの特定のステージに対応でき、各状態制御レジスタは、ステージの少なくとも1つの記憶要素に対応する少なくとも1つのデータ処理機能を有することができる。
【0064】
コンパイラ構成要素110は、コンパイラ構成要素110によって生成できる上記の量子状態測定ロジックに基づいて、量子状態測定値をキャプチャする能力を有する1つまたは複数の量子バックエンドコンピューティングリソースを識別することができる。例えば、コンパイラ構成要素110は、上述したようにステージ制御レジスタ構成要素108によって定義できるデータ処理機能に基づいて(例えば、使用して)、コンパイラ構成要素110によって生成できる量子状態測定ロジックに基づいて(例えば、使用して)、量子状態測定値をキャプチャする能力を有する1つまたは複数の量子バックエンドコンピューティングリソースを識別することができる。様々な実施形態では、そのような1つまたは複数の量子バックエンドコンピューティングリソースは、限定されないが、量子ベースのソフトウェア、量子ハードウェア(例えば、量子プロセッサ、超電導回路、など)、量子デバイス(例えば、量子コンピュータ、など)、および/または別の量子バックエンドコンピューティングリソースを含むことができる。これらの実施形態では、そのような1つまたは複数の量子バックエンドコンピューティングリソースは、上述したようにコンパイラ構成要素110によって生成できる量子状態測定ロジックに基づいて(例えば、使用して)、1つまたは複数のキュービットの量子状態測定値をキャプチャすることができる。
【0065】
1つの実施形態では、コンパイラ構成要素110は、データ処理機能の第1のセットまたはデータ処理機能の第2のセットに基づいて、量子状態測定ロジックを生成することができる。この実施形態では、データ処理機能の第1のセットは、量子状態測定パイプラインのビットステージの単一の記憶要素に対応する再使用機能を有し、データ処理機能の第2のセットは、そのようなビットステージのすべての記憶要素に対応するアーカイブ機能を有する。この実施形態では、ステージ制御レジスタ構成要素108は、上述したように、そのようなデータ処理機能の第1のセットおよび/またはそのようなデータ処理機能の第2のセットを定義することができる。上記のデータ処理機能の第1のセットまたはデータ処理機能の第2のセットに基づく(例えば、使用する)そのような量子状態測定ロジックの生成は、それによって、量子状態測定ロジックに基づいて量子状態測定値をキャプチャする1つまたは複数の量子バックエンドコンピューティングリソースに関連付けられた計算コストの削減を促進できることを理解されたい。
【0066】
図2は、本明細書に記載の1つまたは複数の実施形態による、量子状態測定バックエンドプロセスで使用される量子状態測定ロジックを促進することができる例示的な非限定的なシステム200のブロック図を示す。それぞれの実施形態で使用される同様の要素および/またはプロセスの繰り返しの説明は、簡潔にするために省略される。
【0067】
システム200は、1つまたは複数のキュービットの量子状態をキャプチャするバックエンドプロセスを促進することができる量子状態測定バックエンドシステムのアーキテクチャを備えることができる。いくつかの実施形態では、システム200は、1つまたは複数のキュービットの量子状態をキャプチャするバックエンドプロセスを促進できる量子状態測定バックエンドシステム内に取得チャネルを備えることができる。
【0068】
システム200は、量子状態測定パイプライン202を備えることができる。量子状態測定パイプライン202は、キャプチャアレイステージ206、カーネルステージ208、ベクトル対値ステージ210、ディスクリミネータステージ212および/またはビットステージ214を有することができる。
図2に示す例示的な実施形態に示すように、キャプチャアレイステージ206は、キャプチャアレイ記憶要素206aを有することができ、カーネルステージ208は、カーネルインスタンス208aを有することができ、ベクトル対値ステージ210は、ベクトル対値記憶要素210aを有することができ、ディスクリミネータステージ212は、ディスクリミネータインスタンス212aを有することができ、および/またはビットステージ214は、ビット記憶要素214aを有することができる。
【0069】
システム200は、アナログ-デジタルコンバータ(ADC)によって出力される生データ(例えば、電圧値)を受信することができるフィルタ204をさらに備えることができ、そのような生データは、フィルタ204によって除去され、(実数、虚数)対の数(
図2に「(re,im)」として示す)によって表される複素数を有することができる「レベル0」データサンプル(本明細書で言及され、
図2に「L0サンプル」として示す)を生成できる中間周波数(IF)を有することができる。様々な実施形態では、フィルタ204によるL0サンプル出力は、以下に説明するように、量子状態測定パイプライン202の様々なステージによるさらなる処理のために、量子状態測定パイプライン202に入力(例えば、キャプチャアレイステージ206および/またはキャプチャアレイ記憶要素206aに入力)することができる。
【0070】
図2に示す例示的な実施形態に示す量子状態測定パイプライン202の各ステージは単一の構成要素(例えば、単一のキャプチャアレイ記憶要素206a、単一のカーネルインスタンス208a、単一のベクトル対値記憶要素210a、単一のディスクリミネータインスタンス212a、および単一のビット記憶要素214a)のみを有するが、本主題の開示はそのように限定されないことを理解されたい。例えば、
図4および
図5を参照して以下に説明するように、量子状態測定パイプライン202の各ステージは、複数のそのような構成要素(例えば、複数のキャプチャアレイ記憶要素、複数のカーネルインスタンス、複数のベクトル対値記憶要素、複数のディスクリミネータインスタンス、および複数のビット記憶要素)を有することができる。
図2に示す例示的な実施形態は、量子状態測定パイプライン202の各ステージの第1の記憶要素および/または第1のインスタンスが、量子状態測定ロジックシステム102によってどのように自動的に選択され、キュービット測定の開始時にキャプチャされた初期測定データを記憶および/または処理できるかを示す。以下に説明され、
図4および
図5に示す例示的な実施形態は、量子状態測定パイプライン202の各ステージの後続の記憶要素および/または後続のインスタンスが、量子状態測定ロジックシステム102によってどのように使用され、1つまたは複数のキュービットからキャプチャされた後続の測定データを記憶および/または処理できるかを示す。
【0071】
図2に示す例示的な実施形態に示すように、キュービットの測定の開始時に、フィルタ204による初期L0サンプル出力は、キャプチャアレイステージ206に提供する、および/またはキャプチャアレイ記憶要素206aにロードすることができる。様々な実施形態では、そのようなL0サンプルは、測定中にキュービットから到来する信号のエンベロープを記述する複素数を有することができる。これらの実施形態では、L0サンプル値は、このレベルのデータが依然として中間周波数を含む可能性があるため、ADCからの生の電圧値ではない可能性がある。したがって、これらの実施形態では、上述したように、フィルタ204は任意の中間周波数を除去でき、その後、各データサンプルは(実数、虚数)対の数によって表される複素数になる。フィルタリングされている間、これらの実施形態では、複素数は依然として、ある瞬間に取得されたデータサンプルである。いくつかの実施形態では、戻された波形を記述するために、一連のデータサンプルを使用でき、属性「dtm」はデータサンプル間の経過時間を定義する。
【0072】
図2に示す例示的な実施形態では、カーネルステージ208のカーネルインスタンス208aは、キャプチャアレイ記憶要素206aに記憶されたL0サンプルを、「IQ対」と呼ばれる、および本明細書では「レベル1」データサンプルおよび/または「L1サンプル」(
図2に「L1 IQ対」として示す)と言及される2つの複素数に変換することができる、モデル、アルゴリズムおよび/または数学関数を有することができる。この例示的な実施形態では、そのようなL1サンプルは、
図2に示すように、ベクトル対値記憶要素210aに記憶することができる。様々な実施形態では、L0サンプルをカーネルステージ208のカーネルインスタンス208aに通すことによって、波形を同相(I)値および直交位相(Q)値の2つの値に縮小することができ、合わせてL1サンプルを構成することができる。これらの実施形態では、L1サンプルは、L0サンプルの加重和を表すことができる。いくつかの実施形態では、カーネルステージ208は、それぞれが異なる重みを生成できる異なるカーネルを有することができるが、最終目標は、キュービットが量子状態
【数1】
対量子状態
【数2】
で測定する場合に明確に異なるI値およびQ値を生成することである。いくつかの実施形態では、重み付けは、量子状態測定ロジックシステム102によって、測定間隔の開始時および/または終了時にキュービットにより有用な情報が送信されるのを待機している間に取得されたサンプルを無視するために使用することもできる。
【0073】
図2に示す例示的な実施形態に示すように、ベクトル対値記憶要素210aに記憶することができるL1サンプルは、ディスクリミネータステージ212のディスクリミネータインスタンス212aに提供することができる。様々な実施形態では、ディスクリミネータインスタンス212aは、キュービット測定値のL1サンプル(例えば、I値およびQ値)を、本明細書で「レベル2」データサンプルおよび/または「L2サンプル」(
図2に「L2ビット」として示す)と言及される0または1の単一の2進値に縮小することができるモデル、アルゴリズム、および/または数学関数を含むことができる。これらの実施形態では、そのようなL2サンプル(例えば、0または1の2進値)は、測定結果の最も凝縮された形態であり得る。これらの実施形態では、L2サンプルは単一のビットとすることができるため、これを分配させ、他のL2サンプルと組み合わせること、および/または単一のテスト可能な2値状態に縮小することができる。
【0074】
システム200は、測定される1つまたは複数のキュービット、または、(例えば、テストを実行するために量子状態測定ロジックシステム102を実装する、本明細書で定義されるエンティティによって実行されるテストで)複数回測定される特定のキュービットに対応できる1つまたは複数のメモリスロット216(
図2では「memory_slot」として示す)をさらに備えることができる。
図2に示される例示的な実施形態では、各メモリスロット216は、量子状態測定ロジックシステム102によって使用され、量子状態測定パイプライン202によって出力される特定のキュービットの測定データを、量子状態測定ロジックシステム102を実装できる本明細書で定義されるエンティティに提供することができる。
図2に示す例示的な実施形態に示すように、
図2に「2」として示す特定のメモリスロット216は、量子状態測定ロジックシステム102によって使用され、ビット記憶要素214aに記憶できるL2サンプル値(例えば、0または1のL2ビット値)を、量子状態測定ロジックシステム102を実装できる本明細書で定義されるエンティティに提供することができる。いくつかの実施形態では、そのような1つまたは複数のメモリスロット216は、量子状態測定ロジックシステム102を実装できる、そのようなエンティティによって定義することができる。例えば、そのようなエンティティは、量子状態測定ロジックシステム102(例えば、GUI、API、など)のインターフェース構成要素を使用して、量子状態測定パイプライン202によって出力(例えば、量子状態測定パイプライン202のビットステージ214のビット記憶要素214aによって出力)されたL2サンプル値(例えば、2進値)を記憶するために、特定のメモリスロット216を指定することができる。
【0075】
いくつかの実施形態では、
図2に示す1つまたは複数のメモリスロット216は、量子状態測定ロジックシステム102によって使用され、L0サンプル、L1サンプルおよび/またはL2サンプルを、量子状態測定ロジックシステム102を実装できる本明細書で定義されるエンティティに提供することができる。以下に説明され、
図3に示す例示的な実施形態は、そのような異なるタイプのデータ(例えば、L0、L1および/またはL2サンプル)を1つまたは複数のメモリスロット216に記憶することができる方法を示す。
【0076】
図3は、本明細書に記載の1つまたは複数の実施形態による、量子状態測定バックエンドプロセスで使用される量子状態測定ロジックを促進することができる例示的な非限定的なダイアグラム300を示す。それぞれの実施形態で使用される同様の要素および/またはプロセスの繰り返しの説明は、簡潔にするために省略される。
【0077】
ダイアグラム300は、そのような異なるタイプのデータを1つまたは複数のメモリスロット216にどのように記憶できるか、および/または量子状態測定ロジックシステム102を実装できる本明細書で定義されるエンティティにどのように提供できるかを示す、上記のL0、L1および/またはL2サンプルに対応するメモリレイアウトを有することができる。現在、既存の量子状態測定バックエンドシステムの量子バックエンドハードウェアは、実験間で測定データを保存しないが、ホストは実験間で測定データを保存し、そのようなシステムを実装するエンティティにそのようなデータを提供することができる。
図3に示す例示的な実施形態に示すダイアグラム300は、量子状態測定ロジックシステム102が、1つまたは複数のメモリスロット216を介して、量子状態測定ロジックシステム102を実装できる本明細書で定義されるエンティティにそのような情報をどのように記憶および/または提供することができるかを示す。この例示的な実施形態では、ダイアグラム300は、L0、L1、および/またはL2サンプル情報を、量子状態測定ロジックシステム102を実装できる、そのようなエンティティにどのように(例えば、実数および虚数の浮動小数点値として、2進値として、など)提示できるかをさらに示す。
【0078】
図3に示す例示的な実施形態では、1つまたは複数の量子バックエンドコンピューティングリソースによって4つの測定(
図3では「[0]」、「[1]」、「[2]」、「[3]」と示す)を実行して、3つのL0サンプル(
図3では「サンプル1」、「サンプル2」、「サンプル3」と示す)をキャプチャすることができる。この例示的な実施形態では、各測定でキャプチャされた各L0サンプルは、
図3に示すように、浮動小数点値として表すことができる実数値および虚数値を有することができる。この例示的な実施形態では、属性「dtm」は、データサンプル間の経過時間(例えば、サンプル1とサンプル2の間の経過時間、およびサンプル2とサンプル3の間の経過時間)を定義する。この例示的な実施形態では、4つの測定のそれぞれでキャプチャされたL0サンプルは、例えば、
図1を参照して上述したように、カーネルステージ208のカーネルインスタンス208aによって(例えば、加重平均法を使用して)平均化され、4つの測定のそれぞれについて対応するL1サンプルを生成することができる。この例示的な実施形態では、L1サンプルは、
図3に示すように、浮動小数点値として表すことができる実数値および虚数値を有することもできる。この例示的な実施形態では、4つの測定値のそれぞれのL1サンプルは、例えば、
図1を参照して上述したように、ディスクリミネータステージ212のディスクリミネータインスタンス212aによって削減され、0または1の2進値に減らして生成することができる(
図3では「Qvalue」および「Binary」と示されている)。
【0079】
図4は、本明細書に記載の1つまたは複数の実施形態による、量子状態測定バックエンドプロセスで使用される量子状態測定ロジックを促進することができる例示的な非限定的なシステム400のブロック図を示す。それぞれの実施形態で使用される同様の要素および/またはプロセスの繰り返しの説明は、簡潔にするために省略される。
【0080】
システム400は、
図2を参照して上述したシステム200の例示的で非限定的な代替実施形態を有することができる。
図4に示される例示的な実施形態に示すように、キャプチャアレイステージ206、ベクトル対値ステージ210、および/またはビットステージ214はそれぞれ、複数の量子状態測定パイプライン402a、402b、402c、402d、402e、402fを作成するために、カーネルインスタンス208aおよびディスクリミネータインスタンス212aと組み合わせて使用できる複数の記憶要素を有することができる。例えば、
図4に示す例示的な実施形態では、キャプチャアレイステージ206は、キャプチャアレイ記憶要素206a、206b、206cを有することができ、ベクトル対値ステージ210は、ベクトル対値記憶要素210a、210b、210c、210d、210e、210fを有することができ、および/またはビットステージ214は、ビット記憶要素214a、214b、214c、214d、214e、214fを有することができる。この例示的な実施形態では、量子状態測定パイプライン402aは、
図2を参照して上述した量子状態測定パイプライン202と同一の構造および/または機能を有することができる。
【0081】
図4に示す例示的な実施形態では、量子状態測定パイプライン402a、402b、402c、402d、402e、402fは、ステージ制御レジスタ構成要素108を使用して、量子状態測定ロジックシステム102によって生成することができる。例えば、この例示的な実施形態では、ステージ制御レジスタ構成要素108は、キャプチャアレイステージ206、カーネルステージ208、ベクトル対値ステージ210、ディスクリミネータステージ212、およびビットステージ214にそれぞれ対応する複数のステージ制御レジスタ(例えば、5個)を生成することができる。この例示的な実施形態では、以下で詳細に説明するように、ステージ制御レジスタ構成要素108は、そのようなステージのそれぞれにおける少なくとも1つのインスタンスまたは記憶要素に対応するデータ処理機能をそれぞれ定義するように、そのようなステージ制御レジスタを生成することができる。例えば、ステージ制御レジスタ構成要素108は、そのようなステージのそれぞれにおける少なくとも1つのインスタンスまたは記憶要素に対応するアーカイブ機能または再使用機能をそれぞれ定義するように、そのようなステージ制御レジスタを生成することができる。この例では、そのようなアーカイブ機能は、現在の量子測定結果を保存することを示すことができ、そのような再使用機能は、現在の量子測定結果を後続の量子測定結果と重ねることを示すことができる。例えば、実験の開始時に、各ステージの第1のインスタンスまたは第1の記憶要素を既定で使用して、量子状態測定データを処理または記憶することができる。この例示的な実施形態では、各測定が行われると、ステージ制御レジスタ構成要素108によって生成された各ステージ制御レジスタのビットは、測定が完了した後、ステージの次のインスタンスまたは記憶要素に切り替えるか、現在のインスタンスまたは記憶要素を再使用するかを決定する(例えば、現在のインスタンスまたは記憶要素を使用して、後続の測定でキャプチャされた後続の量子状態測定データを処理または記憶する)ことができる。
【0082】
図4に示す例示的な実施形態に示すように、ステージ制御レジスタ構成要素108は、キャプチャアレイ記憶要素206aが、第1のL0サンプルを記憶するために使用され、第2のL0サンプルを記憶するために再使用され、キャプチャアレイ記憶要素206bが、第3のL0サンプルをアーカイブし、キャプチャアレイ記憶要素206cが、第4のL0サンプルを記憶するために使用され、第5および第6のL0サンプルを記憶するために再使用されるように、キャプチャアレイステージ206のためのステージ制御レジスタを生成することができる。この例示的な実施形態では、ステージ制御レジスタ構成要素108は、カーネルインスタンス208aが、第1のL0サンプルを第1のL1サンプルに変換するために使用され、第2、第3、第4、第5、および第6のL0サンプルをそれぞれ第2、第3、第4、第5、および第6のL1サンプルに変換するために再使用されるように、カーネルステージ208のためのステージ制御レジスタを生成することができる。この例示的な実施形態では、ステージ制御レジスタ構成要素108は、ベクトル対値記憶要素210a、210b、210c、210d、210e、210fがそれぞれ第1、第2、第3、第4、第5、および第6のL1サンプルをアーカイブするように、ベクトル対値ステージ210のためのステージ制御レジスタを生成できることができる。この例示的な実施形態では、ステージ制御レジスタ構成要素108は、ディスクリミネータインスタンス212aが、第1のL1サンプルを第1のL2サンプルに縮小するために使用され、第2、第3、第4、第5、および第6のL1サンプルをそれぞれ第2、第3、第4、第5、および第6のL2サンプルに縮小するために再使用されるように、ディスクリミネータステージ212のためのステージ制御レジスタを生成することができる。この例示的な実施形態では、ステージ制御レジスタ構成要素108は、ビット記憶要素214aが、第1のL2サンプルをアーカイブし、ビット記憶要素214bが、第2のL2サンプルを記憶するために使用され、第3のL2サンプルを記憶するために再使用され、ビット記憶要素214c、214d、214eが、それぞれ第4、第5、および第6のL2サンプルをアーカイブするように、ビットステージ214のステージ制御レジスタを生成することができる。
図4に示す例示的な実施形態に示すように、第1、第2、第3、第4、第5、および第6のL2サンプルのそれぞれは、1つまたは複数のメモリスロット216を介して、量子状態測定ロジックシステム102を実装できる本明細書で定義されるエンティティに提供することができる。
【0083】
図4に示す例示的な実施形態では、量子状態測定パイプライン402a、402b、402c、402d、402e、402fの各ステージに対して上記のステージ制御レジスタを生成することによって、量子状態測定ロジックシステム102および/またはステージ制御レジスタ構成要素108は、それによって、そのような量子状態測定パイプライン402a、402b、402c、402d、402e、402fを生成することができる。追加的に、または代替的に、この例示的な実施形態では、量子状態測定パイプライン402a、402b、402c、402d、402e、402fの各ステージに対する上記のステージ制御レジスタのそのような生成に基づいて、コンパイラ構成要素110は、
図4に示す量子状態測定ロジック404を生成することができる。いくつかの実施形態では、コンパイラ構成要素110は、量子状態測定ロジック404に基づいて(例えば、使用して)、量子状態測定値をキャプチャする能力を有する1つまたは複数の量子バックエンドコンピューティングリソースを識別することができる。
【0084】
図5は、本明細書に記載の1つまたは複数の実施形態による、量子状態測定バックエンドプロセスで使用される量子状態測定ロジックを促進することができる例示的な非限定的なシステム500のブロック図を示す。それぞれの実施形態で使用される同様の要素および/またはプロセスの繰り返しの説明は、簡潔にするために省略される。
【0085】
システム500は、
図4を参照して上述したシステム400の例示的で非限定的な代替実施形態を有することができる。
図5に示す例示的な実施形態に示すように、キャプチャアレイステージ206、カーネルステージ208、ベクトル対値ステージ210、ディスクリミネータステージ212、および/またはビットステージ214はそれぞれ、複数の量子状態測定パイプライン502a、502b、502c、502d、502e、502fを作成するために使用できる複数のインスタンスおよび/または記憶要素を有することができる。例えば、
図5に示す例示的な実施形態では、キャプチャアレイステージ206は、キャプチャアレイ記憶要素206a、206b、206cを有することができ、カーネルステージ208は、カーネルインスタンス208a、208b、208cを有することができ、ベクトル対値ステージ210は、ベクトル対値記憶要素210a、210b、210c、210d、210e、210fを有することができ、ディスクリミネータステージ212は、ディスクリミネータインスタンス212a、212b、212cを有することができ、および/またはビットステージ214は、ビット記憶要素214a、214b、214c、214d、214e、214fを有することができる。この例示的な実施形態では、量子状態測定パイプライン502aは、
図4を参照して上述した量子状態測定パイプライン402aと同一の構造および/または機能を有することができる。
【0086】
図5に示す例示的な実施形態では、量子状態測定パイプライン502a、502b、502c、502d、502e、502fは、ステージ制御レジスタ構成要素108を使用して、量子状態測定ロジックシステム102によって生成することができる。例えば、この例示的な実施形態では、ステージ制御レジスタ構成要素108は、キャプチャアレイステージ206、カーネルステージ208、ベクトル対値ステージ210、ディスクリミネータステージ212、およびビットステージ214にそれぞれ対応する複数のステージ制御レジスタ(例えば、5個)を生成することができる。この例示的な実施形態では、以下で詳細に説明するように、ステージ制御レジスタ構成要素108は、そのようなステージのそれぞれにおける少なくとも1つのインスタンスまたは記憶要素に対応するデータ処理機能をそれぞれ定義するように、そのようなステージ制御レジスタを生成することができる。例えば、ステージ制御レジスタ構成要素108は、そのようなステージのそれぞれにおける少なくとも1つのインスタンスまたは記憶要素に対応するアーカイブ機能または再使用機能をそれぞれ定義するように、そのようなステージ制御レジスタを生成することができる。この例では、そのようなアーカイブ機能は、現在の量子測定結果を保存することを示すことができ、そのような再使用機能は、現在の量子測定結果を後続の量子測定結果と重ねることを示すことができる。例えば、実験の開始時に、各ステージの第1のインスタンスまたは第1の記憶要素を既定で使用して、量子状態測定データを処理または記憶することができる。この例示的な実施形態では、各測定が行われると、ステージ制御レジスタ構成要素108によって生成された各ステージ制御レジスタのビットは、測定が完了した後、ステージの次のインスタンスまたは記憶要素に切り替えるか、現在のインスタンスまたは記憶要素を再使用するかを決定する(例えば、現在のインスタンスまたは記憶要素を使用して、後続の測定でキャプチャされた後続の量子状態測定データを処理または記憶する)ことができる。
【0087】
図5に示す例示的な実施形態に示すように、ステージ制御レジスタ構成要素108は、キャプチャアレイ記憶要素206aが、第1のL0サンプルを記憶するために使用され、第2のL0サンプルを記憶するために再使用され、キャプチャアレイ記憶要素206bが、第3のL0サンプルをアーカイブし、キャプチャアレイ記憶要素206cが、第4のL0サンプルを記憶するために使用され、第5のL0サンプルおよび第6のL0サンプルを記憶するために再使用されるように、キャプチャアレイステージ206のためのステージ制御レジスタを生成することができる。この例示的な実施形態では、ステージ制御レジスタ構成要素108は、カーネルインスタンス208aが、第1のL0サンプルを第1のL1サンプルに変換するために使用され、カーネルインスタンス208bが、第2のL0サンプルを第2のL1サンプルに変換するために使用され、第3のL0サンプルを第3のL1サンプルに変換するために再使用され、カーネルインスタンス208cが、第4のL0サンプルを第4のL1サンプルに変換するために使用され、第5のL0サンプルおよび第6のL0サンプルをそれぞれ第5のL1サンプルおよび第6のL1サンプルに変換するために再使用されるように、カーネルステージ208のためのステージ制御レジスタを生成することができる。この例示的な実施形態では、ステージ制御レジスタ構成要素108は、ベクトル対値記憶要素210a、210b、210c、210d、210e、210fがそれぞれ第1、第2、第3、第4、第5、および第6のL1サンプルをアーカイブするように、ベクトル対値ステージ210のためのステージ制御レジスタを生成できることができる。この例示的な実施形態では、ステージ制御レジスタ構成要素108は、ディスクリミネータインスタンス212aが、第1のL1サンプルを第1のL2サンプルに縮小するために使用され、第2のL1サンプルおよび第3のL1サンプルを第2のL2サンプルおよび第3のL2サンプルにそれぞれ縮小するために再使用される、ディスクリミネータインスタンス212bが、第4のL1サンプルを第4のL2サンプルに縮小するために使用され、第5のL1サンプルおよび第6のL1サンプルをそれぞれ第5のL2サンプルおよび第6のL2サンプルに縮小するために再使用されるように、ディスクリミネータステージ212のためのステージ制御レジスタを生成することができる。この例示的な実施形態では、ステージ制御レジスタ構成要素108は、ビット記憶要素214aが、第1のL2サンプルをアーカイブし、ビット記憶要素214bが、第2のL2サンプルを記憶するために使用され、第3のL2サンプルを記憶するために再使用され、ビット記憶要素214c、214d、214eが、それぞれ第4、第5、および第6のL2サンプルをアーカイブするように、ビットステージ214のステージ制御レジスタを生成することができる。
図5に示す例示的な実施形態に示すように、第1、第2、第3、第4、第5、および第6のL2サンプルのそれぞれは、1つまたは複数のメモリスロット216を介して、量子状態測定ロジックシステム102を実装できる本明細書で定義されるエンティティに提供することができる。
【0088】
図5に示す例示的な実施形態では、量子状態測定パイプライン502a、502b、502c、502d、502e、502fの各ステージに対して上記のステージ制御レジスタを生成することによって、量子状態測定ロジックシステム102および/またはステージ制御レジスタ構成要素108は、それによって、そのような量子状態測定パイプライン502a、502b、502c、502d、502e、502fを生成することができる。追加的に、または代替的に、この例示的な実施形態では、量子状態測定パイプライン502a、502b、502c、502d、502e、502fの各ステージに対する上記のステージ制御レジスタのそのような生成に基づいて、コンパイラ構成要素110は、
図5に示す量子状態測定ロジック504を生成することができる。いくつかの実施形態では、コンパイラ構成要素110は、量子状態測定ロジック504に基づいて(例えば、使用して)、量子状態測定値をキャプチャする能力を有する1つまたは複数の量子バックエンドコンピューティングリソースを識別することができる。
【0089】
図6は、本明細書に記載の1つまたは複数の実施形態による、量子状態測定バックエンドプロセスで使用される量子状態測定ロジックを促進することができる例示的な非限定的なシステム600のブロック図を示す。それぞれの実施形態で使用される同様の要素および/またはプロセスの繰り返しの説明は、簡潔にするために省略される。
【0090】
図6に示す例示的な実施形態に示すシステム600は、量子状態測定パイプライン402a、402b、402c、402d、402e、402fおよび/または量子状態測定パイプライン502a、502b、502c、502d、502e、502fの上記のステージのうちの任意の2つの間に存在できる概念的な観点からのロジックを示し、そのような2つのステージは、
図6では「ステージN」および「ステージN+1」として示される。
図4および
図5を参照して上述した例示的な実施形態では、ステージ制御レジスタ構成要素108によって生成できる上記のステージ制御レジスタを使用して、ステージインスタンスおよび/または記憶要素を動的に変更することによって、量子状態測定ロジックシステム102、システム400および/またはシステム500は、ステージ間の選択機構を効果的に使用して、どのインスタンスおよび/または記憶要素がアクティブであるかを変更し、それを次のステージへの入力として使用できることを理解されたい。
図6に示す例示的な実施形態では、システム600は、そのような選択機構を表すことができる。
図6に示す例示的な実施形態では、システム600が、上記の選択機構およびステージ制御レジスタをどのように動作させ、上記の各パイプライン(例えば、量子状態測定パイプライン402a、402b、402c、402d、402e、402fおよび量子状態測定パイプライン502a、502b、502c、502d、502e、502f)を通る待ち時間を記述するために使用される境界を正確に定義するかを示す。
【0091】
以下で詳細に説明するように、ステージ制御レジスタ構成要素108によって生成できる上記の各ステージ制御レジスタのビットを使用して、
図6に示す例示的な実施形態においてシステム600として表される上記の選択機構を制御する。
図2、
図4、および
図5に示す例示的な実施形態を参照して上述したように、各ステージのインスタンス0および/または記憶要素0、ならびにステージ制御レジスタ構成要素108によって生成される対応するステージ制御レジスタのビット0は、各実験の開始時にアクティブエンティティとして設定することができる。これらの例示的な実施形態および
図6に示す例示的な実施形態では、測定終了(EOM)表示がシステム600によって受信されると、特定のステージ(
図6では「ステージN SCRレジスタ」と示される)に対応するステージ制御レジスタ602から異なるビットを選択でき、ステージ制御レジスタ602は、上述したようにステージ制御レジスタ構成要素108によって生成することができる。これらの例示的な実施形態では、選択されたビット、EOM、および、アクティブインスタンスおよび/またはアクティブ記憶要素が現在の測定の処理を完了したときの知識は、アクティブインスタンスおよび/またはアクティブ記憶要素を、次のものに変更するかどうかを決定するために(例えば、量子状態測定ロジックシステム102、ステージ制御レジスタ構成要素108、コンパイラ構成要素110、システム600、システム600のステージ制御レジスタ602、および/または選択マルチプレクサ604によって)使用される。これらの実施形態では、アクティブインスタンスおよび/またはアクティブ記憶要素を変更すると、次のステージの入力のソースとして機能するものも変更されることに留意されたい。
【0092】
図6に示す例示的な実施形態はまた、上記のパイプラインステージを通る待ち時間を記述するために境界がどこに存在するかを示す。例えば、この例示的な実施形態では、待ち時間の記述のためのそのような境界は、各ステージインスタンスの開始点になるように定義される。この例示的な実施形態では、この定義を使用して、
図6のシステム600として表される選択機構による遅延は、次のステージの待ち時間の一部ではなく、駆動ステージのインスタンスの待ち時間に含めることができる。この例示的な実施形態では、フィルタリングが完了した後に第1のステージ(例えば、キャプチャアレイステージ206)の待ち時間の記述が開始され、
図6に示す選択マルチプレクサ604の後に最終ステージの出力(例えば、アクティブビット記憶要素214a、214b、214c、214d、214e、または214fからのL2サンプル)が終了するので、そのような規則はうまく機能する。
【0093】
量子状態測定ロジックシステム102は、様々な技術に関連付けることができる。例えば、量子状態測定ロジックシステム102は、量子コンピューティング技術、量子ハードウェアおよび/またはソフトウェア技術、量子アルゴリズム技術、量子シミュレーション技術、量子オペレータサンプリング技術、量子バックエンドコンピューティング技術、量子状態測定バックエンド技術、機械学習技術、人工知能技術、クラウドコンピューティング技術および/または他の技術と関連付けることができる。
【0094】
量子状態測定ロジックシステム102は、上で識別された様々な技術に関連付けられたシステム、デバイス、構成要素、動作ステップおよび/または処理ステップに技術的改善を提供することができる。例えば、量子状態測定ロジックシステム102は、量子状態測定パイプラインの少なくとも1つのステージにおける少なくとも1つの記憶要素に対応するデータ処理機能を定義することができる。この例では、量子状態測定ロジックシステム102はさらに、量子状態測定パイプラインに対応する1つまたは複数のエンティティ定義基準に基づいてデータ処理機能を定義し、量子状態測定パイプラインの少なくとも1つのステージの記憶要素に対応するデータ処理機能を定義して、定義された量の量子バックエンドコンピューティングリソースが、データ処理機能を有する量子状態測定ロジックに基づいて量子状態測定値をキャプチャすることを可能にすることができる。
【0095】
上記の例では、1つまたは複数のエンティティ定義基準に基づいて、1つまたは複数のデータ処理機能を定義することにより、量子状態測定ロジックシステム102は、そのようなリソースが、そのような1つまたは複数のエンティティ定義基準をサポートするだけでよいため、そのようなシステムおよび/またはプロセスに関連付けられたコンパイラが、量子状態測定値をキャプチャできる、より大量の量子バックエンドコンピューティングリソースをより迅速かつ、より効率的に識別することを可能にすることによって、量子状態測定バックエンドシステムおよび/またはプロセスを改善することができる。例えば、量子状態測定ロジックシステム102を実装する本明細書で定義されるエンティティが、上記のL0サンプルのみをアーカイブすることを望む実施形態では、コンパイラ構成要素110は、量子状態測定値をキャプチャできる、より大量の量子バックエンドコンピューティングリソースをより迅速かつ/または、より効率的に識別でき、したがって、そのようなリソースは、(例えば、上記のL0、L1、およびL2サンプルのアーカイブを促進できるのとは対照的に)L0サンプルのみの、そのようなアーカイブを促進できるだけでよい。別の例では、そのようなエンティティが特定のカーネルインスタンスまたは特定のディスクリミネータインスタンスを使用することを望む実施形態では、コンパイラ構成要素110は、(例えば、様々なタイプのカーネルインスタンスまたは様々なタイプのディスクリミネータインスタンスをサポートできるのとは対照的に)そのような特定のカーネルインスタンスまたはそのような特定のディスクリミネータインスタンスをサポートできる、より大量の量子バックエンドコンピューティングリソースをより迅速および/または、より効率的に識別することができる。
【0096】
量子状態測定ロジックシステム102は、量子状態測定ロジックシステム102に関連付けられた処理ユニット(例えば、プロセッサ106、など)に技術的改善を提供することができる。例えば、上記のコンパイラ(例えば、コンパイラ構成要素110)が、1つまたは複数の特定のエンティティ定義基準をサポートするだけでよい、より大量の量子バックエンドコンピューティングリソースをより迅速かつ/または、より効率的に識別できるようにすることによって、それによって、量子状態測定ロジックシステム102は、上記のリソース識別プロセスを実行する際に、そのようなコンパイラのソフトウェア(例えば、命令、コマンド、処理スレッド、など)を実行する際に処理ユニット(例えば、プロセッサ106)によって実行される処理サイクルの数を減少させることができる。この例では、そのような処理ユニット(例えば、プロセッサ106)によって実行される処理サイクルの数を減少させることによって、それによって、量子状態測定ロジックシステム102は、そのような処理ユニット(例えば、プロセッサ106)に関連付けられた性能の向上、効率の向上、および/または計算コストの削減を促進することができる。
【0097】
量子状態測定ロジックシステム102の実際の適用は、量子状態測定バックエンドシステムおよび/またはプロセスに実装して、様々な分野(例えば、金融、化学、医学、など)の複雑さに及ぶ様々な問題(例えば、推定問題、最適化問題、など)に対する1つまたは複数の解を計算する(例えば、ヒューリスティック、など)ために使用できる1つまたは複数のキュービットから量子状態測定値をキャプチャできることである。例えば、量子状態測定ロジックシステム102の実際の適用は、量子状態測定バックエンドシステムおよび/またはプロセスに実装して、化学、医学、および/または金融の分野における最適化問題に対する1つまたは複数の解を計算する(例えば、ヒューリスティック、など)ために使用できる1つまたは複数のキュービットから量子状態測定値をキャプチャできることであり、そのような解は、例えば、新しい化合物、新しい薬、および/または新しいオプションプレミアムを設計するために使用できる。
【0098】
量子状態測定ロジックシステム102は、比較的新しい量子コンピューティング技術によって考え出される新しい手法を提供することを理解されたい。例えば、量子状態測定ロジックシステム102は、1つまたは複数の特定のエンティティ定義基準に基づいて量子状態測定データをキャプチャできる、より大量の量子バックエンドコンピューティングリソースを識別するための新しい手法を提供する。
【0099】
量子状態測定ロジックシステム102は、本質的に高度に技術的であり、抽象的ではなく、人間が一連の精神的行動として実行できない問題を解決するために、ハードウェアまたはソフトウェアを使用することができる。いくつかの実施形態では、本明細書に記載のプロセスの1つまたは複数は、上記で識別された様々な技術に関連する定義されたタスクを実行するために、1つまたは複数の専用コンピュータ(例えば、専用処理ユニット、専用古典的コンピュータ、専用量子コンピュータ、など)によって実行することができる。量子状態測定ロジックシステム102および/または、その構成要素を、上述の技術の進歩、量子コンピューティングシステム、クラウドコンピューティングシステム、コンピュータアーキテクチャおよび/または別の技術の使用によって生じる新しい問題を解決するために使用することができる。
【0100】
量子状態測定ロジックシステム102は、本明細書に記載されているように、量子状態測定ロジックシステム102および/または、その構成要素によって実行できる様々な動作は、人間の思考の能力を超える動作であるため、電気部品、機械部品、および人間の思考の中で再現できない、または人間によって実行できない回路の様々な組み合わせを利用できることを理解されたい。例えば、一定の期間にわたって量子状態測定ロジックシステム102によって処理されるデータの量、そのようなデータを処理する速度、または処理されるデータのタイプは、同じ期間に人間の思考で処理できる量よりも多く、速度よりも速く、またはデータタイプと異なり得る。
【0101】
複数の実施形態によれば、量子状態測定ロジックシステム102は、本明細書に記載の様々な動作も実行しながら、1つまたは複数の他の機能(例えば、完全に電源を入れる、完全に実行する、など)を実行するために完全に動作することもできる。そのような同時の複数動作の実行は、人間の思考の能力を超えていることを理解されたい。量子状態測定ロジックシステム102は、人間のユーザなどのエンティティによって手動で取得することが不可能な情報を含むことができることも理解されたい。例えば、量子状態測定ロジックシステム102、ステージ制御レジスタ構成要素108および/またはコンパイラ構成要素110に含まれる情報のタイプ、量および/または種類は、人間のユーザによって手動で取得される情報よりも複雑であり得る。
【0102】
図7は、本明細書に記載の1つまたは複数の実施形態による、量子状態測定バックエンドプロセスで使用される量子状態測定ロジックを促進することができる例示的な非限定的なコンピュータ実装方法700のフロー図を示す。それぞれの実施形態で使用される同様の要素および/またはプロセスの繰り返しの説明は、簡潔にするために省略される。
【0103】
702において、コンピュータ実装方法700は、プロセッサ(例えば、プロセッサ106、量子プロセッサ、など)に動作可能に結合されたシステムによって(例えば、量子状態測定ロジックシステム102および/またはステージ制御レジスタ構成要素108を介して)、量子状態測定パイプライン(例えば、量子状態測定パイプライン402a、402b、402c、402d、402e、402fおよび/または量子状態測定パイプライン502a、502b、502c、502d、502e、502f)の少なくとも1つのステージ(例えば、キャプチャアレイステージ206、カーネルステージ208、ベクトル対値ステージ210、ディスクリミネータステージ212、ビットステージ214、など)の少なくとも1つの記憶要素に対応するデータ処理機能(例えば、アーカイブ機能または再使用機能)を定義する段階を備えることができる。
図2、
図4、および
図5に示す例示的な実施形態を参照して上述したように、そのような少なくとも1つの記憶要素は、限定されないが、キャプチャアレイ記憶要素206a、206b、206c、ベクトル対値記憶要素210a、210b、210c、210d、210e、210f、および/またはビット記憶要素214a、214b、214c、214d、214e、214fの少なくとも1つを含むことができる。いくつかの実施形態では、702において、コンピュータ実装方法700は、システムによって(例えば、量子状態測定ロジックシステム102および/またはステージ制御レジスタ構成要素108を介して)、量子状態測定パイプラインの少なくとも1つのステージの少なくとも1つのインスタンスに対応するデータ処理機能(例えば、アーカイブ機能または再使用機能)を定義する段階をさらに備えることができ、そのような少なくとも1つのインスタンスは、限定されないが、カーネルインスタンス208a、208b、208c、および/またはディスクリミネータインスタンス212a、212b、212cの少なくとも1つを有することができる。
【0104】
図8は、本明細書に記載の1つまたは複数の実施形態による、量子状態測定バックエンドプロセスで使用される量子状態測定ロジックを促進することができる例示的な非限定的なコンピュータ実装方法800のフロー図を示す。それぞれの実施形態で使用される同様の要素および/またはプロセスの繰り返しの説明は、簡潔にするために省略される。
【0105】
802において、コンピュータ実装方法800は、プロセッサ(例えば、プロセッサ106、量子プロセッサ、など)に動作可能に結合されたシステムによって(例えば、量子状態測定ロジックシステム102および/またはステージ制御レジスタ構成要素108を介して)、量子状態測定パイプライン(例えば、量子状態測定パイプライン402a、402b、402c、402d、402e、402fおよび/または量子状態測定パイプライン502a、502b、502c、502d、502e、502f)の少なくとも1つのステージ(例えば、キャプチャアレイステージ206、カーネルステージ208、ベクトル対値ステージ210、ディスクリミネータステージ212、ビットステージ214、など)の少なくとも1つの記憶要素に対応するデータ処理機能(例えば、アーカイブ機能または再使用機能)を定義する段階を備えることができる。
図2、
図4、および
図5に示す例示的な実施形態を参照して上述したように、そのような少なくとも1つの記憶要素は、限定されないが、キャプチャアレイ記憶要素206a、206b、206c、ベクトル対値記憶要素210a、210b、210c、210d、210e、210f、および/またはビット記憶要素214a、214b、214c、214d、214e、214fの少なくとも1つを含むことができる。いくつかの実施形態では、802において、コンピュータ実装方法800は、システムによって(例えば、量子状態測定ロジックシステム102および/またはステージ制御レジスタ構成要素108を介して)、量子状態測定パイプラインの少なくとも1つのステージの少なくとも1つのインスタンスに対応するデータ処理機能(例えば、アーカイブ機能または再使用機能)を定義する段階をさらに備えることができ、そのような少なくとも1つのインスタンスは、限定されないが、カーネルインスタンス208a、208b、208c、および/またはディスクリミネータインスタンス212a、212b、212cの少なくとも1つを有することができる。
【0106】
804において、コンピュータ実装方法800は、システムによって(例えば、量子状態測定ロジックシステム102および/またはコンパイラ構成要素110を介して)、量子状態測定パイプラインの少なくとも1つのステージの記憶要素に対応するデータ処理機能に基づいて、量子状態測定ロジック(例えば、量子状態測定ロジック404または量子状態測定ロジック504)を生成する段階を備えることができる。
【0107】
806において、コンピュータ実装方法800は、システムによって(例えば、量子状態測定ロジックシステム102および/またはコンパイラ構成要素110を介して)、量子状態測定ロジックに基づいて量子状態測定値をキャプチャする能力を有する1つまたは複数の量子バックエンドコンピューティングリソース(例えば、量子ベースのソフトウェア、量子ハードウェア、量子プロセッサ、超電導回路、量子コンピュータ、など)を識別する段階を備えることができる。
【0108】
808において、コンピュータ実装方法800は、システムによって(例えば、量子状態測定ロジックシステム102および/またはステージ制御レジスタ構成要素108を介して)、量子状態測定パイプラインに対応する1つまたは複数のエンティティ定義基準(例えば、
図1を参照して上述した1つまたは複数のエンティティ定義基準)に基づいてデータ処理機能を定義する段階を備えることができる。
【0109】
810において、コンピュータ実装方法800は、システムによって(例えば、量子状態測定ロジックシステム102および/またはステージ制御レジスタ構成要素108を介して)、量子状態測定パイプラインの少なくとも1つのステージの記憶要素に対応するデータ処理機能を定義して、定義された量の(例えば、
図1を参照して上述したように、より大量の)量子バックエンドコンピューティングリソースが、データ処理機能を含む量子状態測定ロジック(例えば、量子状態測定ロジック404または量子状態測定ロジック504)に基づいて量子状態測定値をキャプチャすることを可能にする段階を備えることができる。
【0110】
812において、コンピュータ実装方法800は、システムによって(例えば、量子状態測定ロジックシステム102および/またはステージ制御レジスタ構成要素108を介して)、データ処理機能の第1のセットまたはデータ処理機能の第2のセットに基づく量子状態測定ロジック(例えば、量子状態測定ロジック404または量子状態測定ロジック504)を生成する段階を備えることができ、データ処理機能の第1のセットは、量子状態測定パイプラインのビットステージ(例えば、ビットステージ214)の単一の記憶要素(例えば、ビット記憶要素214a、214b、214c、214d、214e、または214f)に対応する再使用機能を有し、データ処理機能の第2のセットは、ビットステージのすべての記憶要素(例えば、ビット記憶要素214a、214b、214c、214d、214e、および214f)に対応するアーカイブ機能を有し、それによって、量子状態測定ロジックに基づいて量子状態測定値をキャプチャする1つまたは複数の量子バックエンドコンピューティングリソースに関連付けられた計算コストの削減を促進する。
【0111】
1つの実施形態では、上述のコンピュータ実装方法800の動作812は、ステージ制御レジスタ構成要素108によって生成することができるステージ制御レジスタを、「常に再使用」または「常に進める」(例えば、「常にアーカイブする」)を選択する単一のビットに縮小することを構成することができる。上述したような動作812でのステージ制御レジスタのそのような縮小は、上記で定義された、そのような第1または第2のデータ処理機能のセットに基づいて量子状態測定値をキャプチャする1つまたは複数の量子バックエンドコンピューティングリソースの保存および/または計算コストの削減を促進することができることを理解されたい。例えば、定義されているように、ビットステージ214は、データビットごとに1つのステージ制御レジスタビットを使用し、測定数が増えるにつれて無駄になる。この例では、量子状態測定ロジックシステム102を実装する本明細書で定義されるエンティティによって個別の測定制御が要求されない場合、ビットステージ214のすべての記憶要素の制御のために単一ステージ制御レジスタビットを参照することは、より効率的であり得る。
【0112】
図9は、本明細書に記載の1つまたは複数の実施形態による、量子状態測定バックエンドプロセスで使用される量子状態測定ロジックを促進することができる例示的な非限定的なコンピュータ実装方法900のフロー図を示す。それぞれの実施形態で使用される同様の要素および/またはプロセスの繰り返しの説明は、簡潔にするために省略される。
【0113】
902において、コンピュータ実装方法900は、量子状態測定パイプライン(例えば、量子状態測定パイプライン402a、402b、402c、402d、402e、402f、量子状態測定パイプライン502a、502b、502c、502d、502e、502f、など)のステージ(例えば、キャプチャアレイステージ206、カーネルステージ208、ベクトル対値ステージ210、ディスクリミネータステージ212、ビットステージ214、など)のデータ処理インスタンス(例えば、キャプチャアレイ記憶要素206a、206b、206c、カーネルインスタンス208a、208b、208c、ベクトル対値記憶要素210a、210b、210c、210d、210e、210f、ディスクリミネータインスタンス212a、212b、212c、ビット記憶要素214a、214b、214c、214d、214e、214f、など)をアクティブなデータ処理インスタンス(例えば、量子状態測定データの現在のサンプルを処理するデータ処理インスタンスとして(例えば、第1のL0、L1、またはL2サンプル))として(例えば、量子状態測定ロジックシステム102、ステージ制御レジスタ構成要素108、コンパイラ構成要素110、システム600、ステージ制御レジスタ602(例えば、ステージ制御レジスタ構成要素108によって生成されるステージ制御レジスタ)および/または選択マルチプレクサ604を介して))設定する段階を備えることができる。
【0114】
904において、コンピュータ実装方法900は、量子状態測定データ(例えば、第1のL0、L1、またはL2サンプル)の現在のサンプルを(例えば、量子状態測定ロジックシステム102、量子状態測定ロジックシステム102のGUIまたはAPI、フィルタ204、システム200、システム400、システム500、システム600、などを介して)取得する段階を備えることができる。
【0115】
906において、コンピュータ実装方法900は、アクティブなデータ処理インスタンスを使用して、量子状態測定データの現在のサンプルを(例えば、量子状態測定ロジックシステム102、キャプチャアレイ記憶要素206a、206b、206c、カーネルインスタンス208a、208b、208c、ベクトル対値記憶要素210a、210b、210c、210d、210e、210f、ディスクリミネータインスタンス212a、212b、212c、ビット記憶要素214a、214b、214c、214d、214e、214f、などを介して)処理する段階を備えることができる。
【0116】
908において、コンピュータ実装方法900は、量子状態測定データの後続のサンプル(例えば、第2のL0、L1、またはL2サンプル)を処理するためにアクティブなデータ処理インスタンスを再使用するかどうかを(例えば、量子状態測定ロジックシステム102、ステージ制御レジスタ構成要素108、コンパイラ構成要素110、システム600、ステージ制御レジスタ602(例えば、ステージ制御レジスタ構成要素108によって生成されるステージ制御レジスタ)を介して)決定する段階、および/またはマルチプレクサ604を選択する段階を備えることができる。
【0117】
908において、量子状態測定データの後続のサンプル(例えば、第2のL0、L1、またはL2サンプル)を処理するためにアクティブなデータ処理インスタンスが再使用されると決定された場合、910において、コンピュータ実装方法900は、量子状態測定データの後続のサンプルを(例えば、量子状態測定ロジックシステム102、量子状態測定ロジックシステム102のGUIまたはAPI、フィルタ204、システム200、システム400、システム500、システム600などを介して)取得する段階を備えることができる。
【0118】
912において、コンピュータ実装方法900は、アクティブなデータ処理インスタンスにおける量子状態測定データの現在のサンプルを量子測定データの後続のサンプルと(例えば、量子状態測定ロジックシステム102、キャプチャアレイ記憶要素206a、206b、206c、カーネルインスタンス208a、208b、208c、ベクトル対値記憶要素210a、210b、210c、210d、210e、210f、ディスクリミネータインスタンス212a、212b、212c、ビット記憶要素214a、214b、214c、214d、214e、214f、などを介して)重ねる段階を備えることができる。
【0119】
908において、量子状態測定データの後続のサンプル(例えば、第2のL0、L1、またはL2サンプル)を処理するためにアクティブなデータ処理インスタンスが再使用されないと決定された場合、914において、コンピュータ実装方法900は、アクティブなデータ処理インスタンスに量子状態測定データの現在のサンプルを保存する段階(例えば、量子状態測定ロジックシステム102、キャプチャアレイ記憶要素206a、206b、206c、カーネルインスタンス208a、208b、208c、ベクトル対値記憶要素210a、210b、210c、210d、210e、210f、ディスクリミネータインスタンス212a、212b、212c、ビット記憶要素214a、214b、214c、214d、214e、214f、などを介してアーカイブする段階)を備えることができる。
【0120】
916において、コンピュータ実装方法900は、量子状態測定パイプラインのステージで別のデータ処理インスタンス(例えば、次のデータ処理インスタンス)をアクティブなデータ処理インスタンスとして(例えば、量子状態測定ロジックシステム102、ステージ制御レジスタ構成要素108、コンパイラ構成要素110、システム600、ステージ制御レジスタ602(例えば、ステージ制御レジスタ構成要素108によって生成されるステージ制御レジスタ)、および/または選択マルチプレクサ604を介して))設定する段階(例えば、キャプチャアレイ記憶要素206bまたは206c、カーネルインスタンス208bまたは208c、ベクトル対値記憶要素210b、210c、210d、210e、または210f、ディスクリミネータインスタンス212bまたは212c、および/またはビット記憶要素214b、214c、214d、214e、または214fをアクティブなデータ処理インスタンスとして設定する段階)を備えることができる。
【0121】
いくつかの実施形態では、コンピュータ実装方法900は、動作904、906、908、910、および912を繰り返す段階を備えることができ、および/または動作904、906、908、914、および916は、1つまたは複数のキュービットのすべての量子状態測定値が1つまたは複数の量子バックエンドコンピューティングリソースによってキャプチャされるまで繰り返すことができる。
【0122】
説明を簡潔にするために、コンピュータ実装方法論は、一連の行動として示され、説明される。主題のイノベーションは、示される行動および/または行動の順序によって限定されないことが理解され、認識されるべきである。例えば、行動は、本明細書に提示および説明されない他の行動とともに、様々な順序で、および/または、同時に生じ得る。さらに、示されるすべての行動が、開示される主題によるコンピュータ実装方法論を実装するために必要であり得るわけではない。さらに、当業者であれば、コンピュータ実装方法論が代替的に、状態図またはイベントを介して、相互に関連のある一連の状態として表され得ることを理解し、認識するであろう。さらに、以下および本明細書全体を通して開示されるコンピュータ実装方法論は、そのようなコンピュータ実装方法論をコンピュータへ移送および転送することを促進するために製品に記憶されることが可能であることをさらに理解されたい。本明細書で使用される製品という用語は、任意のコンピュータ可読デバイスまたは記憶媒体からアクセス可能なコンピュータプログラムを包含することを意図している。
【0123】
開示される主題の様々な態様の文脈を提供するために、
図10ならびに以下の考察は、開示される主題の様々な態様を実施できる適切な環境の一般的な説明を提供することを意図している。
図10は、本明細書に記載の1つまたは複数の実施形態を促進することができる例示的な非限定的な動作環境のブロック図を示す。本明細書に記載の他の実施形態で使用される同様の要素の繰り返しの説明は、簡潔にするために省略されている。
【0124】
図10を参照すると、本開示の様々な態様を実施するための適切な動作環境1000はまた、コンピュータ1012を含むことができる。コンピュータ1012はまた、処理ユニット1014、システムメモリ1016、およびシステムバス1018を含むことができる。システムバス1018は、限定されないが、システムメモリ1016を含むシステム構成要素を処理ユニット1014に結合する。処理ユニット1014は、利用可能な様々なプロセッサのいずれかであり得る。デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャもまた、処理ユニット1014として使用できる。システムバス1018は、メモリバスまたはメモリコントローラ、ペリフェラルバスまたは外部バス、および/または、限定されないが、業界標準アーキテクチャ(ISA)、マイクロチャネルアーキテクチャ(MSA)、拡張ISA(EISA)、インテリジェントドライブエレクトロニクス(IDE)、VESAローカルバス(VLB)、ペリフェラル構成要素インターコネクト(PCI)、カードバス、ユニバーサルシリアルバス(USB)、アドバンスドグラフィックスポート(AGP)、ファイヤワイヤ(IEEE1394)、およびスモールコンピュータシステムインターフェース(SCSI)を含む任意の様々な利用可能なバスアーキテクチャを使用するローカルバスを含むいくつかのタイプのバス構造のいずれかであり得る。
【0125】
システムメモリ1016はまた、揮発性メモリ1020および不揮発性メモリ1022を含むことができる。起動中など、コンピュータ1012内の要素間で情報を転送するための基本ルーチンを含む基本入力/出力システム(BIOS)は、不揮発性メモリ1022に記憶される。コンピュータ1012はまた、取り外し可能/取り外し不可能、揮発性/不揮発性コンピュータ記憶媒体を含むことができる。
図10は、例えば、ディスクストレージ1024を示す。ディスクストレージ1024はまた、限定されないが、磁気ディスクドライブ、フロッピディスクドライブ、テープドライブ、Jazドライブ、Zipドライブ、LS-100ドライブ、フラッシュメモリカード、またはメモリスティックのようなデバイスを含むことができる。ディスクストレージ1024は、記憶媒体を別個に、または他の記憶媒体と組み合わせて含むこともできる。ディスクストレージ1024のシステムバス1018への接続を促進するために、インターフェース1026などの取り外し可能または取り外し不可能なインターフェースが通常、使用される。
図10はまた、ユーザと適切な動作環境1000に記載されている基本的なコンピュータリソースとの間の仲介者として機能するソフトウェアを示す。そのようなソフトウェアはまた、例えば、オペレーティングシステム1028を含むことができる。ディスクストレージ1024に記憶できるオペレーティングシステム1028は、コンピュータ1012のリソースを制御し、割り当てるように機能する。
【0126】
システムアプリケーション1030は、例えば、システムメモリ1016またはディスクストレージ1024のいずれかに記憶された、プログラムモジュール1032およびプログラムデータ1034を介してオペレーティングシステム1028によるリソースの管理を利用する。本開示は、様々なオペレーティングシステムまたはオペレーティングシステムの組み合わせで実施できることを理解すべきである。ユーザは、入力デバイス1036を介してコンピュータ1012にコマンドまたは情報を入力する。入力デバイス1036は、限定されないが、マウス、トラックボール、スタイラス、タッチパッド、キーボード、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ、テレビチューナカード、デジタルカメラ、デジタルビデオカメラ、ウェブカメラ、および同様のものなどのポインティングデバイスを含む。これらおよび他の入力デバイスは、インターフェースポート1038を介してシステムバス1018を通じて処理ユニット1014に接続する。インターフェースポート1038は、例えば、シリアルポート、パラレルポート、ゲームポート、およびユニバーサルシリアルバス(USB)を含む。出力デバイス1040は、入力デバイス1036と同じタイプのポートのいくつかを使用する。したがって、例えば、USBポートを使用して、コンピュータ1012に入力を提供し、コンピュータ1012から出力デバイス1040に情報を出力できる。出力アダプタ1042は、出力デバイス1040の中でも、専用アダプタを必要とする、モニタ、スピーカ、およびプリンタのようないくつかの出力デバイス1040があることを示すために設けられたものである。出力アダプタ1042は、例示するものであり、限定するものではないが、出力デバイス1040とシステムバス1018との間の接続手段を提供するビデオカードおよびサウンドカードを含む。他のデバイスおよび/またはデバイスのシステムは、リモートコンピュータ1044などの入力および出力機能の両方を提供することに留意されたい。
【0127】
コンピュータ1012は、リモートコンピュータ1044などの1つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク化された環境で動作できる。リモートコンピュータ1044は、コンピュータ、サーバ、ルータ、ネットワークPC、ワークステーション、マイクロプロセッサベースの機器、ピアデバイスまたは他の一般的なネットワークノードおよび同様のものであり得て、典型的には、コンピュータ1012に関連して説明された要素の多くまたは、すべてを含むことができる。簡潔にするために、メモリストレージデバイス1046のみがリモートコンピュータ1044とともに示されている。リモートコンピュータ1044は、ネットワークインターフェース1048を通じてコンピュータ1012に論理的に接続され、次いで、通信接続1050を介して物理的に接続される。ネットワークインターフェース1048は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、セルラネットワークなどのような有線および/または無線通信ネットワークを包含する。LAN技術は、ファイバ分散データインターフェース(FDDI)、銅線分散データインターフェース(CDDI)、イーサネット、トークンリングおよび同様のものを含む。WAN技術は、限定されないが、ポイントツーポイントリンク、統合サービスデジタルネットワーク(ISDN(登録商標))のような回線交換ネットワークおよびその変形、パケット交換ネットワーク、およびデジタル加入者線(DSL)を含む。通信接続1050は、ネットワークインターフェース1048をシステムバス1018に接続するために使用されるハードウェア/ソフトウェアを指す。通信接続1050は、例示的に明確にするため、コンピュータ1012の内部に示されているが、コンピュータ1012の外部でもあり得る。ネットワークインターフェース1048に接続するためのハードウェア/ソフトウェアはまた、例示的な目的のためにのみ、通常の電話グレードモデムを含むモデム、ケーブルモデムおよびDSLモデム、ISDN(登録商標)アダプタ、およびイーサネットカードなどの内部および外部技術を含むことができる。
【0128】
ここで
図11を参照すると、例示的なクラウドコンピューティング環境1150が示されている。示しているように、クラウドコンピューティング環境1150は、例えば、パーソナルデジタルアシスタント(PDA)または携帯電話1154A、デスクトップコンピュータ1154B、ラップトップコンピュータ1154C、および/または自動車コンピュータシステム1154Nなどのクラウドコンシューマによって使用されるローカルコンピューティングデバイスが通信し得る1つまたは複数のクラウドコンピューティングノード1110を含む。
図11には示されていないが、クラウドコンピューティングノード1110は、クラウドコンシューマによって使用されるローカルコンピューティングデバイスが通信できる量子プラットフォーム(例えば、量子コンピュータ、量子ハードウェア、量子ソフトウェア、など)をさらに有することができる。ノード1110は、互いに通信し得る。それらは、物理的または仮想的に、前述のプライベートクラウド、コミュニティクラウド、パブリッククラウド、またはハイブリッドクラウド、またはそれらの組み合わせなどの1つまたは複数のネットワークにグループ化(図示せず)され得る。これにより、クラウドコンピューティング環境1150は、クラウドコンシューマがローカルコンピューティングデバイス上でリソースを維持する必要がないサービスとして、インフラストラクチャ、プラットフォームおよび/またはソフトウェアを提供できる。
図11に示すコンピューティングデバイス1154A~Nのタイプは、例示のみを意図しており、コンピューティングノード1110およびクラウドコンピューティング環境1150は、任意のタイプのネットワークおよび/または(例えば、ウェブブラウザを使用する)ネットワークアドレス可能な接続を介して任意のタイプのコンピュータ化されたデバイスと通信できることが理解されよう。
【0129】
ここで
図12を参照すると、クラウドコンピューティング環境1150(
図11)によって提供される機能抽象化層のセットが示されている。
図12に示す構成要素、層、および機能は、例示のみを目的としており、本発明の実施形態はそれに限定されないことを事前に理解されたい。示しているように、以下の層および対応する機能が提供される。
【0130】
ハードウェアおよびソフトウェア層1260は、ハードウェアおよびソフトウェア構成要素を含む。ハードウェア構成要素の例は、メインフレーム1261、RISC(縮小命令セットコンピュータ)アーキテクチャベースのサーバ1262、サーバ1263、ブレードサーバ1264、ストレージデバイス1265、およびネットワークおよびネットワーキング構成要素1266を含む。いくつかの実施形態では、ソフトウェア構成要素は、ネットワークアプリケーションサーバソフトウェア1267、データベースソフトウェア1268、量子プラットフォームルーティングソフトウェア(
図12には示されていない)、および/または量子ソフトウェア(
図12には示されていない)を含む。
【0131】
仮想化層1270は、仮想エンティティの次の例、すなわち、仮想サーバ1271、仮想ストレージ1272、仮想プライベートネットワークを含む仮想ネットワーク1273、仮想アプリケーションおよびオペレーティングシステム1274、および仮想クライアント1275が提供され得る抽象化層を提供する。
【0132】
1つの例では、管理層1280は、以下に説明する機能を提供し得る。リソースプロビジョニング1281は、クラウドコンピューティング環境内でタスクを実行するために利用されるコンピューティングリソースおよび他のリソースの動的な調達を提供する。計量および価格設定1282は、リソースがクラウドコンピューティング環境内で利用されるときのコスト追跡、およびこれらのリソースの消費に対する課金または請求を提供する。1つの例では、これらのリソースは、アプリケーションソフトウェアライセンスを含み得る。セキュリティは、クラウドコンシューマおよびタスクに対する識別検証、ならびにデータおよびその他のリソースに対する保護を提供する。ユーザポータル1283は、消費者およびシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理1284は、必要なサービスレベルが満たされるように、クラウドコンピューティングリソースの割り当ておよび管理を提供する。サービスレベルアグリーメント(SLA)の計画および履行1285は、SLAに従って将来の要件が予想されるクラウドコンピューティングリソースの事前準備および調達を提供する。
【0133】
ワークロード層1290は、クラウドコンピューティング環境が利用され得る機能の例を提供する。この層から提供され得るワークロードおよび機能の非限定的な例は、マッピングおよびナビゲーション1291、ソフトウェア開発およびライフサイクル管理1292、仮想教室教育配信1293、データ分析処理1294、トランザクション処理1295、および量子状態測定ロジックソフトウェア1296を含む。
【0134】
本発明は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、装置および/またはコンピュータプログラム製品であり得る。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体(または複数の媒体)を含むことができる。コンピュータ可読記憶媒体は、命令実行デバイスが使用するための命令を保持および記憶できる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、限定されないが、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、または前述の任意の適切な組み合わせであり得る。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュメモリ)、静的ランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピディスク、その上に命令が記録されたパンチカードまたは溝に浮き彫りされた構造などの機械的にエンコードされたデバイス、および前述の任意の適切な組み合わせも含まれ得る。本明細書で使用されるコンピュータ可読記憶媒体は、電波または他の自由に伝播する電磁波、導波管または他の伝送媒体を通って伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、または電線を通じて伝送される電気信号など、一時的な信号それ自体であると解釈されるべきではない。
【0135】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、またはネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、および/または無線ネットワークを介して外部コンピュータまたは外部ストレージデバイスにダウンロードできる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、および/またはエッジサーバを含むことができる。各コンピューティング/処理デバイス内のネットワークアダプタカードまたはネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、または、Smalltalk(登録商標)、C++、または同様のもののようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの手続型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかであり得る。コンピュータ可読プログラム命令は、全部がユーザのコンピュータ上で、一部がユーザのコンピュータ上で、スタンドアロンのソフトウェアパッケージとして、一部がユーザのコンピュータ上で一部がリモートコンピュータ上で、または全部がリモートコンピュータ上でもしくはサーバ上で実行され得る。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され得るか、または、(例えば、インターネットサービスプロバイダを使用してインターネットを介して)外部コンピュータに接続され得る。いくつかの実施形態では、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む電子回路は、本発明の態様を実行するために、電子回路をパーソナライズするためのコンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行し得る。
【0136】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図および/またはブロック図を参照して本明細書に記載されている。フローチャート図および/またはブロック図の各ブロック、およびフローチャート図および/またはブロック図のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されたい。これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータのプロセッサ、または他のプログラマブルデータ処理装置に提供され、マシンを生成し得て、その結果、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行される命令が、フローチャートおよび/またはブロック図の1つまたは複数のブロックで指定された機能/行動を実施するための手段を作成する。これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラマブルデータ処理装置および/または他のデバイスに特定の方法で機能するように指示できるコンピュータ可読記憶媒体内に記憶され得て、その結果、その中に記憶された命令を有するコンピュータ可読記憶媒体は、フローチャートおよび/またはブロック図の1つまたは複数のブロックで指定された機能/行動の態様を実施する命令を含む製品を備える。コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の操作行為を実行させて、コンピュータ実装プロセスを生成し得て、その結果、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行される命令が、フローチャートおよび/またはブロック図の1つまたは複数のブロックで指定された機能/行動を実装する。
【0137】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図内の各ブロックは、指定された論理機能を実装するための1つまたは複数の実行可能命令を含む、モジュール、セグメント、または命令の一部を表し得る。いくつかの代替的な実装では、ブロックに示される機能は、図に示される順序を外れて生じ得る。例えば、連続して示される2つのブロックは、実際には、実質的に同時に実行され得るか、または、関連する機能に応じてブロックが逆の順序で実行されることがあり得る。また、ブロック図および/またはフローチャート図の各ブロック、ならびにブロック図および/またはフローチャート図のブロックの組み合わせは、指定された機能または動作を実行する、または専用ハードウェアとコンピュータ命令との組み合わせを実行する専用ハードウェアベースシステムによって実装できることにも留意されたい。
【0138】
主題は、1つのコンピュータおよび/または複数のコンピュータの上で実行されるコンピュータプログラム製品のコンピュータ実行可能命令の一般的な文脈で上述されてきたが、当業者ならば、本開示が他のプログラムモジュールと組み合わせることもできること、または組み合わせて実施できることを認識するであろう。一般に、プログラムモジュールは、特定のタスクを実行する、および/または特定の抽象データタイプを実施するルーチン、プログラム、構成要素、データ構造などを含む。さらに、当業者ならば、本発明のコンピュータ実装方法が、シングルプロセッサまたはマルチプロセッサコンピュータシステム、ミニコンピューティングデバイス、メインフレームコンピュータ、ならびにコンピュータ、ハンドヘルドコンピューティングデバイス(例えば、PDA、電話)、マイクロプロセッサベースまたはプログラマブル家庭用電化製品または産業用電子機器、および同様のものを含む他のコンピュータシステム構成で実施できることを理解するであろう。示されている態様は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境でも実施できる。しかし、本開示のすべてではないにしても、一部の態様はスタンドアロンコンピュータで実施できる。分散コンピューティング環境では、プログラムモジュールはローカルおよびリモートのメモリストレージデバイスの両方に配置できる。例えば、1つまたは複数の実施形態では、コンピュータ実行可能構成要素は、1つまたは複数の分散メモリユニットを含み得るか、またはそれからなり得るメモリから実行できる。本明細書で使用される場合、「メモリ」および「メモリユニット」という用語は交換可能である。さらに、本明細書に記載の1つまたは複数の実施形態は、分散方式、例えば、1つまたは複数の分散メモリユニットからコードを実行するために組み合わせて、または協調して動作する複数のプロセッサでコンピュータ実行可能構成要素のコードを実行できる。本明細書で使用される場合、「メモリ」という用語は、1つの場所にある単一のメモリまたはメモリユニット、または1つまたは複数の場所にある複数のメモリまたはメモリユニットを包含できる。
【0139】
本出願で使用される場合、「構成要素」、「システム」、「プラットフォーム」、「インターフェース」および同様のもの用語は、コンピュータ関連のエンティティ、または1つまたは複数の特定の機能を備えた動作マシンに関連するエンティティを指すことができる、および/または含むことができる。本明細書に開示されるエンティティは、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかであり得る。例えば、構成要素は、限定されないが、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および/またはコンピュータであり得る。例示として、サーバ上で実行されているアプリケーションおよびサーバの両方を構成要素にできる。1つまたは複数の構成要素は、プロセスおよび/または実行スレッド内に存在し得て、構成要素は、1つのコンピュータ上にローカライズされ得るか、および/または2つ以上のコンピュータ間に分散され得る。別の例では、それぞれの構成要素は、その上に記憶された様々なデータ構造を有する様々なコンピュータ可読媒体から実行できる。構成要素は、1つまたは複数のデータパケット(例えば、ローカルシステム、分散システム、および/またはインターネットなどのネットワークを介して他のシステムと信号を介して別の構成要素と相互作用する、ある構成要素からのデータ)を有する信号などに従って、ローカルプロセスおよび/またはリモートプロセスを介して通信できる。別の例として、構成要素は、電気または電子回路によって動作する機械部品によって提供される特定の機能を有する装置であり得て、プロセッサによって実行されるソフトウェアまたはファームウェアアプリケーションによって動作する。そのような場合、プロセッサは、装置の内部または外部にあり得て、ソフトウェアまたはファームウェアアプリケーションの少なくとも一部を実行できる。さらに別の例として、構成要素は、機械部品なしで電子構成要素を介して特定の機能を提供する装置であり得て、電子構成要素は、電子構成要素の機能を少なくとも部分的に与えるソフトウェアまたはファームウェアを実行するためのプロセッサまたは他の手段を含むことができる。1つの態様では、構成要素は、例えば、クラウドコンピューティングシステム内で、仮想マシンを介して電子構成要素をエミュレートできる。
【0140】
さらに、「または」という用語は、排他的な「または」ではなく、包括的な「または」を意味することを意図している。すなわち、特に明記しない限り、または文脈から明らかでない限り、「XはAまたはBを使用する」は、自然な包括的順列のいずれかを意味することを意図している。すなわち、XがAを使用する場合、XがBを使用する場合、または、XがAおよびBの両方を使用する場合、前述のいずれの場合でも、「XはAまたはBを使用する」が満たされる。さらに、主題の明細書および添付の図面で使用される冠詞「a」および「an」は、特に明記しない限り、または文脈から単数形を指すことが明らかでない限り、一般に「1つまたは複数」を意味すると解釈されるべきである。本明細書で使用される場合、「例」および/または「例示的」という用語は、例、実例、または例示として機能することを意味するために使用される。誤解を避けるために記すと、本明細書に開示される主題は、そのような例によって限定されない。さらに、本明細書で「例」および/または「例示的」として説明される任意の態様または設計は、必ずしも他の態様または設計よりも好ましいまたは有利であると解釈されるべきではなく、当業者に知られている同等の例示的な構造および技術を排除することを意味するものでもない。
【0141】
主題の明細書で使用されているように、「プロセッサ」という用語は、限定されないが、シングルコアプロセッサ、ソフトウェアマルチスレッド実行機能を有するシングルプロセッサ、マルチコアプロセッサ、ソフトウェアマルチスレッド実行機能を有するマルチコアプロセッサ、ハードウェアマルチスレッド技術を有するマルチコアプロセッサ、並列プラットフォーム、および分散共有メモリを有する並列プラットフォームを有する実質的に任意のコンピューティング処理ユニットまたはデバイスを指すことができる。さらに、プロセッサは、集積回路、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックコントローラ(PLC)、複雑なプログラマブルロジックデバイス(CPLD)、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェア構成要素、または本明細書に記載の機能を実行するように設計されたそれらの任意の組み合わせを指すことができる。さらに、プロセッサは、領域使用量の最適化またはユーザ機器の性能の向上のために、限定されないが、分子および量子ドットベースのトランジスタ、スイッチ、ゲートなどのナノスケールアーキテクチャを活用できる。プロセッサは、コンピューティング処理ユニットの組み合わせとして実装することもできる。本開示では、「ストア」、「ストレージ」、「データストア」、「データストレージ」、「データベース」、および構成要素の動作および機能に関連する実質的に任意の他の情報ストレージ構成要素などの用語は、「メモリ構成要素」、「メモリ」で具現化されたエンティティ、またはメモリを有する構成要素を指すために使用される。本明細書に記載のメモリおよび/またはメモリ構成要素は、揮発性メモリまたは不揮発性メモリのいずれかであり得るか、または揮発性メモリおよび不揮発性メモリの両方を含み得ることを理解すべきである。例示として、限定されないが、不揮発性メモリは、読み取り専用メモリ(ROM)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM)、電気的消去可能ROM(EEPROM)、フラッシュメモリ、または不揮発性ランダムアクセスメモリ(RAM)(例えば、強誘電体RAM(FeRAM))を含むことができる。揮発性メモリは、例えば、外部キャッシュメモリとして機能できるRAMを含むことができる。例示として、限定されないが、RAMは、同期RAM(SRAM)、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)、ダブルデータレートSDRAM(DDR SDRAM)、拡張SDRAM(ESDRAM)、シンクリンクDRAM(SLDRAM)、ダイレクトラムバスRAM(DRRAM)、ダイレクトラムバスダイナミックRAM(DRDRAM)、およびラムバスダイナミックRAM(RDRAM)などの多くの形態で利用可能である)。さらに、本明細書で開示されるシステムまたはコンピュータ実装方法のメモリ構成要素は、これらおよび他の任意の適切なタイプのメモリを含むことに限定されず、これらを含むことを意図している。
【0142】
上述されてきたものは、システムおよびコンピュータ実装方法の単なる例を含む。もちろん、本開示を説明する目的で、構成要素またはコンピュータ実装方法の考えられるすべての組み合わせを説明することは不可能であるが、当業者ならば、本開示のさらに多くの組み合わせおよび順列が可能であることを認識できる。さらに、詳細な説明、特許請求の範囲、付録および図面において、「含む(includes)」、「有する(has)」、「所有する(possesse)」および同様の用語が使用される範囲で、そのような用語は、特許請求の範囲の過渡的な単語として使用される場合に「備える(comprising)」と解釈されるので、「備える(comprising)」という用語と同様の方法で包括的であることを意図している。
【0143】
様々な実施形態の説明は、例示の目的で提示されているが、網羅的であること、または開示された実施形態に限定することを意図するものではない。多くの修正および変形は、記載する実施形態の範囲および趣旨から逸脱することなく、当業者に明らかになるであろう。本明細書で使用される用語は、実施形態の原理、実際の適用、または市場で見られる技術を越える技術的改善を最適に説明するため、または他の当業者が本明細書に開示される実施形態を理解できるようにするために選択されたものである。