Freigeben über


Abrufen des Ergebnisses des Ressourcenschätzers

Erfahren Sie, wie Sie die Ausgabeparameter und Diagramme des Ressourcenstimators interpretieren und abrufen. In diesem Artikel wird erläutert, wie Sie programmgesteuert auf die Ergebnisse der Ressourcen-Estimator in einem Jupyter-Notizbuch in Visual Studio Code (VS Code) zugreifen.

Voraussetzungen

  • Eine Python-Umgebung mit installiertem Python und Pip.

  • Die neueste Version von VS Code oder öffnen Sie VS Code im Web.

  • VS Code mit den installierten Erweiterungen Azure Quantum Development Kit, Python und Jupyter.

  • Die neueste qdk Python-Bibliothek mit dem jupyter Extra.

    python -m pip install --upgrade "qdk[jupyter]"
    

Hinweis

Wenn Sie den Ressourcen-Estimator in VS Code aus der Befehlspalette ausführen, gelten die folgenden Befehle nicht. Weitere Informationen finden Sie unter "Verschiedene Möglichkeiten zum Ausführen des Ressourcenstimators".

Ausgabeparameter

Die Ausgabe des Ressourcen-Estimators ist ein Bericht, der auf die Konsole gedruckt wird und auf den Sie programmgesteuert zugreifen können. Der folgende Codeausschnitt zeigt beispielsweise die Werte aller Ressourcen-Estimator-Parameter an:

result['jobParams']

Die folgende Tabelle enthält den Datentyp und eine kurze Beschreibung für jeden Ausgabeparameter.

Ausgabeparameter der obersten Ebene Datentyp Beschreibung
status Zeichenfolge Der Status des Auftrags ist immer Succeeded.
jobParams Wörterbuch Die target-Parameter des Auftrags, die als Eingabe übergeben werden.
physicalCounts Wörterbuch Die Schätzungen der physischen Ressource. Für weitere Informationen siehe Physikalische Zählungen.
physicalCountsFormatted Wörterbuch Die physischen Ressourcenschätzungen, die für die Anzeige in Berichtsdaten formatiert sind. Weitere Informationen finden Sie unter Physikalische Zählungen formatiert.
logicalQubit Wörterbuch Die logischen Qubit-Eigenschaften. Weitere Informationen, siehe Logisches Qubit.
tfactory Wörterbuch Die Eigenschaften der T-Factory.
logicalCounts Wörterbuch Die logischen Ressourcenschätzungen vor dem Layout. Für weitere Informationen siehe Logische Zählungen.
reportData Wörterbuch Generierungsdaten für den Bericht zur Ressourcenschätzung.

Physische Zählungen

Das physicalCounts Wörterbuch enthält die folgenden Einträge:

Ausgabeparameter Datentyp Beschreibung
physicalQubits number Die Gesamtzahl der physischen Qubits.
runtime number Die Gesamtlaufzeit zum Ausführen des Algorithmus in Nanosekunden.
rqops number Die Anzahl der zuverlässigen Quantenvorgänge pro Sekunde (QOPS).
breakdown Wörterbuch Aufschlüsselung der Schätzungen. Weitere Informationen finden Sie unter Physische Zählungen.

Aufschlüsselung der physischen Zählungen

Das breakdown Wörterbuch von physicalCounts enthält folgende Einträge:

