次の方法で共有


リソース推定器の出力を取得する

Resource Estimator の出力パラメーターとダイアグラムを解釈して取得する方法について説明します。 この記事では、Visual Studio Code (VS Code) の Jupyter ノートブックのリソース推定機能の結果にプログラムでアクセスする方法について説明します。

前提条件

Note

コマンド パレットから VS Code で Resource Estimator を実行した場合、次のコマンドは適用されません。 詳細については、「 Resource Estimator を実行するさまざまな方法」を参照してください。

出力パラメーター

Resource Estimator からの出力は、コンソールに出力され、プログラムからアクセスできるレポートです。 たとえば、次のコード スニペットは、すべての Resource Estimator パラメーターの値を表示します。

result['jobParams']

次の表に、各出力パラメーターのデータ型と簡単な説明を示します。

最上位レベルの出力パラメーター データの種類 Description
status 文字列 ジョブの状態は、常に Succeeded
jobParams 辞書 入力として渡されるジョブの target パラメーター。
physicalCounts 辞書 物理リソースの見積もり。 詳細については、「 Physical countsを参照してください。
physicalCountsFormatted 辞書 レポート データに表示する形式の物理リソース見積もり。 詳細については、「 Physical counts formatted」を参照してください。
logicalQubit 辞書 論理量子ビット プロパティ。 詳細については、「 Logical 量子ビット」を参照してください。
tfactory 辞書 T ファクトリのプロパティ。
logicalCounts 辞書 レイアウト前の論理リソースの見積もり。 詳細については、「 Logical counts」を参照してください。
reportData 辞書 リソース推定レポートの生成データ。

物理カウント

physicalCounts ディクショナリには、次のエントリが含まれています。

出力パラメーター データの種類 Description
physicalQubits 数値 物理量子ビットの合計数。
runtime 数値 アルゴリズムを実行する合計ランタイム (ナノ秒単位)。
rqops 数値 1 秒あたりの信頼性の高い量子操作の数 (QOPS)。
breakdown 辞書 見積もりの内訳。 詳細については、「 Physical counts breakdown」を参照してください。

物理カウントの内訳

physicalCountsbreakdownディクショナリには、次のエントリが含まれています。

出力パラメーター データの種類 Description
algorithmicLogicalQubits 数値 アルゴリズムの実行に必要な論理量子ビット。T ファクトリのリソースは含まれません。
algorithmicLogicalDepth 数値 アルゴリズムの実行に必要な論理サイクル。T ファクトリのリソースは含まれません。
logicalDepth 数値 T ファクトリの実行時間が速くなり、アルゴリズムの実行が速くなるたびに計算される、調整された可能性のあるサイクル数。
numTstates 数値 アルゴリズムによって使用される T 状態の数。
clockFrequency 数値 1 秒あたりの論理サイクル数。
numTfactories 数値 T ファクトリの数 (統一された T ファクトリ設計を想定)。
numTfactoryRuns 数値 すべての並列 T ファクトリを実行する頻度の数。
physicalQubitsForTfactories 数値 すべての T ファクトリの物理量子ビットの数。
physicalQubitsForAlgorithm 数値 アルゴリズム レイアウトの物理量子ビットの数。
requiredLogicalQubitErrorRate 数値 必要な論理エラー率。
requiredLogicalTstateErrorRate 数値 必要な論理 T 状態エラー率。
numTsPerRotation 数値 回転あたりの T ゲートの数。
cliffordErrorRate 数値 量子ビット パラメーターに基づくクリフォード エラー率。

物理カウントの書式設定

physicalCounts ディクショナリには、次のエントリが含まれています。

