Číst v angličtině

Sdílet prostřednictvím


Načtení výstupu estimátoru prostředků

Zjistěte, jak interpretovat a načítat výstupní parametry a diagramy nástroje Pro odhad prostředků. Tento článek vysvětluje, jak programově získat přístup k výsledkům Nástroje pro odhad prostředků v poznámkových blocích Jupyter v editoru Visual Studio Code.

Požadavky

Poznámka

Pokud nástroj pro odhad prostředků spustíte v editoru Visual Studio Code z palety příkazů, následující příkazy se nevztahují. Další informace najdete v tématu Různé způsoby spuštění nástroje pro odhad prostředků.

Výstupní parametry

Výstupní data estimátoru prostředků jsou sestava, která se vytiskne v konzole a dá se k němu přistupovat prostřednictvím kódu programu. Například následující fragment kódu ukazuje, jak získat přístup k parametrům odhadu prostředků.

Python
result['jobParams']

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

Výstupní parametr nejvyšší úrovně Datový typ Popis
status string Stav úlohy je vždy Succeeded.
jobParams slovník Parametry úlohy target, které jsou předány jako vstup.
physicalCounts slovník Odhady fyzických prostředků. Další informace naleznete v tématu Fyzické počty.
physicalCountsFormatted slovník Odhady fyzických zdrojů naformátované pro zobrazení v datech sestavy. Další informace naleznete v tématu Fyzické počty formátované.
logicalQubit slovník Vlastnosti logického qubitu. Další informace najdete v tématu Logický qubit.
tfactory slovník Vlastnosti továrny T
logicalCounts slovník Odhady logických prostředků před rozložením Další informace viz Logické počty.
reportData slovník Tvorba dat pro zprávu o odhadu zdrojů

Fyzické počty

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

Výstupní parametr Datový typ Popis
physicalQubits Číslo Celkový počet fyzických qubitů.
runtime Číslo Celková doba běhu algoritmu v nanosekundách.
rqops Číslo Počet spolehlivých kvantových operací za sekundu (QOPS).
breakdown slovník Rozpis odhadů Další informace naleznete v části Rozpis fyzických počtů.

Rozpis fyzické inventury

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

Výstupní parametr Datový typ Popis
algorithmicLogicalQubits Číslo Logické qubity potřebné ke spuštění algoritmu, které ale nezahrnují prostředky pro T továrny.
algorithmicLogicalDepth Číslo Logické cykly potřebné pro spuštění algoritmu nezahrnují prostředky pro továrny T.
logicalDepth Číslo Pravděpodobně upravený počet cyklů, který se počítá vždy, když je doba provádění továrny T rychlejší než doba provádění algoritmu.
numTstates Číslo Počet stavů T spotřebovaných algoritmem
clockFrequency Číslo Počet logických cyklů za sekundu
numTfactories Číslo Počet továren T (za předpokladu jednotného návrhu výroby T).
numTfactoryRuns Číslo Počet, jak často by měly běžet všechny paralelní továrny T.
physicalQubitsForTfactories Číslo Počet fyzických qubitů pro všechny továrny typu T.
physicalQubitsForAlgorithm Číslo Počet fyzických qubitů pro rozložení algoritmu.
requiredLogicalQubitErrorRate Číslo Požadovaná logická míra chyb.
requiredLogicalTstateErrorRate Číslo Požadovaná úroveň chybovosti logického T stavu.
numTsPerRotation Číslo Počet bran T na jednu rotaci.
cliffordErrorRate Číslo Chybovost Cliffordu založená na parametrech qubitu.

Fyzické počty formátované

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