Ausgabeparameter Datentyp Beschreibung
algorithmicLogicalQubits number Die logischen Qubits, die für die Ausführung des Algorithmus erforderlich sind, umfassen keine Ressourcen für T-Fabriken.
algorithmicLogicalDepth number Die logischen Zyklen, die für die Ausführung des Algorithmus erforderlich sind, umfassen keine Ressourcen für T-Fabriken.
logicalDepth number Die gegebenenfalls angepasste Anzahl von Zyklen wird berechnet, wenn die Ausführungszeit der T-Factory schneller als die Algorithmusausführung ist.
numTstates number Die Anzahl der vom Algorithmus verbrauchten T-Zustände.
clockFrequency number Die Anzahl der logischen Zyklen pro Sekunde.
numTfactories number Die Anzahl der T-Fabriken (geht von einheitlichem T Factory-Design aus).
numTfactoryRuns number Die Anzahl, wie oft alle parallelen T-Factorys laufen sollen.
physicalQubitsForTfactories number Die Anzahl der physischen Qubits für alle T-Factorys.
physicalQubitsForAlgorithm number Die Anzahl der physischen Qubits für das Algorithmuslayout.
requiredLogicalQubitErrorRate number Die erforderliche logische Fehlerrate.
requiredLogicalTstateErrorRate number Die erforderliche Fehlerrate des logischen T-Zustands.
numTsPerRotation number Die Anzahl der T-Gatter pro Rotation.
cliffordErrorRate number Die Clifford-Fehlerrate basierend auf den Qubit-Parametern.

Physische Zählungen formatiert

Das physicalCountsFormatted Wörterbuch enthält die folgenden Einträge:

Ausgabeparameter Datentyp Beschreibung
runtime Zeichenfolge Gesamtlaufzeit als menschenfreundliche Zeichenfolge.
rqops Zeichenfolge Die Anzahl der zuverlässigen Quantenvorgänge pro Sekunde (QOPS), die mit metrischem Suffix formatiert sind.
physicalQubits Zeichenfolge Gesamtzahl der physischen Qubits mit metrischen Suffixen.
algorithmicLogicalQubits Zeichenfolge Algorithmische logische Qubits mit metrischen Suffixen.
algorithmicLogicalDepth Zeichenfolge Algorithmische logische Tiefe mit metrischem Suffix.
logicalDepth Zeichenfolge Möglicherweise angepasste algorithmische logische Tiefe mit metrischem Suffix.
numTstates Zeichenfolge Anzahl der T-Zustände mit metrischen Suffix.
numTfactories Zeichenfolge Anzahl der T-Factory-Kopien mit metrischem Suffix.
numTfactoryRuns Zeichenfolge Anzahl der T-Factory-Ausführungen mit metrischem Suffix.
physicalQubitsForAlgorithm Zeichenfolge Anzahl der physischen Qubits für Algorithmus mit metrischen Suffix.
physicalQubitsForTfactories Zeichenfolge Anzahl der physischen Qubits für T-Factorys mit metrischem Suffix.
physicalQubitsForTfactoriesPercentage Zeichenfolge Die Anzahl der physischen Qubits für alle T-Factorys in Prozent der Gesamtzahl.
requiredLogicalQubitErrorRate Zeichenfolge Abgeschnittene erforderliche logische Qubit-Fehlerrate.
requiredLogicalTstateErrorRate Zeichenfolge Abgeschnittene erforderliche T-Status-Fehlerrate.
physicalQubitsPerLogicalQubit Zeichenfolge Anzahl der physischen Qubits pro logischem Qubit mit metrischen Suffix.
logicalCycleTime Zeichenfolge Die logische Zykluszeit eines logischen Qubits als menschenfreundliche Zeichenfolge.
clockFrequency Zeichenfolge Die Anzahl der logischen Zyklen pro Sekunde in einer menschenfreundlichen Zeichenfolge.
logicalErrorRate Zeichenfolge Abgeschnittene logische Fehlerrate.
tfactoryPhysicalQubits Zeichenfolge Anzahl der physischen Qubits in der T-Factory mit metrischem Suffix (oder Meldung, dass es keine T-Factory gibt).
tfactoryRuntime Zeichenfolge Die Laufzeit einer einzelnen T-Factory als benutzerfreundliche Zeichenfolge (oder eine Meldung, dass keine T-Factory vorhanden ist).
numInputTstates Zeichenfolge Die Anzahl der Eingabe-T-Zustände (oder die Meldung, dass keine T-Factory vorhanden ist).
numUnitsPerRound Zeichenfolge Die Anzahl der Einheiten pro Destillationsrunde, durch Komma getrennt in einer Zeichenfolge (oder die Meldung, dass es keine T-Factory gibt).
unitNamePerRound Zeichenfolge Die Namen der Einheiten jeder Destillationsrunde, durch Komma getrennt in einer Zeichenfolge (oder die Meldung, dass es keine T-Factory gibt).
codeDistancePerRound Zeichenfolge Die Codeabstände pro Destillationsrunde, kommagetrennt in einer Zeichenfolge (oder Meldung, dass es keine T-Factory gibt).
physicalQubitsPerRound Zeichenfolge Die Anzahl der physischen Qubits pro Destillationsrunde, Komma getrennt in einer Zeichenfolge (oder Nachricht, dass keine T-Factory vorhanden ist).
tfactoryRuntimePerRound Zeichenfolge Die Laufzeiten der einzelnen Destillationsrunden, die als durch Komma getrennte benutzerfreundliche Zeichenfolgen (oder Meldung, dass keine T-Factory vorhanden ist) angezeigt werden.
tstateLogicalErrorRate Zeichenfolge Abgeschnittene logische T-Status-Fehlerrate (oder Meldung, dass es keine T-Factory gibt).
logicalCountsNumQubits Zeichenfolge Anzahl der Qubits (Vorlayout) mit metrischem Suffix.
logicalCountsTCount Zeichenfolge Anzahl der T-Gatter (Pre-Layout) mit metrischem Suffix.
logicalCountsRotationCount Zeichenfolge Anzahl der Rotationsgatter (Pre-Layout) mit metrischem Suffix.
logicalCountsRotationDepth Zeichenfolge Rotationstiefe (Pre-Layout) mit metrischem Suffix.
logicalCountsCczCount Zeichenfolge Anzahl der CCZ-Gatter (Pre-Layout) mit metrischem Suffix.
logicalCountsCcixCount Zeichenfolge Anzahl der CCiX-Gates (Pre-Layout) mit metrischem Suffix.
logicalCountsMeasurementCount Zeichenfolge Anzahl der Einzel-Qubit-Messungen (Pre-Layout) mit metrischem Suffix.
errorBudget Zeichenfolge Verkürztes Gesamtfehlerbudget.
errorBudgetLogical Zeichenfolge Gekürztes Fehlerbudget für logische Fehler.
errorBudgetTstates Zeichenfolge Verkürztes Fehlerbudget für fehlerhafte T-State-Destillation.
errorBudgetRotations Zeichenfolge Verkürztes Fehlerbudget für fehlerhafte Rotationssynthese.
numTsPerRotation Zeichenfolge Formatierte Anzahl von Ts pro Drehung (kann None sein).

