Freigeben über


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

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['job_params']

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.
job_params dictionary Die target Parameter des Auftrags, der als Eingabe übergeben wird.
physical_counts dictionary Die Schätzungen der physischen Ressource. Weitere Informationen finden Sie unter Physische Anzahl.
physical_counts_formatted dictionary Die physischen Ressourcenschätzungen, die für die Anzeige in Berichtsdaten formatiert sind. Weitere Informationen finden Sie unter "Physische Anzahl formatiert".
logical_qubit dictionary Die logischen Qubit-Eigenschaften. Weitere Informationen finden Sie unter "Logisches Qubit".
tfactory dictionary Die Eigenschaften der T-Factory.
logical_counts dictionary Die logischen Ressourcenschätzungen vor dem Layout. Weitere Informationen finden Sie unter "Logische Anzahlen".
report_data dictionary Generierungsdaten für den Bericht zur Ressourcenschätzung.

Physische Anzahl

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

Ausgabeparameter Datentyp Beschreibung
physical_qubits 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 physical_counts die folgenden Einträge:

Ausgabeparameter Datentyp Beschreibung
algorithmic_logical_qubits Zahl Die logischen Qubits, die für die Ausführung des Algorithmus erforderlich sind, und enthalten keine Ressourcen für T-Fabriken.
algorithmic_logical_depth Zahl Die logischen Zyklen, die für die Ausführung des Algorithmus erforderlich sind, und enthalten keine Ressourcen für T-Fabriken.
logical_depth Zahl Die möglicherweise angepasste Anzahl von Zyklen, die berechnet werden, wenn die Ausführungszeit der T-Factory schneller ist, dann die Algorithmusausführung.
num_tstates Zahl Die Anzahl der vom Algorithmus verbrauchten T-Zustände.
clock_frequency Zahl Die Anzahl der logischen Zyklen pro Sekunde.
num_tfactories Zahl Die Anzahl der T-Fabriken (unter einheitlichen T Factory-Design).
num_tfactory_runs Zahl Die Anzahl, wie oft alle parallelen T-Fabriken ausgeführt werden sollen.
physical_qubits_for_tfactories Zahl Die Anzahl der physischen Qubits für alle T-Fabriken.
physical_qubits_for_algorithm Zahl Die Anzahl der physischen Qubits für das Algorithmuslayout.
required_logical_qubit_error_rate Zahl Die erforderliche logische Fehlerrate.
required_logical_tstate_error_rate Zahl Die erforderliche Fehlerrate des logischen T-Zustands.
num_ts_per_rotation Zahl Die Anzahl der T-Tore pro Drehung.
clifford_error_rate Zahl Die Clifford-Fehlerrate basierend auf den Qubit-Parametern.

Physische Anzahl formatiert

