Vysvětlení výsledných dat nástroje pro odhad 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. 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í.
Požadavky
Prostředí Pythonu s nainstalovaným Pythonem a Pipem
Nejnovější verze editoru Visual Studio Code nebo otevření editoru VS Code na webu
VS Code s nainstalovanými rozšířeními Azure Quantum Development Kit, Python a Jupyter
Nejnovější balíčky a
qsharp-widgets
služby Azure Quantumqsharp
.python -m pip install --upgrade qsharp qsharp-widgets
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ů.
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 target úlohy, 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 | Fyzický prostředek odhaduje formát 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 objektu pro vytváření T |
logicalCounts |
slovník | Odhady logických prostředků před rozložením Další informace najdete v tématu Logické počty. |
reportData |
slovník | Generování dat pro sestavu 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ý 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 naleznete v části Rozpis fyzických počtů. |
Rozpis fyzických počtů
Slovník breakdown
physicalCounts
obsahuje následující položky:
Výstupní parametr | Datový typ | Popis |
---|---|---|
algorithmicLogicalQubits |
Číslo | Logické qubity potřebné ke spuštění algoritmu a nezahrnují prostředky pro továrny T. |
algorithmicLogicalDepth |
Číslo | Logické cykly vyžadované pro spuštění algoritmu a nezahrnují prostředky pro továrny T. |
logicalDepth |
Číslo | Pravděpodobně upravený počet cyklů, které se počítají vždy, když je doba provádění T továrny rychlejší, pak algoritmus provádění. |
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 T továrny. |
physicalQubitsForAlgorithm |
Číslo | Počet fyzických qubitů pro rozložení algoritmu. |
requiredLogicalQubitErrorRate |
Číslo | Požadovaná logická míra chyb. |
requiredLogicalTstateErrorRate |
Číslo | Požadovaná chybovost logického T stavu. |
numTsPerRotation |
Číslo | Počet bran T na otočení. |
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 |
string | Total runtime as human friendly string. |
rqops |
string | Počet spolehlivých kvantových operací za sekundu (QOPS) formátovaný s příponou metriky |
physicalQubits |
string | Celkový počet fyzických qubitů s příponou metriky |
algorithmicLogicalQubits |
string | Algoritmické logické qubity s příponou metriky |
algorithmicLogicalDepth |
string | Algoritmická logická hloubka s příponou metriky |
logicalDepth |
string | Možná upravená algoritmická logická hloubka s příponou metriky. |
numTstates |
string | Počet stavů T s příponou metriky |
numTfactories |
string | Počet kopií T factory s příponou metriky |
numTfactoryRuns |
string | Počet spuštění objektu pro vytváření T s příponou metriky |
physicalQubitsForAlgorithm |
string | Počet fyzických qubitů pro algoritmus s příponou metriky |
physicalQubitsForTfactories |
string | Počet fyzických qubitů pro továrny T s příponou metriky |
physicalQubitsForTfactoriesPercentage |
string | Počet fyzických qubitů pro všechny továrny T v procentech do celkového počtu. |
requiredLogicalQubitErrorRate |
string | Zkrátila se požadovaná logická míra chyb qubitu. |
requiredLogicalTstateErrorRate |
string | Zkrácená požadovaná míra chyb stavu T. |
physicalQubitsPerLogicalQubit |
string | Počet fyzických qubitů na logický qubit s příponou metriky |
logicalCycleTime |
string | Logický cyklus logického qubitu jako řetězec, který je pro člověka přívětivý. |
clockFrequency |
string | Početlogických |
logicalErrorRate |
string | Zkrácená logická míra chyb. |
tfactoryPhysicalQubits |
string | Počet fyzických qubitů v továrně T s příponou metriky (nebo zprávou, že neexistuje žádná továrna T). |
tfactoryRuntime |
string | Modul runtime jednoho objektu pro vytváření T jako řetězec přátelský pro člověka (nebo zpráva, že neexistuje žádná továrna T). |
numInputTstates |
string | Počet vstupníchstavůch |
numUnitsPerRound |
string | Počet jednotek na destilační kolo, čárka oddělená v řetězci (nebo zpráva, že neexistuje žádná továrna T). |
unitNamePerRound |
string | Názvy jednotek každé destilační kruhy oddělené čárkami v řetězci (nebo zpráva, že neexistuje žádná továrna T). |
codeDistancePerRound |
string | Vzdálenosti kódu na destilační kolo, čárka oddělená v řetězci (nebo zpráva, že neexistuje žá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 |
string | Doba běhu každé destilační kola, zobrazená jako čárkami oddělené lidské přátelské řetězce (nebo zpráva, že neexistuje žádná továrna T). |
tstateLogicalErrorRate |
string | Zkrácená chybovost logického T stavu (nebo zpráva, že neexistuje žádná továrna T). |
logicalCountsNumQubits |
string | Počet qubitů (před rozložením) s příponou metriky |
logicalCountsTCount |
string | Počet bran T (před rozložením) s příponou metriky |
logicalCountsRotationCount |
string | Počet otočných bran (před rozložením) s příponou metriky |
logicalCountsRotationDepth |
string | Hloubka otočení (před rozložením) s příponou metriky |
logicalCountsCczCount |
string | Počet bran CCZ (před rozložením) s příponou metriky |
logicalCountsCcixCount |
string | Počet bran CCiX (před rozložením) s příponou metriky |
logicalCountsMeasurementCount |
string | Počet měření s jedním qubitem (před rozložením) s příponou metriky |
errorBudget |
string | Zkrácený celkový rozpočet chyb |
errorBudgetLogical |
string | Zkrácený rozpočet chyb pro logickou chybu |
errorBudgetTstates |
string | Zkrácený rozpočet chyb pro vadnou destilační hodnotu T. |
errorBudgetRotations |
string | Zkrácený rozpočet chyb pro syntézu vadných rotací |
numTsPerRotation |
string | Formátovaný počet T na otočení (může být Žádný). |
Logický qubit
Slovník logicalQubit
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četfyzických |
logicalCycleTime |
Číslo | Čas spuštění jedné logické operace. |
logicalErrorRate |
Číslo | Logická míra chyb logického qubitu. |
Logické počty
Slovník logicalCounts
obsahuje následující položky:
Výstupní parametr | Datový typ | Popis |
---|---|---|
numQubits |
Číslo | Počet qubitů před rozložením |
tCount |
Číslo | Počet bran T před rozložením. |
rotationCount |
Číslo | Počet otočných bran před rozložením |
rotationDepth |
Číslo | Hloubka otočení před rozložením |
cczCount |
Číslo | Počet bran CCZ před rozložením. |
ccixCount |
Číslo | Počet bran CCiX před rozložením |
measurementCount |
Číslo | Počet měření jedno qubitu před rozložením. |
Tip
Pokud chcete pro úlohu odhadu prostředků použít předem počítanou sadu logických počtů, můžete pomocí LogicalCounts
operace Pythonu předat známé odhady do nástroje pro odhad prostředků. Další informace naleznete v tématu Použití známých odhadů s nástrojem pro odhad prostředků.
Prostorový diagram
Celkový odhad fyzického prostředku se skládá z celkového počtu fyzických qubitů používaných pro kopie algoritmu i 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 Aplikaci Jupyter Notebook máte přístup k diagramu prostoru pomocí SpaceChart
widgetu qsharp-widgets
z balíčku.
import qsharp
from qsharp_widgets import SpaceChart
SpaceChart(result)
Při spouštění více konfigurací target parametrů s odhadem paretovské 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
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 typ odhadu na Paretův odhad hranice. Pokud spustíte nástroj pro odhad prostředků v editoru Visual Studio Code pomocí Q#možnosti : Calculate Resource Estimates (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 modul runtime algoritmu pro každou dvojici {number of qubits, runtime}.
Pokud chcete v poznámkovém bloku Jupyter Notebook spustit diagram prostorového času, 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"])
Tip
Pokud chcete zobrazit podrobnosti odhadu, můžete najet myší na každý bod v diagramu.
Diagram prostorového času je speciálně užitečný při porovnávání více konfigurací target parametrů pro stejný algoritmus.
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 se obraťte AzureQuantumInfo@microsoft.comna kontakt .