出力パラメーター データの種類 Description
runtime 文字列 人間に優しい文字列としての合計ランタイム。
rqops 文字列 メトリック サフィックスで書式設定された 1 秒あたりの信頼性の高い量子操作 (QOPS) の数。
physicalQubits 文字列 メトリック サフィックスを持つ物理量子ビットの合計数。
algorithmicLogicalQubits 文字列 メトリック サフィックスを持つアルゴリズム論理量子ビット。
algorithmicLogicalDepth 文字列 メトリック サフィックスを持つアルゴリズムの論理深さ。
logicalDepth 文字列 メトリック サフィックスを使用してアルゴリズムの論理深さを調整した可能性があります。
numTstates 文字列 メトリック サフィックスを持つ T 状態の数。
numTfactories 文字列 メトリック サフィックスを持つ T ファクトリ コピーの数。
numTfactoryRuns 文字列 メトリック サフィックスを持つ T ファクトリ実行の数。
physicalQubitsForAlgorithm 文字列 メトリック サフィックスを持つアルゴリズムの物理量子ビットの数。
physicalQubitsForTfactories 文字列 メトリック サフィックスを持つ T ファクトリの物理量子ビットの数。
physicalQubitsForTfactoriesPercentage 文字列 すべての T ファクトリの物理量子ビットの数 (合計に対する割合)。
requiredLogicalQubitErrorRate 文字列 必要な論理量子ビット エラー 率が切り捨てられました。
requiredLogicalTstateErrorRate 文字列 切り捨てられた必要な T 状態エラー率。
physicalQubitsPerLogicalQubit 文字列 メトリック サフィックスを持つ論理量子ビットあたりの物理量子ビット数。
logicalCycleTime 文字列 人間に優しい文字列としての論理量子ビットの論理サイクル時間。
clockFrequency 文字列 人間に優しい文字列としての 1 秒あたりの論理サイクル数。
logicalErrorRate 文字列 論理的なエラー率が切り捨てられました。
tfactoryPhysicalQubits 文字列 メトリック サフィックス (または T ファクトリが存在しないことを示すメッセージ) を持つ T ファクトリ内の物理量子ビットの数。
tfactoryRuntime 文字列 人間に優しい文字列 (または T ファクトリがないことを示すメッセージ) としての単一の T ファクトリのランタイム。
numInputTstates 文字列 入力 T 状態の数 (または T ファクトリがないことを示すメッセージ)。
numUnitsPerRound 文字列 蒸留ラウンドあたりの単位数。文字列で区切られたコンマ (または T ファクトリがないことを示すメッセージ)。
unitNamePerRound 文字列 各蒸留ラウンドの単位名。文字列で区切られたコンマ (または T ファクトリがないことを示すメッセージ)。
codeDistancePerRound 文字列 蒸留ラウンドごとのコード距離。文字列でコンマ区切り (または T ファクトリがないことを示すメッセージ)。
physicalQubitsPerRound 文字列 蒸留ラウンドあたりの物理量子ビット数。文字列でコンマ区切り (または T ファクトリがないことを示すメッセージ)。
tfactoryRuntimePerRound 文字列 各蒸留ラウンドの実行時間。コンマ区切りの人間に優しい文字列 (または T ファクトリがないことを示すメッセージ) として表示されます。
tstateLogicalErrorRate 文字列 切り捨てられた論理 T 状態エラー 率 (または T ファクトリがないことを示すメッセージ)。
logicalCountsNumQubits 文字列 メトリック サフィックスを持つ量子ビットの数 (事前レイアウト)。
logicalCountsTCount 文字列 メトリック サフィックスを持つ T ゲートの数 (事前レイアウト)。
logicalCountsRotationCount 文字列 メトリック サフィックスを持つ回転ゲートの数 (事前レイアウト)。
logicalCountsRotationDepth 文字列 メトリック サフィックスを持つ回転深度 (事前レイアウト)。
logicalCountsCczCount 文字列 メトリック サフィックスを持つ CCZ ゲート (事前レイアウト) の数。
logicalCountsCcixCount 文字列 メトリック サフィックスを持つ CCiX ゲート (事前レイアウト) の数。
logicalCountsMeasurementCount 文字列 メトリック サフィックスを持つ単一量子ビット測定 (事前レイアウト) の数。
errorBudget 文字列 切り捨てられた合計エラー予算。
errorBudgetLogical 文字列 論理エラーのエラー予算が切り捨てられました。
errorBudgetTstates 文字列 エラーが発生した T 状態蒸留のエラー予算が切り捨てられました。
errorBudgetRotations 文字列 誤った回転合成のエラー予算が切り捨てられました。
numTsPerRotation 文字列 回転あたりの書式設定された Ts 数 (None の場合があります)。

論理量子ビット

physicalCounts ディクショナリには、次のエントリが含まれています。

出力パラメーター データの種類 Description
codeDistance 数値 論理量子ビットの計算されたコード距離。
physicalQubits 数値 各論理量子ビットの物理量子ビットの数。
logicalCycleTime 数値 1 つの論理操作を実行する時間。
logicalErrorRate 数値 論理量子ビットの論理エラー 率。

論理カウント

physicalCounts ディクショナリには、次のエントリが含まれています。

