了解資源估算器的結果數據
瞭解如何解譯和擷取資源估算器的輸出參數和圖表。 本文說明如何在 Jupyter Notebook 中以程式設計方式存取資源估算器的結果。 如果您在命令選擇區 Visual Studio Code 中執行資源估算器,則不適用下列命令。
必要條件
已安裝 Python 和 Pip 的 Python 環境。
已安裝 Azure Quantum Development Kit、 Python 和 Jupyter 擴充功能的 VS Code。
最新的 Azure Quantum
qsharp
和qsharp-widgets
套件。python -m pip install --upgrade qsharp qsharp-widgets
輸出參數
資源估算器的輸出數據是在控制台中列印的報表,而且可以程序設計方式存取。 例如,下列代碼段示範如何存取資源估計參數。
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 |
字典 | 估計值的明細。 如需詳細資訊,請參閱 實體計數明細。 |
實體計數明細
的breakdown
physical_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)
使用 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。
下一步
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應