Výstupní parametr Datový typ Popis
runtime řetězec Celková doba běhu jako lidem přívětivý řetězec.
rqops řetězec Počet spolehlivých kvantových operací za sekundu (QOPS) formátovaný s příponou metriky
physicalQubits řetězec Celkový počet fyzických qubitů s příponou metriky
algorithmicLogicalQubits řetězec Algoritmické logické qubity s příponou metriky
algorithmicLogicalDepth string Algoritmická logická hloubka s příponou metriky
logicalDepth řetězec Možná upravená algoritmická logická hloubka s metrickou příponou.
numTstates řetězec Počet stavů T s příponou metriky
numTfactories řetězec Počet kopií továrny T s metrickým sufixem
numTfactoryRuns řetězec Počet běhů továrny T s příponou metriky.
physicalQubitsForAlgorithm řetězec Počet fyzických qubitů pro algoritmus s příponou metriky
physicalQubitsForTfactories řetězec Počet fyzických qubitů pro T-fabriky s metrickou příponou
physicalQubitsForTfactoriesPercentage řetězec Počet fyzických qubitů pro všechny továrny T v procentech vzhledem k celkovému počtu.
requiredLogicalQubitErrorRate řetězec Zkrátila se požadovaná logická míra chyb qubitu.
requiredLogicalTstateErrorRate řetězec Zkrácená požadovaná míra chyb pro stav T.
physicalQubitsPerLogicalQubit řetězec Počet fyzických qubitů na logický qubit s příponou metriky
logicalCycleTime řetězec Délka logického cyklu logického qubitu jako řetězec přívětivý pro člověka.
clockFrequency řetězec Počet logických cyklů za sekundu jako uživatelsky přívětivý řetězec.
logicalErrorRate řetězec Zkrácená logická míra chyb.
tfactoryPhysicalQubits řetězec Počet fyzických qubitů v T továrně s metrickou příponou (nebo zpráva, že továrna T neexistuje).
tfactoryRuntime string Doba běhu jedné továrny T jako uživatelsky přívětivý řetězec (nebo zpráva, že neexistuje žádná továrna T).
numInputTstates řetězec Počet vstupních stavů (nebo zpráva, že neexistuje žádná továrna T).
numUnitsPerRound řetězec Počet jednotek na destilační kolo, čárka oddělená v řetězci (nebo zpráva, že neexistuje žádná továrna T).
unitNamePerRound řetězec Názvy jednotek každého destilačního kola, oddělené čárkami v řetězci (případně zpráva, že neexistuje žádná továrna T).
codeDistancePerRound string Vzdálenosti kódu v rámci destilačního kola, oddělené čárkami v řetězci (nebo zpráva, že není žádná továrna T).
physicalQubitsPerRound string Počet fyzických qubitů na destilační kolo, čárka oddělená v řetězci (nebo zpráva, že neexistuje žádná továrna T).
tfactoryRuntimePerRound řetězec Doba běhu každého destilačního kola, zobrazená jako čárkami oddělené uživatelsky přívětivé řetězce (nebo zpráva, že neexistuje továrna T).
tstateLogicalErrorRate řetězec Zkrácená chybovost logického T stavu (nebo zpráva, že neexistuje žádná továrna T).
logicalCountsNumQubits řetězec Počet qubitů (před rozložením) s metrickou příponou
logicalCountsTCount řetězec Počet T bran (před rozložením) s metrickou příponou.
logicalCountsRotationCount řetězec Počet rotačních bran s metrickou příponou (před rozvržením)
logicalCountsRotationDepth string Hloubka otočení (před rozložením) s metrickou příponou.
logicalCountsCczCount string Počet CCZ bran (předem uspořádaných) s metrickou příponou
logicalCountsCcixCount řetězec Počet bran CCiX (před rozložením) s metrickou příponou.
logicalCountsMeasurementCount string Počet jednoqubitových měření (před rozložením) s metrickou příponou.
errorBudget řetězec Celkový rozpočet chyb byl zkrácen.
errorBudgetLogical řetězec Zkrácený rozpočet chyb pro logickou chybu
errorBudgetTstates řetězec Zkrácený chybový rozpočet pro vadnou destilaci stavu T.
errorBudgetRotations řetězec Zkrácený rozpočet chyb pro syntézu vadných rotací
numTsPerRotation řetězec Formátovaný počet T na otočení (může být Žádný).