出力パラメーター データの種類 Description
numQubits 数値 事前レイアウトの量子ビット数。
tCount 数値 レイアウト前の T ゲートの数。
rotationCount 数値 回転ゲートのレイアウト前の数。
rotationDepth 数値 レイアウト前の回転深度。
cczCount 数値 CCZ ゲートのレイアウト前数。
ccixCount 数値 CCiX ゲートのレイアウト前数。
measurementCount 数値 単一量子ビット測定の事前レイアウト数。

ヒント

リソース見積もりジョブに対して事前に計算された論理カウントのセットを使用する場合は、 LogicalCounts Python 操作を使用して、既知の見積もりをリソース推定器に渡すことができます。 詳細については、「 リソース推定ツールで既知の見積もりを使用する方法を参照してください。

空間図

全体的な物理リソース推定は、アルゴリズムと T ファクトリ コピーの両方に使用される物理量子ビットの合計数で構成されます。 空間図を使用して、これら 2 つの間の分布を調べることができます。

空間図は、アルゴリズムと T ファクトリに使用される物理量子ビットの割合を示しています。 T ファクトリのコピーの数は、T ファクトリの物理量子ビットの数にカウントされることに注意してください。

Jupyter Notebook では、qsharp-widgets パッケージの SpaceChart ウィジェットを使用して、空間ダイアグラムにアクセスできます。

from qdk.widgets import SpaceChart

SpaceChart(result)

Pie diagram showing the distribution of total physical qubits between algorithm qubits and T factory qubits. There's a table with the breakdown of number of T factory copies and number of physical qubits per T factory.アルゴリズム量子ビットと T ファクトリ量子ビットの間の物理量子ビットの合計分布を示す円グラフ。T ファクトリのコピー数と T ファクトリあたりの物理量子ビット数の内訳を含むテーブルがあります。

Pareto フロンティア推定を使用してtargetパラメーターの複数の構成を実行する場合の特定のソリューションの空間図をプロットできます。 たとえば、次のコードは、パラメーターの最初の構成と 3 番目に短いランタイムの空間図をプロットする方法を示しています。

SpaceChart(result[0], 2) # First (estimate index=0) run and third (point index=2) shortest runtime

時空間図

量子コンピューティングでは、物理量子ビットの数とアルゴリズムのランタイムの間にトレードオフがあります。 アルゴリズムの実行時間を短縮するために、可能な限り多くの物理量子ビットの割り当てを検討できます。 ただし、物理量子ビットの数は、量子ハードウェアで使用可能な物理量子ビットの数によって制限されます。 ランタイムとシステムスケールのトレードオフを理解することは、リソース推定の最も重要な側面の 1 つです。

アルゴリズムのリソースを推定するときは、時空間図を使用して、物理量子ビットの数とアルゴリズムのランタイムの間のトレードオフを視覚化できます。

Note

空間時間図で複数の最適な組み合わせを確認するには、推定の種類を Pareto フロンティア推定に設定する必要があります。 Visual Studio Code で [QDK: リソース見積もりの計算] コマンドを使用してリソース推定ツールを実行すると、既定でパレートフロンティア推定が有効になります。

時空間図を使用すると、量子ハードウェアの制約を満たす {量子ビット数とランタイム} ペアの最適な組み合わせを見つけることができます。 この図は、物理量子ビットの数と、各 {量子ビット数、ランタイム} ペアのアルゴリズムのランタイムを示しています。

Jupyter Notebook で時空間図を実行するには、EstimatesOverview パッケージのwidgets ウィジェットを使用します。

from qdk.widgets import EstimatesOverview

EstimatesOverview(result, colors=["#1f77b4", "#ff7f0e"], runNames=["e4 Surface Code", "e6 Floquet Code"])

Screenshot showing the qubit-time diagram of the Resource Estimator.リソース推定器の量子ビット時間図を示すスクリーンショット。

ヒント

見積もりの詳細を表示するには、図の各ポイントにマウス ポインターを合わせます。

時空間図は、同じアルゴリズムに対して target パラメーターの複数の構成を比較する場合に特に便利です。

Screenshot showing the space-time diagram and the table of results when running multiple configurations of parameter in the Resource Estimator.Resource Estimator でパラメーターの複数の構成を実行するときの、時空間図と結果のテーブルを示すスクリーンショット。

Note

リソース推定ツールの使用時に問題が発生した場合は、 トラブルシューティング ページを参照するか、 AzureQuantumInfo@microsoft.comにお問い合わせください。

次のステップ