Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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
qdkPython-Bibliothek mit demjupyterExtra.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)
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 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.