Grundlegendes zu den Ergebnisdaten der Ressourcenschätzung
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 Jupyter-Notizbüchern zugreifen. Wenn Sie den Ressourcen-Estimator in Visual Studio Code aus der Befehlspalette ausführen, gelten die folgenden Befehle nicht.
Voraussetzungen
Eine Python-Umgebung mit installiertem Python und Pip.
Die neueste Version von Visual Studio Code oder öffnen Sie VS Code im Web.
VS Code mit installierten Azure Quantum Development Kit-, Python- und Jupyter-Erweiterungen .
Die neuesten Azure Quantum
qsharp
undqsharp-widgets
Pakete.python -m pip install --upgrade qsharp qsharp-widgets
Ausgabe...parameter
Die Ausgabedaten der Ressourcenstimator sind ein Bericht, der in der Konsole gedruckt wird und programmgesteuert aufgerufen werden kann. Der folgende Codeausschnitt zeigt z. B. den Zugriff auf die Ressourcenschätzungsparameter.
result['jobParams']
Die folgenden Ausgabedaten stellen die möglichen Einträge dar, auf die programmgesteuert zugegriffen werden kann.
Ausgabeparameter der obersten Ebene | Datentyp | Beschreibung |
---|---|---|
status |
string | Der Status des Auftrags, es ist immer Succeeded . |
jobParams |
dictionary | Die target Parameter des Auftrags, der als Eingabe übergeben wird. |
physicalCounts |
dictionary | Die Schätzungen der physischen Ressource. Weitere Informationen finden Sie unter Physische Anzahl. |
physicalCountsFormatted |
dictionary | Die physischen Ressourcenschätzungen, die für die Anzeige in Berichtsdaten formatiert sind. Weitere Informationen finden Sie unter "Physische Anzahl formatiert". |
logicalQubit |
dictionary | Die logischen Qubit-Eigenschaften. Weitere Informationen finden Sie unter "Logisches Qubit". |
tfactory |
dictionary | Die Eigenschaften der T-Factory. |
logicalCounts |
dictionary | Die logischen Ressourcenschätzungen vor dem Layout. Weitere Informationen finden Sie unter "Logische Anzahlen". |
reportData |
dictionary | Generierungsdaten für den Bericht zur Ressourcenschätzung. |
Physische Anzahl
Das physicalCounts
Wörterbuch enthält die folgenden Einträge:
Ausgabeparameter | Datentyp | Beschreibung |
---|---|---|
physicalQubits |
Zahl | Die Gesamtzahl der physischen Qubits. |
runtime |
Zahl | Die Gesamtlaufzeit zum Ausführen des Algorithmus in Nanosekunden. |
rqops |
Zahl | Die Anzahl der zuverlässigen Quantenvorgänge pro Sekunde (QOPS). |
breakdown |
dictionary | Aufschlüsselung der Schätzungen. Weitere Informationen finden Sie unter "Aufschlüsselung der physischen Anzahlen". |
Aufschlüsselung der physischen Anzahl
Das breakdown
Wörterbuch enthält physicalCounts
die folgenden Einträge:
Ausgabeparameter | Datentyp | Beschreibung |
---|---|---|
algorithmicLogicalQubits |
Zahl | Die logischen Qubits, die für die Ausführung des Algorithmus erforderlich sind, und enthalten keine Ressourcen für T-Fabriken. |
algorithmicLogicalDepth |
Zahl | Die logischen Zyklen, die für die Ausführung des Algorithmus erforderlich sind, und enthalten keine Ressourcen für T-Fabriken. |
logicalDepth |
Zahl | Die möglicherweise angepasste Anzahl von Zyklen, die berechnet werden, wenn die Ausführungszeit der T-Factory schneller ist, dann die Algorithmusausführung. |
numTstates |
Zahl | Die Anzahl der vom Algorithmus verbrauchten T-Zustände. |
clockFrequency |
Zahl | Die Anzahl der logischen Zyklen pro Sekunde. |
numTfactories |
Zahl | Die Anzahl der T-Fabriken (unter einheitlichen T Factory-Design). |
numTfactoryRuns |
Zahl | Die Anzahl, wie oft alle parallelen T-Fabriken ausgeführt werden sollen. |
physicalQubitsForTfactories |
Zahl | Die Anzahl der physischen Qubits für alle T-Fabriken. |
physicalQubitsForAlgorithm |
Zahl | Die Anzahl der physischen Qubits für das Algorithmuslayout. |
requiredLogicalQubitErrorRate |
Zahl | Die erforderliche logische Fehlerrate. |
requiredLogicalTstateErrorRate |
Zahl | Die erforderliche Fehlerrate des logischen T-Zustands. |
numTsPerRotation |
Zahl | Die Anzahl der T-Tore pro Drehung. |
cliffordErrorRate |
Zahl | Die Clifford-Fehlerrate basierend auf den Qubit-Parametern. |
Physische Anzahl formatiert
Das physicalCountsFormatted
Wörterbuch enthält die folgenden Einträge:
Ausgabeparameter | Datentyp | Beschreibung |
---|---|---|
runtime |
string | Gesamtlaufzeit als benutzerfreundliche 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 metrischen Suffix. |
logicalDepth |
Zeichenfolge | Möglicherweise angepasste algorithmische logische Tiefe mit metrischen Suffix. |
numTstates |
Zeichenfolge | Anzahl der T-Zustände mit metrischen Suffix. |
numTfactories |
Zeichenfolge | Anzahl der T-Factorykopien mit metrischen Suffix. |
numTfactoryRuns |
Zeichenfolge | Die Anzahl der T-Factory-Ausführungen mit metrischen Suffixen. |
physicalQubitsForAlgorithm |
Zeichenfolge | Anzahl der physischen Qubits für Algorithmus mit metrischen Suffix. |
physicalQubitsForTfactories |
Zeichenfolge | Anzahl der physischen Qubits für T-Fabriken mit metrischen Suffix. |
physicalQubitsForTfactoriesPercentage |
Zeichenfolge | Die Anzahl der physischen Qubits für alle T-Fabriken in Prozent bis zur Summe. |
requiredLogicalQubitErrorRate |
Zeichenfolge | Abgeschnittene erforderliche logische Qubit-Fehlerrate. |
requiredLogicalTstateErrorRate |
Zeichenfolge | Abgeschnittene erforderliche T-Zustandsfehlerrate. |
physicalQubitsPerLogicalQubit |
Zeichenfolge | Anzahl der physischen Qubits pro logischem Qubit mit metrischen Suffix. |
logicalCycleTime |
Zeichenfolge | Die logische Zykluszeit eines logischen Qubits als menschliche Zeichenfolge. |
clockFrequency |
Zeichenfolge | Die Anzahl der logischen Zyklen pro Sekunde als benutzerfreundliche Zeichenfolge. |
logicalErrorRate |
Zeichenfolge | Abgeschnittene logische Fehlerrate. |
tfactoryPhysicalQubits |
Zeichenfolge | Anzahl der physischen Qubits in T-Factory mit metrischen Suffix (oder Meldung, dass keine T-Factory vorhanden ist). |
tfactoryRuntime |
Zeichenfolge | Die Laufzeit einer einzelnen T-Factory als menschliche Zeichenfolge (oder 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 Destillation rund, Komma getrennt in einer Zeichenfolge (oder Meldung, dass keine T-Factory vorhanden ist). |
unitNamePerRound |
Zeichenfolge | Die Einheitennamen der einzelnen Destillationsrunden, komma getrennt in einer Zeichenfolge (oder Meldung, dass keine T-Factory vorhanden ist). |
codeDistancePerRound |
Zeichenfolge | Der Codeabstand pro Destillationsrunde, Komma getrennt in einer Zeichenfolge (oder Meldung, dass keine T-Factory vorhanden ist). |
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 Laufzeit der einzelnen Destillationsrunden, die als durch Trennzeichen getrennte menschliche Zeichenfolgen (oder Meldung, dass keine T-Factory vorhanden ist) angezeigt wird. |
tstateLogicalErrorRate |
Zeichenfolge | Abgeschnittene Fehlerrate des logischen T-Zustands (oder Meldung, dass keine T-Factory vorhanden ist). |
logicalCountsNumQubits |
Zeichenfolge | Anzahl der Qubits (Vorlayout) mit metrischen Suffix. |
logicalCountsTCount |
Zeichenfolge | Anzahl der T-Tore (Vorlayout) mit metrischen Suffix. |
logicalCountsRotationCount |
Zeichenfolge | Anzahl der Drehtore (Vorlayout) mit metrischen Suffixen. |
logicalCountsRotationDepth |
Zeichenfolge | Drehtiefe (Vorlayout) mit metrischen Suffixen. |
logicalCountsCczCount |
Zeichenfolge | Anzahl der CCZ-Gates (Vorlayout) mit metrischen Suffix. |
logicalCountsCcixCount |
Zeichenfolge | Anzahl der CCiX-Gates (Vorlayout) mit metrischen Suffixen. |
logicalCountsMeasurementCount |
Zeichenfolge | Anzahl der Einzel-Qubit-Maße (Pre-Layout) mit metrischen Suffixen. |
errorBudget |
Zeichenfolge | Kürzung des Gesamtfehlerbudgets. |
errorBudgetLogical |
Zeichenfolge | Abgeschnittenes Fehlerbudget für logischen Fehler. |
errorBudgetTstates |
Zeichenfolge | Abgeschnittenes Fehlerbudget für fehlerhafte T-Zustandsdestillation. |
errorBudgetRotations |
Zeichenfolge | Abgeschnittenes Fehlerbudget für fehlerhafte Drehungssynthese. |
numTsPerRotation |
Zeichenfolge | Formatierte Anzahl von Ts pro Drehung (kann keine sein). |
Logisches Qubit
Das logicalQubit
Wörterbuch enthält die folgenden Einträge:
Ausgabeparameter | Datentyp | Beschreibung |
---|---|---|
codeDistance |
Zahl | Der berechnete Codeabstand für den logischen Qubit. |
physicalQubits |
Zahl | Die Anzahl der physischen Qubits für jeden logischen Qubit. |
logicalCycleTime |
Zahl | Die Zeit zum Ausführen eines logischen Vorgangs. |
logicalErrorRate |
Zahl | Die logische Fehlerrate des logischen Qubits. |
Logische Anzahl
Das logicalCounts
Wörterbuch enthält die folgenden Einträge:
Ausgabeparameter | Datentyp | Beschreibung |
---|---|---|
numQubits |
Zahl | Vorlayoutanzahl von Qubits. |
tCount |
Zahl | Vorlayoutanzahl von T-Toren. |
rotationCount |
Zahl | Vorlayoutanzahl der Drehtore. |
rotationDepth |
Zahl | Tiefe der Vorlayoutdrehung. |
cczCount |
Zahl | Vorlayoutnummer der CCZ-Tore. |
ccixCount |
Zahl | Vorlayoutnummer der CCiX-Tore. |
measurementCount |
Zahl | Vorlayoutanzahl von Einzel-Qubit-Messungen. |
Tipp
Wenn Sie einen vordefinierten Satz von logischen Zählungen 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 Verwendung bekannter Schätzungen mit dem Ressourcen-Estimator.
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.
Im Jupyter-Notizbuch können Sie über das SpaceChart
Paket qsharp-widgets
auf das Raumdiagramm zugreifen.
import qsharp
from qsharp_widgets import SpaceChart
SpaceChart(result)
Wenn Sie mehrere Konfigurationen von target Parametern mit der Pareto-Grenzschätzung ausfü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 Raumzeitdiagramm anzuzeigen, müssen Sie den Schätztyp auf die Grenzabschätzung von Pareto festlegen. Wenn Sie den Ressourcen-Estimator in Visual Studio Code mit der Q#Option "Ressourcenschätzungen berechnen" 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, können Sie das EstimatesOverview
Widget aus dem qsharp-widgets
Paket verwenden.
import qsharp
from qsharp_widgets import EstimatesOverview
EstimatesOverview(result, colors=["#1f77b4", "#ff7f0e"], runNames=["e4 Surface Code", "e6 Floquet Code"])
Tipp
Um die Schätzungsdetails anzuzeigen, können Sie auf jeden Punkt im Diagramm zeigen.
Das Raumzeitdiagramm ist besonders nützlich, wenn mehrere Konfigurationen von target Parametern für denselben Algorithmus verglichen werden.
Hinweis
Wenn beim Arbeiten mit der Ressourcenschätzung probleme auftreten, schauen Sie sich die Seite "Problembehandlung" an, oder wenden Sie sich an den Kontakt AzureQuantumInfo@microsoft.com.