Logisches Qubit

Das logicalQubit Wörterbuch enthält die folgenden Einträge:

Ausgabeparameter Datentyp Beschreibung
codeDistance number Der berechnete Codeabstand für den logischen Qubit.
physicalQubits number Die Anzahl der physischen Qubits für jeden logischen Qubit.
logicalCycleTime number Die Zeit zum Ausführen eines logischen Vorgangs.
logicalErrorRate number Die logische Fehlerrate des logischen Qubits.

Logische Berechnungen

Das logicalCounts Wörterbuch enthält die folgenden Einträge:

Ausgabeparameter Datentyp Beschreibung
numQubits number Pre-Layout – Anzahl der Qubits.
tCount number Pre-Layout – Anzahl der T-Gatter.
rotationCount number Pre-Layout – Anzahl der Rotationsgatter.
rotationDepth number Pre-Layout – Rotationstiefe.
cczCount number Pre-Layout – Anzahl der CCZ-Gatter.
ccixCount number Pre-Layout – Anzahl der CCiX-Gatter.
measurementCount number Pre-Layout – Anzahl der Einzel-Qubit-Messungen.

Tipp

Wenn Sie einen vorgegebenen Satz von logischen Zählwerten für einen Ressourcenschätzungsauftrag verwenden möchten, können Sie den LogicalCounts Python-Vorgang verwenden, um die bekannten Schätzungen an den Resource Estimator zu übergeben. Weitere Informationen finden Sie unter So verwenden Sie bekannte Schätzungen mit dem Ressourcenschätzer.

Raumdiagramm

