Inzicht in de resultaatgegevens van de resource-estimator
Meer informatie over het interpreteren en ophalen van de uitvoerparameters en diagrammen van de resource-estimator. In dit artikel wordt uitgelegd hoe u programmatisch toegang kunt krijgen tot de resultaten van de Resource-estimator in Jupyter Notebooks. Als u de Resource Estimator uitvoert in Visual Studio Code vanuit het opdrachtenpalet, zijn de volgende opdrachten niet van toepassing.
Vereisten
Een Python-omgeving waarop Python en Pip zijn geïnstalleerd.
De nieuwste versie van Visual Studio Code of open VS Code op het web.
VS Code waarop de Azure Quantum Development Kit, Python en Jupyter-extensies zijn geïnstalleerd.
De nieuwste Azure Quantum
qsharp
enqsharp-widgets
pakketten.python -m pip install --upgrade qsharp qsharp-widgets
Uitvoerparameters
De uitvoergegevens van de resource-estimator zijn een rapport dat in de console wordt afgedrukt en programmatisch kan worden geopend. In het volgende codefragment ziet u bijvoorbeeld hoe u toegang hebt tot de parameters van de resourceraming.
result['jobParams']
De volgende uitvoergegevens vormen de mogelijke vermeldingen die programmatisch toegankelijk zijn.
Uitvoerparameter op het hoogste niveau | Gegevenstype | Beschrijving |
---|---|---|
status |
tekenreeks | De status van de taak, het is altijd Succeeded . |
jobParams |
woordenboek | De target parameters van de taak die als invoer worden doorgegeven. |
physicalCounts |
woordenboek | De schattingen van fysieke resources. Zie Fysieke aantallen voor meer informatie. |
physicalCountsFormatted |
woordenboek | De schattingen van fysieke resources die zijn opgemaakt voor weergave in rapportgegevens. Zie Fysieke tellingen die zijn opgemaakt voor meer informatie. |
logicalQubit |
woordenboek | De eigenschappen van de logische qubit. Zie Logische qubit voor meer informatie. |
tfactory |
woordenboek | De eigenschappen van de T-fabriek. |
logicalCounts |
woordenboek | De schattingen van logische resources vooraf indelen. Zie Logische tellingen voor meer informatie. |
reportData |
woordenboek | Generatiegegevens voor het resourceramingsrapport. |
Fysieke aantallen
De physicalCounts
woordenlijst bevat de volgende vermeldingen:
Uitvoerparameter | Gegevenstype | Beschrijving |
---|---|---|
physicalQubits |
Nummer | Het totale aantal fysieke qubits. |
runtime |
Nummer | De totale runtime voor het uitvoeren van het algoritme in nanoseconden. |
rqops |
Nummer | Het aantal betrouwbare kwantumbewerkingen per seconde (QOPS). |
breakdown |
woordenboek | Uitsplitsing van schattingen. Zie Uitsplitsing van fysieke aantallen voor meer informatie. |
Uitsplitsing van fysieke tellingen
De breakdown
woordenlijst bevat physicalCounts
de volgende vermeldingen:
Uitvoerparameter | Gegevenstype | Beschrijving |
---|---|---|
algorithmicLogicalQubits |
Nummer | De logische qubits die vereist zijn voor het uitvoeren van het algoritme en bevatten geen resources voor T-factory's. |
algorithmicLogicalDepth |
Nummer | De logische cycli die nodig zijn voor het uitvoeren van het algoritme en bevatten geen resources voor T-factory's. |
logicalDepth |
Nummer | Het mogelijk aangepaste aantal cycli dat wordt berekend wanneer de uitvoeringstijd van de T Factory sneller is dan de uitvoering van het algoritme. |
numTstates |
Nummer | Het aantal T-statussen dat door het algoritme wordt gebruikt. |
clockFrequency |
Nummer | Het aantal logische cycli per seconde. |
numTfactories |
Nummer | Het aantal T-factory's (uitgaande van uniform T-fabrieksontwerp). |
numTfactoryRuns |
Nummer | Het aantal hoe vaak alle parallelle T-factory's moeten worden uitgevoerd. |
physicalQubitsForTfactories |
Nummer | Het aantal fysieke qubits voor alle T-factory's. |
physicalQubitsForAlgorithm |
Nummer | Het aantal fysieke qubits voor de indeling van het algoritme. |
requiredLogicalQubitErrorRate |
Nummer | De vereiste logische foutfrequentie. |
requiredLogicalTstateErrorRate |
Nummer | Het vereiste foutpercentage van de logische T-status. |
numTsPerRotation |
Nummer | Het aantal T-poorten per draaiing. |
cliffordErrorRate |
Nummer | De Clifford-foutfrequentie op basis van de qubitparameters. |
Geformatteerde fysieke aantallen
De physicalCountsFormatted
woordenlijst bevat de volgende vermeldingen:
Uitvoerparameter | Gegevenstype | Beschrijving |
---|---|---|
runtime |
tekenreeks | Totale runtime als mensvriendelijke tekenreeks. |
rqops |
tekenreeks | Het aantal betrouwbare kwantumbewerkingen per seconde (QOPS) dat is opgemaakt met metrische achtervoegsel. |
physicalQubits |
tekenreeks | Totaal aantal fysieke qubits met metrische achtervoegsel. |
algorithmicLogicalQubits |
tekenreeks | Algoritmetische logische qubits met metrische achtervoegsel. |
algorithmicLogicalDepth |
tekenreeks | Algoritmen voor logische diepte met achtervoegsel voor metrische gegevens. |
logicalDepth |
tekenreeks | Eventueel aangepaste logische diepte van algoritme met achtervoegsel. |
numTstates |
tekenreeks | Aantal T-statussen met metrische achtervoegsel. |
numTfactories |
tekenreeks | Aantal exemplaren van T Factory met metrische achtervoegsel. |
numTfactoryRuns |
tekenreeks | Aantal T-factoryuitvoeringen met metrische achtervoegsel. |
physicalQubitsForAlgorithm |
tekenreeks | Aantal fysieke qubits voor algoritme met metrische achtervoegsel. |
physicalQubitsForTfactories |
tekenreeks | Aantal fysieke qubits voor T-factory's met metrische achtervoegsel. |
physicalQubitsForTfactoriesPercentage |
tekenreeks | Het aantal fysieke qubits voor alle T-factory's in percentage tot totaal. |
requiredLogicalQubitErrorRate |
tekenreeks | Afgekapte vereiste logische qubit-foutsnelheid. |
requiredLogicalTstateErrorRate |
tekenreeks | Afgekapte vereiste T-statusfoutpercentage. |
physicalQubitsPerLogicalQubit |
tekenreeks | Aantal fysieke qubits per logische qubit met metrische achtervoegsel. |
logicalCycleTime |
tekenreeks | De tijd van de logische cyclus van een logische qubit als mensvriendelijke tekenreeks. |
clockFrequency |
tekenreeks | Het aantal logische cycli per seconde als een mensvriendelijke tekenreeks. |
logicalErrorRate |
tekenreeks | Afgekapte logische foutfrequentie. |
tfactoryPhysicalQubits |
tekenreeks | Aantal fysieke qubits in de T-factory met metrische achtervoegsel (of bericht dat er geen T-factory is). |
tfactoryRuntime |
tekenreeks | De runtime van één T-factory als mensvriendelijke tekenreeks (of bericht dat er geen T-fabriek is). |
numInputTstates |
tekenreeks | Het aantal T-invoerstatussen (of het bericht dat er geen T-fabriek is). |
numUnitsPerRound |
tekenreeks | Het aantal eenheden per distillatieronde, gescheiden door komma's in een tekenreeks (of bericht dat er geen T-fabriek is). |
unitNamePerRound |
tekenreeks | De eenheidsnamen van elke distillatieronde, gescheiden door komma's in een tekenreeks (of bericht dat er geen T-fabriek is). |
codeDistancePerRound |
tekenreeks | De codeafstanden per distillatieronde, door komma's gescheiden in een tekenreeks (of bericht dat er geen T-fabriek is). |
physicalQubitsPerRound |
tekenreeks | Het aantal fysieke qubits per distillatieronde, gescheiden door komma's in een tekenreeks (of bericht dat er geen T-fabriek is). |
tfactoryRuntimePerRound |
tekenreeks | De runtime van elke distillatieronde, weergegeven als door komma's gescheiden menselijke vriendelijke tekenreeksen (of bericht dat er geen T-fabriek is). |
tstateLogicalErrorRate |
tekenreeks | Afgebroken foutpercentage logische T-status (of bericht dat er geen T-factory is). |
logicalCountsNumQubits |
tekenreeks | Aantal qubits (vooraf ingedeeld) met metrische achtervoegsel. |
logicalCountsTCount |
tekenreeks | Aantal T-poorten (vooraf ingedeeld) met metrische achtervoegsel. |
logicalCountsRotationCount |
tekenreeks | Aantal draaipoorten (vooraf ingedeeld) met metrische achtervoegsel. |
logicalCountsRotationDepth |
tekenreeks | Draaidiepte (vooraf indelen) met metrische achtervoegsel. |
logicalCountsCczCount |
tekenreeks | Aantal CCZ-poorten (vooraf ingedeeld) met metrische achtervoegsel. |
logicalCountsCcixCount |
tekenreeks | Aantal CCiX-poorten (vooraf ingedeeld) met metrische achtervoegsel. |
logicalCountsMeasurementCount |
tekenreeks | Aantal metingen met één qubit (vooraf indelen) met metrische achtervoegsel. |
errorBudget |
tekenreeks | Totale foutbudget afgekapt. |
errorBudgetLogical |
tekenreeks | Gekapt foutbudget voor logische fout. |
errorBudgetTstates |
tekenreeks | Afgekapte foutbudget voor defecte T-statusdestillatie. |
errorBudgetRotations |
tekenreeks | Gekapt foutbudget voor foutieve rotatiesynthese. |
numTsPerRotation |
tekenreeks | Het opgemaakte aantal T's per draaiing (kan geen zijn). |
Logische qubit
De logicalQubit
woordenlijst bevat de volgende vermeldingen:
Uitvoerparameter | Gegevenstype | Beschrijving |
---|---|---|
codeDistance |
Nummer | De berekende codeafstand voor de logische qubit. |
physicalQubits |
Nummer | Het aantal fysieke qubits voor elke logische qubit. |
logicalCycleTime |
Nummer | De tijd voor het uitvoeren van één logische bewerking. |
logicalErrorRate |
Nummer | De logische foutfrequentie van de logische qubit. |
Logische tellingen
De logicalCounts
woordenlijst bevat de volgende vermeldingen:
Uitvoerparameter | Gegevenstype | Beschrijving |
---|---|---|
numQubits |
Nummer | Aantal qubits vooraf indelen. |
tCount |
Nummer | Aantal T-poorten vooraf indelen. |
rotationCount |
Nummer | Aantal draaipoorten vooraf indelen. |
rotationDepth |
Nummer | Diepte van draaiing vooraf indelen. |
cczCount |
Nummer | Aantal CCZ-poorten vooraf indelen. |
ccixCount |
Nummer | Aantal CCiX-poorten vooraf indelen. |
measurementCount |
Nummer | Aantal metingen met één qubit vooraf indelen. |
Tip
Als u een vooraf berekende set logische tellingen voor een resourceramingstaak wilt gebruiken, kunt u de LogicalCounts
Python-bewerking gebruiken om de bekende schattingen door te geven aan de resource-estimator. Zie Hoe u bekende schattingen gebruikt met de resource-estimator voor meer informatie.
Ruimtediagram
De totale schatting van fysieke resources bestaat uit het totale aantal fysieke qubits dat wordt gebruikt voor zowel het algoritme als T Factory-kopieën. U kunt de verdeling tussen deze twee inspecteren met behulp van het ruimtediagram.
In het ruimtediagram ziet u het aandeel van de fysieke qubits die worden gebruikt voor het algoritme en de T-factory's. Houd er rekening mee dat het aantal exemplaren van T factory's bijdraagt aan het aantal fysieke qubits voor T-factory's.
In Jupyter Notebook hebt u toegang tot het ruimtediagram met behulp van de SpaceChart
widget uit het qsharp-widgets
pakket.
import qsharp
from qsharp_widgets import SpaceChart
SpaceChart(result)
Wanneer u meerdere configuraties van target parameters uitvoert met de pareto grensraming, kunt u het ruimtediagram tekenen voor een specifieke oplossing van de. De volgende code laat bijvoorbeeld zien hoe u het ruimtediagram kunt tekenen voor de eerste configuratie van parameters en de derde kortste runtime.
SpaceChart(result[0], 2) # First (estimate index=0) run and third (point index=2) shortest runtime
Diagram met ruimtetijd
In kwantumcomputing is er een afweging tussen het aantal fysieke qubits en de runtime van het algoritme. U kunt overwegen om zoveel mogelijk fysieke qubits toe te kennen om de runtime van het algoritme te verminderen. Het aantal fysieke qubits wordt echter beperkt door het aantal fysieke qubits dat beschikbaar is in de kwantumhardware. Inzicht in de balans tussen runtime en systeemschaal is een van de belangrijkste aspecten van de schatting van resources.
Bij het schatten van de resources van een algoritme kunt u het ruimte-tijddiagram gebruiken om de afwegingen tussen het aantal fysieke qubits en de runtime van het algoritme te visualiseren.
Notitie
Als u meerdere optimale combinaties in het ruimtetijddiagram wilt zien, moet u het schattingstype instellen op pareto grensraming. Als u de resource-estimator in Visual Studio Code uitvoert met behulp van de Q#optie Resourceschattingen berekenen, is de schatting van de grens pareto standaard ingeschakeld.
Met het ruimtetijddiagram kunt u de optimale combinatie van {aantal qubits, runtime}-paren vinden die voldoen aan de beperkingen van de kwantumhardware. In het diagram ziet u het aantal fysieke qubits en de runtime van het algoritme voor elk {aantal qubits, runtime}-paar.
Als u het ruimtetijddiagram in Jupyter Notebook wilt uitvoeren, kunt u de EstimatesOverview
widget uit het qsharp-widgets
pakket gebruiken.
import qsharp
from qsharp_widgets import EstimatesOverview
EstimatesOverview(result, colors=["#1f77b4", "#ff7f0e"], runNames=["e4 Surface Code", "e6 Floquet Code"])
Tip
Als u de schattingsgegevens wilt bekijken, kunt u de muisaanwijzer op elk punt in het diagram bewegen.
Het ruimte-tijddiagram is speciaal nuttig bij het vergelijken van meerdere configuraties van target parameters voor hetzelfde algoritme.
Notitie
Als er een probleem optreedt tijdens het werken met de resource-estimator, bekijkt u de pagina Probleemoplossing of neemt u contact op AzureQuantumInfo@microsoft.com.