Share via


了解資源估算器的結果數據

瞭解如何解譯和擷取資源估算器的輸出參數和圖表。 本文說明如何在 Jupyter Notebook 中以程式設計方式存取資源估算器的結果。 如果您在命令選擇區 Visual Studio Code 中執行資源估算器,則不適用下列命令。

必要條件

輸出參數

資源估算器的輸出數據是在控制台中列印的報表,而且可以程序設計方式存取。 例如,下列代碼段示範如何存取資源估計參數。

result['job_params']

下列輸出數據構成可透過程序設計方式存取的可能專案。

最上層輸出參數 資料類型 描述
status 字串 工作的狀態一律 Succeeded為 。
job_params 字典 target傳遞為輸入之作業的參數。
physical_counts 字典 實體資源估計值。 如需詳細資訊,請參閱 實體計數
physical_counts_formatted 字典 實體資源估計格式,以顯示在報表數據中。 如需詳細資訊,請參閱 格式化的實體計數
logical_qubit 字典 邏輯量子位屬性。 如需詳細資訊,請參閱 邏輯量子位
tfactory 字典 T Factory 屬性。
logical_counts 字典 預先配置邏輯資源估計值。 如需詳細資訊,請參閱 邏輯計數
report_data 字典 資源估計報表的產生數據。

實體計數

字典 physical_counts 包含下列專案:

輸出參數 資料類型 描述
physical_qubits 數字 實體量子位的總數。
runtime number 以 nanoseconds 執行演算法的總運行時間。
rqops number 每秒可靠的量子作業數目 (QOPS) 。
breakdown 字典 估計值的明細。 如需詳細資訊,請參閱 實體計數明細

實體計數明細

breakdownphysical_counts字典包含下列專案:

輸出參數 資料類型 描述
algorithmic_logical_qubits 數字 執行演算法所需的邏輯量子位,且不包含 T Factory 的資源。
algorithmic_logical_depth number 執行演算法所需的邏輯迴圈,且不包含 T Factory 的資源。
logical_depth number 每當 T Factory 執行時間較快,演算法執行時計算的可能調整週期數目。
num_tstates number 演算法所耗用的 T 狀態數目。
clock_frequency number 每秒的邏輯循環數目。
num_tfactories number 假設統一 T Factory 設計) , (的 T Factory 數目。
num_tfactory_runs number 所有平行 T 處理站應該執行的頻率數目。
physical_qubits_for_tfactories number 所有 T Factory 的實體量子位數目。
physical_qubits_for_algorithm number 演算法配置的實體量子位數目。
required_logical_qubit_error_rate number 必要的邏輯錯誤率。
required_logical_tstate_error_rate number 必要的邏輯 T 狀態錯誤率。
num_ts_per_rotation number 每個旋轉的 T 閘道數目。
clifford_error_rate number 根據量子位參數的 Countord 錯誤率。

已格式化的實體計數

字典 physical_counts_formatted 包含下列專案:

輸出參數 資料類型 描述
runtime 字串 總運行時間為人類易記字串。
rqops 字串 每秒可靠量子作業數目 (QOPS) 以計量後綴格式化。
physical_qubits 字串 具有計量後綴的實體量子位總數。
algorithmic_logical_qubits 字串 具有計量後綴的演演算法邏輯量子位。
algorithmic_logical_depth 字串 具有計量後綴的演演算法邏輯深度。
logical_depth 字串 可能會使用計量後綴調整演演算法邏輯深度。
num_tstates 字串 具有計量後綴的 T 狀態數目。
num_tfactories 字串 具有計量後綴的 T Factory 複本數目。
num_tfactory_runs 字串 具有計量後綴的 T Factory 執行數目。
physical_qubits_for_algorithm 字串 具有計量後綴之演算法的實體量子位數目。
physical_qubits_for_tfactories 字串 T Factory 具有計量後綴的實體量子位數目。
physical_qubits_for_tfactories_percentage 字串 所有 T Factory 的實體量子位數目,以百分比表示為總計。
required_logical_qubit_error_rate 字串 截斷必要的邏輯量子位錯誤率。
required_logical_tstate_error_rate 字串 截斷必要的 T 狀態錯誤率。
physical_qubits_per_logical_qubit 字串 每個邏輯量子位具有計量後綴的實體量子位數目。
logical_cycle_time 字串 邏輯量子位作為人類易記字串的邏輯周期時間。
clock_frequency 字串 以人類易記字串的每秒邏輯週期數目。
logical_error_rate 字串 截斷的邏輯錯誤率。
tfactory_physical_qubits 字串 T Factory 中具有計量後綴的實體量子位數目 (或沒有 T Factory) 的訊息。
tfactory_runtime 字串 單一 T Factory 的運行時間,作為人類易記字串 (或訊息,表示沒有 T Factory) 。
num_input_tstates 字串 輸入 T 狀態 (或訊息的數目,指出沒有 T Factory) 。
num_units_per_round 字串 每個擷取單位的單位數、以字串分隔的逗號 (或訊息中沒有 T Factory) 。
unit_name_per_round 字串 每個擷取的單位名稱、以字串分隔的逗號 (或訊息中沒有 T Factory) 。
code_distance_per_round 字串 每個擷取四捨五入的程式代碼距離、以字元串分隔的逗號 (或訊息中沒有 T Factory) 。
physical_qubits_per_round 字串 每個擷取四捨五入的實體量子位數目、以逗號分隔的字串 (或訊息中沒有 T Factory) 。
tfactory_runtime_per_round 字串 每個擷取回合的運行時間,顯示為逗號分隔的易記字串 (或訊息,表示沒有 T Factory) 。
tstate_logical_error_rate 字串 截斷邏輯 T 狀態錯誤率 (或沒有 T Factory) 的訊息。
logical_counts_num_qubits 字串 具有計量後綴的預先配置) (量子位數目。
logical_counts_t_count 字串 具有計量後綴的 T 閘道 (預先設定) 數目。
logical_counts_rotation_count 字串 具有計量後綴的輪替網關 (預先配置) 數目。
logical_counts_rotation_depth 字串 旋轉深度 (預先配置) 計量後綴。
logical_counts_ccz_count 字串 具有計量後綴的 CCZ 閘道 (預先設定) 數目。
logical_counts_ccix_count 字串 具有計量後綴的 CCiX 閘道 (預先設定) 數目。
logical_counts_measurement_count 字串 具有計量後綴的單一量子位度量數目, (預先配置) 。
error_budget 字串 截斷的總錯誤預算。
error_budget_logical 字串 邏輯錯誤的截斷錯誤預算。
error_budget_tstates 字串 錯誤 T 狀態擷取的截斷錯誤預算。
error_budget_rotations 字串 錯誤旋轉合成的截斷錯誤預算。
num_ts_per_rotation 字串 每個旋轉 (的格式化 T 數目可能是 None) 。

邏輯量子位

字典 logical_qubit 包含下列專案:

輸出參數 資料類型 描述
code_distance 數字 邏輯量子位的計算程式代碼距離。
physical_qubits number 每個邏輯量子位的實體量子位數目。
logical_cycle_time number 執行一個邏輯作業的時間。
logical_error_rate number 邏輯量子位的邏輯錯誤率。

邏輯計數

字典 logical_counts 包含下列專案:

輸出參數 資料類型 描述
num_qubits 數字 量子位的預先配置數目。
t_count number 預先配置 T 閘道數目。
rotation_count number 旋轉閘道的預先配置數目。
rotation_depth number 預先配置旋轉深度。
ccz_count number CCZ 閘道的預先配置數目。
ccix_count number CCiX 閘道的預先配置數目。
measurement_count number 單一量子位度量的預先配置數目。

空間圖

整體實體資源估計是由演算法和 T Factory 複本所使用的實體量子位總數所組成。 您可以使用空間圖檢查這兩者之間的分佈。

空間圖顯示用於演算法和 T Factory 的實體量子位比例。 請注意,T Factory 複本數目會貢獻 T Factory 的實體量子位數目。

在 Jupyter Notebook 中,您可以使用套件中的小工具qsharp-widgets來存取空間圖表SpaceChart

import qsharp

from qsharp_widgets import SpaceChart
SpaceChart(result)

餅圖顯示演算法量子位與 T Factory 量子位之間總實體量子位的分佈。有一個數據表,其中包含每個 T Factory 的 T 處理站複本數目和實體量子位數目。

使用 Pareto 新領域估計執行多個參數位態target時,您可以繪製 特定解決方案的空間圖表。 例如,下列程式代碼示範如何繪製參數第一個組態的空間圖表,以及第三個最短運行時間。

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

空間時程圖表

在量子運算中,實體量子位數目與演算法運行時間之間會有取捨。 您可以考慮盡可能配置多個實體量子位,以減少演算法的運行時間。 不過,實體量子位的數目受限於量子硬體中可用的實體量子位數目。 瞭解運行時間和系統規模之間的取捨是資源估計的其中一個重要層面。

在估計演算法的資源時,您可以使用空間時間圖表,將實體量子位數目與演算法運行時間之間的取捨可視化。

注意

若要查看空間時程圖表中的多個最佳組合,您需要將估計類型設定為 Pareto 前方估計。 如果您使用 [計算資源估計值] 選項,在 Visual Studio Code Q#中執行資源估算器,則預設會啟用Pareto前方估計。

空間時間圖表可讓您尋找符合量子硬體條件約束之 {number of qubits, runtime} 組的最佳組合。 此圖顯示每個 {量子位數目、運行時間} 組的演算法數目和運行時間。

若要在 Jupyter Notebook 中執行空格時間圖表,您可以使用EstimatesOverview套件中的qsharp-widgets小工具。

import qsharp

from qsharp_widgets import EstimatesOverview

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

顯示資源估算器的量子位時間圖表螢幕快照。

提示

若要查看估計詳細數據,您可以將滑鼠停留在圖表中的每個點上。

空間時間圖表在比較相同演算法的 target 多個參數位態時特別有用。

此螢幕快照顯示資源估算器中執行多個參數位態時的空間時程圖表和結果數據表。

注意

如果您在使用資源估算器時遇到任何問題,請參閱 疑難解答頁面,或連絡 AzureQuantumInfo@microsoft.com

下一步