Die gesamt physische Ressourcenschätzung besteht aus der Gesamtzahl der physischen Qubits, die sowohl für den Algorithmus als auch für T-Factorykopien verwendet werden. Sie können die Verteilung zwischen diesen beiden mithilfe des Raumdiagramms überprüfen.

Das Raumdiagramm zeigt den Anteil der physischen Qubits, die für den Algorithmus und die T-Fabriken verwendet werden. Beachten Sie, dass die Anzahl der Kopien von T-Factoryparametern zur Anzahl der physischen Qubits für T-Factoryparameter beiträgt.

In Jupyter-Notizbuch können Sie mit dem -Widget aus dem -Paket auf das Raumdiagramm zugreifen.

from qdk.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.Kreisdiagramm zur Verteilung der gesamten physischen Qubits zwischen Algorithmusqubits und T-Fabrik-Qubits. Es gibt eine Tabelle mit der Aufschlüsselung der Anzahl der T-Fabrik-Kopien und der Anzahl der physischen Qubits pro T-Fabrik.

Wenn Sie mehrere Konfigurationen von target Parametern mit der Pareto-Grenzen-Schätzungausführen, können Sie das Raumdiagramm für eine bestimmte Lösung der. Der folgende Code zeigt beispielsweise, wie das Raumdiagramm für die erste Konfiguration von Parametern und die dritte kürzeste Laufzeit dargestellt wird.

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

Raumzeitdiagramm

Im Quanten computing gibt es einen Kompromiss zwischen der Anzahl der physischen Qubits und der Laufzeit des Algorithmus. Sie könnten die Zuordnung von so vielen physischen Qubits wie möglich in Betracht ziehen, um die Laufzeit des Algorithmus zu reduzieren. Die Anzahl der physischen Qubits ist jedoch durch die Anzahl der physischen Qubits begrenzt, die in der Quantenhardware verfügbar sind. Das Verständnis des Kompromisses zwischen Laufzeit und Systemmaßstab ist einer der wichtigeren Aspekte der Ressourcenschätzung.

Beim Schätzen der Ressourcen eines Algorithmus können Sie das Raumzeitdiagramm verwenden, um die Kompromisse zwischen der Anzahl der physischen Qubits und der Laufzeit des Algorithmus zu visualisieren.

Hinweis

Um mehrere optimale Kombinationen im Raum-Zeit-Diagramm zu sehen, müssen Sie den Schätzungstyp auf Pareto-Grenzen-Schätzunge instellen. Wenn Sie den Ressourcen-Estimator in Visual Studio Code mit dem Befehl QDK: Berechnen von Ressourcenschätzungen ausführen, ist die Schätzung der Grenzen von Pareto standardmäßig aktiviert.

Mit dem Raumzeitdiagramm können Sie die optimale Kombination aus {Anzahl von Qubits, Laufzeit}-Paaren finden, die die Einschränkungen der Quantenhardware erfüllen. Das Diagramm zeigt die Anzahl der physischen Qubits und die Laufzeit des Algorithmus für jedes {Anzahl von Qubits, Runtime}-Paaren.

Um das Raumzeitdiagramm im Jupyter-Notizbuch auszuführen, verwenden Sie das Widget aus dem EstimatesOverviewwidgets Paket.

from qdk.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.Screenshot des Qubit-Zeit-Diagramms des Ressourcenschätzers.

Tipp

Um die Details der Schätzung zu sehen, können Sie den Mauszeiger über jeden Punkt im Diagramm bewegen.

Das Raum-Zeit-Diagramm ist besonders nützlich, wenn mehrere Konfigurationen von target Parametern für denselben Algorithmus verglichen werden.

Screenshot des Raumzeitdiagramms und der Ergebnistabelle beim Ausführen mehrerer Konfigurationen von Parametern im Ressourcenschätzer.

Hinweis

Wenn Beim Arbeiten mit der Ressourcenschätzung Probleme auftreten, lesen Sie die Seite "Problembehandlung" oder wenden Sie sich an AzureQuantumInfo@microsoft.com.

Nächste Schritte