Vysvětlení výsledných dat nástroje Pro posouzení prostředků

Naučte se interpretovat a načítat výstupní parametry a diagramy nástroje Pro posouzení prostředků. Tento článek vysvětluje, jak programově získat přístup k výsledkům Nástroje pro posouzení prostředků v poznámkových blocích Jupyter Notebooks. Pokud nástroj Resource Estimator spustíte v editoru Visual Studio Code z palety příkazů, následující příkazy se nepoužijí.

Požadavky

Výstupní parametry

Výstupní data nástroje Resource Estimator jsou sestava, která se vytiskne v konzole a je přístupná programově. Například následující fragment kódu ukazuje, jak získat přístup k parametrům odhadu prostředků.

result['job_params']

Následující výstupní data představují možné položky, ke kterým je možné přistupovat prostřednictvím kódu programu.

Výstupní parametr nejvyšší úrovně Datový typ Description
status řetězec Stav úlohy je vždy Succeeded.
job_params Slovník Parametry target úlohy, které jsou předány jako vstup.
physical_counts Slovník Odhady fyzických prostředků. Další informace najdete v tématu Fyzické počty.
physical_counts_formatted Slovník Odhady fyzických prostředků naformátované pro zobrazení v datech sestavy Další informace najdete v tématu Formát fyzických počtů.
logical_qubit Slovník Vlastnosti logického qubitu. Další informace najdete v tématu Logický qubit.
tfactory Slovník Vlastnosti továrny T.
logical_counts Slovník Odhady logických prostředků před rozložením. Další informace najdete v tématu Logické počty.
report_data Slovník Generování dat pro sestavu odhadu prostředků

Fyzické počty

Slovník physical_counts obsahuje následující položky:

Výstupní parametr Datový typ Popis
physical_qubits číslo Celkový počet fyzických qubitů.
runtime číslo Celkový modul runtime pro spuštění algoritmu v nanosekundách
rqops číslo Počet spolehlivých kvantových operací za sekundu (QOPS).
breakdown Slovník Rozpis odhadů. Další informace najdete v tématu Rozpis fyzických počtů.

Rozpis fyzických počtů

Slovník breakdown obsahuje physical_counts následující položky:

Výstupní parametr Datový typ Popis
algorithmic_logical_qubits číslo Logické qubity potřebné ke spuštění algoritmu a nezahrnují prostředky pro T factory.
algorithmic_logical_depth číslo Logické cykly potřebné pro spuštění algoritmu a nezahrnují prostředky pro T factory.
logical_depth číslo Pravděpodobně upravený počet cyklů, který se vypočítá vždy, když je doba spuštění T továrny rychlejší než provádění algoritmu.
num_tstates číslo Počet stavů T spotřebovaných algoritmem.
clock_frequency číslo Počet logických cyklů za sekundu.
num_tfactories číslo Počet T továren (za předpokladu jednotného návrhu T továrny).
num_tfactory_runs číslo Počet, jak často by měly běžet všechny paralelní továrny T.
physical_qubits_for_tfactories číslo Počet fyzických qubitů pro všechny T továrny.
physical_qubits_for_algorithm číslo Počet fyzických qubitů pro rozložení algoritmu.
required_logical_qubit_error_rate číslo Požadovaná logická míra chyb.
required_logical_tstate_error_rate číslo Požadovaná logická míra chyb ve stavu T.
num_ts_per_rotation číslo Počet T bran na otočení.
clifford_error_rate číslo Cliffordova míra chyb založená na parametrech qubitu.

Formát fyzických počtů

Slovník physical_counts_formatted obsahuje následující položky:

Výstupní parametr Datový typ Description
runtime řetězec Total runtime as human friendly string.
rqops řetězec Počet spolehlivých kvantových operací za sekundu (QOPS) formátovaných s příponou metriky
physical_qubits řetězec Celkový počet fyzických qubitů s příponou metriky
algorithmic_logical_qubits řetězec Algoritmické logické qubity s příponou metriky
algorithmic_logical_depth řetězec Algoritmická logická hloubka s příponou metriky
logical_depth řetězec Možná upravená algoritmická logická hloubka s příponou metriky.
num_tstates řetězec Počet stavů T s příponou metriky
num_tfactories řetězec Počet kopií T factory s příponou metriky
num_tfactory_runs řetězec Počet spuštění T factory s příponou metriky
physical_qubits_for_algorithm řetězec Počet fyzických qubitů pro algoritmus s příponou metriky
physical_qubits_for_tfactories řetězec Počet fyzických qubitů pro továrny T s příponou metriky
physical_qubits_for_tfactories_percentage řetězec Počet fyzických qubitů pro všechny T továrny v procentech k celkovému počtu.
required_logical_qubit_error_rate řetězec Zkrácená požadovaná logická míra chyb qubitu
required_logical_tstate_error_rate řetězec Zkrácená požadovaná míra chyb stavu T.
physical_qubits_per_logical_qubit řetězec Počet fyzických qubitů na logický qubit s příponou metriky
logical_cycle_time řetězec Čas logického cyklu logického qubitu jako řetězec pro člověka.
clock_frequency řetězec Počet logických cyklů za sekundu jako řetězec pro člověka.
logical_error_rate řetězec Zkrácená logická míra chyb.
tfactory_physical_qubits řetězec Počet fyzických qubitů v T factory s příponou metriky (nebo zpráva, že neexistuje žádná továrna T)
tfactory_runtime řetězec Modul runtime jedné továrny T jako řetězec přátelský pro člověka (nebo zpráva, že neexistuje žádná továrna T).
num_input_tstates řetězec Počet vstupních stavů T (nebo zpráva, že neexistuje žádná továrna T).
num_units_per_round řetězec Počet jednotek na destilační kolo, čárka oddělená řetězcem (nebo zpráva, že neexistuje továrna T).
unit_name_per_round řetězec Názvy jednotek každého destilačního kola, čárka oddělená řetězcem (nebo zpráva, že neexistuje žádná továrna T).
code_distance_per_round řetězec Vzdálenosti kódu pro každé kolo destilace, čárka oddělená v řetězci (nebo zpráva, že neexistuje továrna T).
physical_qubits_per_round řetězec Počet fyzických qubitů na destilační kolo, čárka oddělená řetězcem (nebo zpráva, že neexistuje žádná továrna T).
tfactory_runtime_per_round řetězec Doba trvání každého kola destilace, která se zobrazuje jako čárkami oddělené řetězce pro člověka (nebo zpráva, že neexistuje žádná továrna T).
tstate_logical_error_rate řetězec Zkrácená chybovost logického stavu T (nebo zpráva, že neexistuje žádná továrna T).
logical_counts_num_qubits řetězec Počet qubitů (před rozložením) s příponou metriky
logical_counts_t_count řetězec Počet T bran (před rozložením) s příponou metriky
logical_counts_rotation_count řetězec Počet bran otáčení (před rozložením) s příponou metriky
logical_counts_rotation_depth řetězec Hloubka otočení (před rozložením) s příponou metriky
logical_counts_ccz_count řetězec Počet bran CCZ (před rozložením) s příponou metriky.
logical_counts_ccix_count řetězec Počet bran CCiX (před rozložením) s příponou metriky
logical_counts_measurement_count řetězec Počet měření s jedním qubitem (před rozložením) s příponou metriky
error_budget řetězec Zkrácený celkový rozpočet chyb.
error_budget_logical řetězec Zkrácený rozpočet chyb pro logickou chybu
error_budget_tstates řetězec Zkrácený rozpočet chyb pro vadnou destilaci stavu T.
error_budget_rotations řetězec Zkrácený rozpočet chyb pro syntézu chybné rotace.
num_ts_per_rotation řetězec Formátovaný počet Ts na otočení (může být Žádný).

Logický qubit

Slovník logical_qubit obsahuje následující položky:

Výstupní parametr Datový typ Popis
code_distance číslo Vypočítaná vzdálenost kódu logického qubitu
physical_qubits číslo Počet fyzických qubitů pro každý logický qubit.
logical_cycle_time číslo Čas k provedení jedné logické operace.
logical_error_rate číslo Logická míra chyb logického qubitu.

