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 der Microsoft Quantum-Ressourcenschätzung interpretieren und abrufen. In diesem Artikel wird erläutert, wie Sie programmgesteuert auf die Ergebnisse der Ressourcenschätzung in einem Jupyter-Notizbuch in Visual Studio Code (VS Code) zugreifen.
Voraussetzungen
Eine Python-Umgebung mit Python und Pip installiert (Python Version 3.10 oder höher).
Die neueste Version von VS Code oder öffnen Sie VS Code für das Web.
VS Code mit der Microsoft Quantum Development Kit (QDK)-Erweiterung, Python und Jupyter-Erweiterungen installiert.
Die neueste
qdkPython-Bibliothek mit demjupyterExtra.python -m pip install --upgrade "qdk[jupyter]"
Hinweis
Wenn Sie die Ressourcenschätzung in VS Code aus der Befehlspalette ausführen, gelten die folgenden Befehle nicht. Weitere Informationen finden Sie unter "Verschiedene Möglichkeiten zum Ausführen der Ressourcenschätzung".
Ausgabeparameter
Die Ausgabe des Ressourcenschätzers ist ein Bericht, der in der Konsole ausgegeben wird und auf den Sie programmgesteuert zugreifen können. Der folgende Codeausschnitt zeigt beispielsweise die Werte aller Ressourcenschätzungsparameter 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 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 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-Fabrik als benutzerfreundliche Zeichenfolge (oder eine Meldung, dass es keine T-Fabrik gibt). |
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 Laufzeit jeder Destillationsrunde wird als kommagetrennte, benutzerfreundliche Zeichenfolgen angezeigt (oder es wird eine Meldung angezeigt, dass keine T-Factory vorhanden ist). |
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 vordefinierten Satz von logischen Zählungen für einen Ressourcenschätzungsauftrag verwenden möchten, verwenden Sie das LogicalCounts Python-Objekt, um die bekannten Schätzungen an den Ressourcenschätzer zu übergeben. Weitere Informationen finden Sie unter Verwendung bekannter Schätzungen mit der Ressourcenschätzung.
Raumdiagramm
Die gesamt physische Ressourcenschätzung besteht aus der Gesamtzahl der physischen Qubits, die sowohl für den Algorithmus als auch für die T-Factorykopien verwendet werden. Das Raumdiagramm zeigt die Verteilung physischer Qubits zwischen dem Algorithmus und den T-Fabriken. Die Anzahl der T Factory-Kopien trägt zur Anzahl der physischen Qubits bei, die für T-Fabriken verwendet werden.
Im Jupyter-Notizbuch können Sie das SpaceChart Widget aus dem qdk.widgets Modul verwenden, um das Raumdiagramm zu öffnen.
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-Grenzschätzung ausführen, können Sie das Raumdiagramm für eine bestimmte Lösung der Ressourcenschätzung darstellen. 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 run time
Raumzeitdiagramm
Im Quanten computing gibt es einen Kompromiss zwischen der Anzahl der physischen Qubits und der Laufzeit des Algorithmus. Wenn Sie mehr physische Qubits zuordnen, können Sie die Laufzeit Ihres Algorithmus verringern. Die Anzahl der physischen Qubits ist jedoch durch die Quantenhardware begrenzt. Verwenden Sie die Ressourcenschätzung, um den Kompromiss zwischen der Anzahl der physischen Qubits und der Laufzeit zu verstehen.
Wenn Sie die zum Ausführen eines Algorithmus erforderlichen Ressourcen schätzen, 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 die Ressourcenschätzung in VS Code mit dem Befehl QDK: Berechnen von Ressourcenschätzungen ausführen, ist die Schätzung der Grenze 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, Laufzeit}-Paar.
Verwenden Sie das EstimatesOverview-Widget aus dem qdk.widgets-Modul, um das Raumzeitdiagramm im Jupyter-Notizbuch zu erstellen.
from qdk.widgets import EstimatesOverview
EstimatesOverview(result, colors=["#1f77b4", "#ff7f0e"], runNames=["e4 Surface Code", "e6 Floquet Code"])
Tipp
Um die Schätzungsdetails anzuzeigen, zeigen Sie mit der Maus auf jeden Punkt im Diagramm.
Das Raumzeitdiagramm ist besonders nützlich, um mehrere Konfigurationen von target Parametern für denselben Algorithmus zu vergleichen.
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
- Erste Ressourcenschätzung durchführen
- Ressourcenschätzungen an Computermerkmale anpassen
- Verschiedene Möglichkeiten zum Ausführen der Ressourcenschätzung
- Verwalten Sie große Programme mit dem Ressourcenschätzer
- Tutorial: Ressourcen eines quantenchemischen Problems schätzen