Logický qubit

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

Výstupní parametr Datový typ Popis
codeDistance Číslo Vypočítaná vzdálenost kódu pro logický qubit.
physicalQubits Číslo Počet fyzických qubitů pro každý logický qubit.
logicalCycleTime Číslo Čas spuštění jedné logické operace.
logicalErrorRate Číslo Logická míra chyb logického qubitu.

Logické počty

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

Výstupní parametr Datový typ Popis
numQubits Číslo Počet qubitů před uspořádáním
tCount Číslo Počet bran T před rozložením.
rotationCount Číslo Počet rotačních bran před konfigurací
rotationDepth Číslo Hloubka rotace před nastavením
cczCount Číslo Počet CCZ bran před návrhem rozložení.
ccixCount Číslo Počet bran CCiX před rozložením
measurementCount Číslo Počet měření jednoqubitového před uspořádáním.

Tip

Pokud chcete pro úlohu odhadu prostředků použít předem vypočítanou sadu logických počtů, můžete pomocí LogicalCounts Python operace předat známé odhady do nástroje pro odhad prostředků. Další informace naleznete viz Jak používat známé odhady s nástrojem pro odhad prostředků.

Prostorový diagram

Celkový odhad fyzických prostředků zahrnuje celkový počet fyzických qubitů používaných jak pro algoritmus, tak pro metodu T factory. Rozdělení mezi těmito dvěma můžete zkontrolovat pomocí mezerního diagramu.

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

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

Python
import qsharp

from qsharp_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.Výsečový diagram znázorňující rozdělení celkových fyzických qubitů mezi qubity algoritmů a qubity T factory. Je zde tabulka s rozpisem počtu kopií T factory a počtu fyzických qubitů na jednu T factory.

Při spouštění více konfigurací parametrů target s odhadem hranice Pareto můžete vykreslit prostorový diagram pro konkrétní řešení. Například následující kód ukazuje, jak vykreslit prostorový diagram pro první konfiguraci parametrů a třetí nejkratší dobu běhu.

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

Diagram prostorového času

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 dobu běhu algoritmu. Počet fyzických qubitů je však omezený počtem fyzických qubitů dostupných v 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 odhadu prostředků algoritmu můžete pomocí diagramu prostorového času vizualizovat kompromisy mezi počtem fyzických qubitů a modulem runtime algoritmu.

Poznámka

Pokud chcete v diagramu prostorového času zobrazit několik optimálních kombinací, musíte nastavit způsob odhadu na Paretovo odhadování hranice. Pokud spustíte nástroj Odhad prostředků v editoru Visual Studio Code pomocí možnosti Vypočítat odhady prostředků, je ve výchozím nastavení povolen odhad paretovské hranice.

Diagram prostorového času umožňuje najít optimální kombinaci {number of qubits, runtime} párů, které splňují omezení kvantového hardwaru. Diagram znázorňuje počet fyzických qubitů a dobu běhu algoritmu pro každou dvojici {počet qubitů, doba běhu}.

Chcete-li spustit diagram prostorového času v Jupyter Notebooku, můžete použít widget EstimatesOverview z balíčku qsharp-widgets.

Python
import qsharp

from qsharp_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.Snímek obrazovky znázorňující diagram qubit-time v estimátoru prostředků

Tip

Pokud chcete zobrazit podrobnosti odhadu, můžete najet myší na každý bod v diagramu.

Časoprostorový diagram je zvláště užitečný při porovnávání několika konfigurací parametrů target pro stejný algoritmus.

Screenshot showing the space-time diagram and the table of results when running multiple configurations of parameter in the Resource Estimator.Snímek obrazovky znázorňující časoprostorový diagram a tabulku výsledků při běhu více konfigurací parametru v nástroji pro odhad prostředků

Poznámka

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

Další kroky