Das physical_counts_formatted 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.
physical_qubits Zeichenfolge Gesamtzahl der physischen Qubits mit metrischen Suffixen.
algorithmic_logical_qubits Zeichenfolge Algorithmische logische Qubits mit metrischen Suffixen.
algorithmic_logical_depth Zeichenfolge Algorithmische logische Tiefe mit metrischen Suffix.
logical_depth Zeichenfolge Möglicherweise angepasste algorithmische logische Tiefe mit metrischen Suffix.
num_tstates Zeichenfolge Anzahl der T-Zustände mit metrischen Suffix.
num_tfactories Zeichenfolge Anzahl der T-Factorykopien mit metrischen Suffix.
num_tfactory_runs Zeichenfolge Die Anzahl der T-Factory-Ausführungen mit metrischen Suffixen.
physical_qubits_for_algorithm Zeichenfolge Anzahl der physischen Qubits für Algorithmus mit metrischen Suffix.
physical_qubits_for_tfactories Zeichenfolge Anzahl der physischen Qubits für T-Fabriken mit metrischen Suffix.
physical_qubits_for_tfactories_percentage Zeichenfolge Die Anzahl der physischen Qubits für alle T-Fabriken in Prozent bis zur Summe.
required_logical_qubit_error_rate Zeichenfolge Abgeschnittene erforderliche logische Qubit-Fehlerrate.
required_logical_tstate_error_rate Zeichenfolge Abgeschnittene erforderliche T-Zustandsfehlerrate.
physical_qubits_per_logical_qubit Zeichenfolge Anzahl der physischen Qubits pro logischem Qubit mit metrischen Suffix.
logical_cycle_time Zeichenfolge Die logische Zykluszeit eines logischen Qubits als menschliche Zeichenfolge.
clock_frequency Zeichenfolge Die Anzahl der logischen Zyklen pro Sekunde als benutzerfreundliche Zeichenfolge.
logical_error_rate Zeichenfolge Abgeschnittene logische Fehlerrate.
tfactory_physical_qubits Zeichenfolge Anzahl der physischen Qubits in T-Factory mit metrischen Suffix (oder Meldung, dass keine T-Factory vorhanden ist).
tfactory_runtime Zeichenfolge Die Laufzeit einer einzelnen T-Factory als menschliche Zeichenfolge (oder Meldung, dass keine T-Factory vorhanden ist).
num_input_tstates Zeichenfolge Die Anzahl der Eingabe-T-Zustände (oder die Meldung, dass keine T-Factory vorhanden ist).
num_units_per_round Zeichenfolge Die Anzahl der Einheiten pro Destillation rund, Komma getrennt in einer Zeichenfolge (oder Meldung, dass keine T-Factory vorhanden ist).
unit_name_per_round Zeichenfolge Die Einheitennamen der einzelnen Destillationsrunden, komma getrennt in einer Zeichenfolge (oder Meldung, dass keine T-Factory vorhanden ist).
code_distance_per_round Zeichenfolge Der Codeabstand pro Destillationsrunde, Komma getrennt in einer Zeichenfolge (oder Meldung, dass keine T-Factory vorhanden ist).
physical_qubits_per_round Zeichenfolge Die Anzahl der physischen Qubits pro Destillationsrunde, Komma getrennt in einer Zeichenfolge (oder Nachricht, dass keine T-Factory vorhanden ist).
tfactory_runtime_per_round Zeichenfolge Die Laufzeit der einzelnen Destillationsrunden, die als durch Trennzeichen getrennte menschliche Zeichenfolgen (oder Meldung, dass keine T-Factory vorhanden ist) angezeigt wird.
tstate_logical_error_rate Zeichenfolge Abgeschnittene Fehlerrate des logischen T-Zustands (oder Meldung, dass keine T-Factory vorhanden ist).
logical_counts_num_qubits Zeichenfolge Anzahl der Qubits (Vorlayout) mit metrischen Suffix.
logical_counts_t_count Zeichenfolge Anzahl der T-Tore (Vorlayout) mit metrischen Suffix.
logical_counts_rotation_count Zeichenfolge Anzahl der Drehtore (Vorlayout) mit metrischen Suffixen.
logical_counts_rotation_depth Zeichenfolge Drehtiefe (Vorlayout) mit metrischen Suffixen.
logical_counts_ccz_count Zeichenfolge Anzahl der CCZ-Gates (Vorlayout) mit metrischen Suffix.
logical_counts_ccix_count Zeichenfolge Anzahl der CCiX-Gates (Vorlayout) mit metrischen Suffixen.
logical_counts_measurement_count Zeichenfolge Anzahl der Einzel-Qubit-Maße (Pre-Layout) mit metrischen Suffixen.
error_budget Zeichenfolge Kürzung des Gesamtfehlerbudgets.
error_budget_logical Zeichenfolge Abgeschnittenes Fehlerbudget für logischen Fehler.
error_budget_tstates Zeichenfolge Abgeschnittenes Fehlerbudget für fehlerhafte T-Zustandsdestillation.
error_budget_rotations Zeichenfolge Abgeschnittenes Fehlerbudget für fehlerhafte Drehungssynthese.
num_ts_per_rotation Zeichenfolge Formatierte Anzahl von Ts pro Drehung (kann keine sein).

Logisches Qubit

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

Ausgabeparameter Datentyp Beschreibung
code_distance Zahl Der berechnete Codeabstand für den logischen Qubit.
physical_qubits Zahl Die Anzahl der physischen Qubits für jeden logischen Qubit.
logical_cycle_time Zahl Die Zeit zum Ausführen eines logischen Vorgangs.
logical_error_rate Zahl Die logische Fehlerrate des logischen Qubits.

Logische Anzahl

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

Ausgabeparameter Datentyp Beschreibung
num_qubits Zahl Vorlayoutanzahl von Qubits.
t_count Zahl Vorlayoutanzahl von T-Toren.
rotation_count Zahl Vorlayoutanzahl der Drehtore.
rotation_depth Zahl Tiefe der Vorlayoutdrehung.
ccz_count Zahl Vorlayoutnummer der CCZ-Tore.
ccix_count Zahl Vorlayoutnummer der CCiX-Tore.
measurement_count Zahl Vorlayoutanzahl von Einzel-Qubit-Messungen.

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)

Kreisdiagramm mit der Verteilung der gesamten physischen Qubits zwischen Algorithmus-Qubits und T-Factory-Qubits. Es gibt eine Tabelle mit der Aufschlüsselung der Anzahl der T-Werkskopien 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 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"])

Screenshot des Qubit-Time-Diagramms der Ressourcenstimator.

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.

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

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.

Nächste Schritte