Logické počty

Slovník logical_counts obsahuje následující položky:

Výstupní parametr Datový typ Popis
num_qubits číslo Počet qubitů před rozložením
t_count číslo Počet T bran před rozložením.
rotation_count číslo Počet bran otáčení před rozložením.
rotation_depth číslo Hloubka otočení před rozložením.
ccz_count číslo Počet bran CCZ před rozložením.
ccix_count číslo Počet bran CCiX před rozložením.
measurement_count číslo Počet měření s jedním qubitem před rozložením.

Diagram prostoru

Odhad celkového fyzického prostředku se skládá z celkového počtu fyzických qubitů použitých pro kopie algoritmu i T factory. Rozdělení mezi těmito dvěma můžete zkontrolovat pomocí prostorového diagramu.

Prostorový diagram znázorňuje podíl fyzických qubitů použitých pro algoritmus a T factory. Všimněte si, že počet kopií T factory přispívá k počtu fyzických qubitů pro T továrny.

V Jupyter Notebook můžete k diagramu prostoru přistupovat pomocí SpaceChart widgetu z qsharp-widgets balíčku.

import qsharp

from qsharp_widgets import SpaceChart
SpaceChart(result)

Výsečový diagram znázorňující rozdělení celkových fyzických qubitů mezi algoritmovými qubity a qubity T factory K dispozici je tabulka s rozpisem počtu kopií T factory a počtu fyzických qubitů na T továrnu.

Při spouštění více konfigurací target parametrů s odhadem Paretovy hranice můžete vykreslit diagram prostoru pro konkrétní řešení. Následující kód například ukazuje, jak vykreslit diagram prostoru pro první konfiguraci parametrů a třetí nejkratší modul runtime.

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

Prostoročasový diagram

V kvantových výpočtech existuje kompromis mezi počtem fyzických qubitů a modulem runtime algoritmu. Můžete zvážit přidělení co největšího počtu fyzických qubitů, abyste snížili běh algoritmu. Počet fyzických qubitů je však omezený počtem fyzických qubitů dostupných na kvantovém hardwaru. Pochopení kompromisu mezi modulem runtime a škálováním systému je jedním z důležitějších aspektů odhadu prostředků.

Při odhadování prostředků algoritmu můžete pomocí prostorového diagramu vizualizovat kompromisy mezi počtem fyzických qubitů a modulem runtime algoritmu.

Poznámka

Pokud chcete zobrazit více optimálních kombinací v prostoroprostorovém diagramu, musíte nastavit typ odhadu na Paretův odhad hranice. Pokud nástroj Pro posouzení prostředků spustíte v editoru Visual Studio Code pomocí Q#možnosti : Vypočítat odhady prostředků , paretův odhad hranice je ve výchozím nastavení povolený.

Prostoročasový diagram umožňuje najít optimální kombinaci {počet qubitů, párů modulu runtime}, které splňují omezení kvantového hardwaru. Diagram znázorňuje počet fyzických qubitů a modul runtime algoritmu pro každou dvojici {počet qubitů, modul runtime}.

K spuštění časoprostorového diagramu v Jupyter Notebook můžete použít EstimatesOverview widget z qsharp-widgets balíčku.

import qsharp

from qsharp_widgets import EstimatesOverview

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

Snímek obrazovky znázorňující diagram qubitového času nástroje Pro posouzení prostředků

Tip

Podrobnosti odhadu zobrazíte tak, že najedete myší na každý bod v diagramu.

Diagram časoprostoru je zvlášť užitečný při porovnávání více konfigurací target parametrů pro stejný algoritmus.

Snímek obrazovky znázorňující diagram časoprostoru a tabulku výsledků při spuštění více konfigurací parametru v nástroji Resource Estimator

Poznámka

Pokud při práci s nástrojem pro posouzení prostředků narazíte na nějaký problém, podívejte se na stránku Řešení potíží nebo se obraťte na AzureQuantumInfo@microsoft.com.

Další kroky