Share via


Grundlegendes zu den Ergebnisdaten der Ressourcenschätzung

Erfahren Sie, wie Sie die Ausgabeparameter und Diagramme des Ressourcenschätzungssteuerelements interpretieren und abrufen. In diesem Artikel wird erläutert, wie Sie programmgesteuert auf die Ergebnisse des Resource Estimators in Jupyter Notebooks zugreifen. Wenn Sie den Resource Estimator in Visual Studio Code über die Befehlspalette ausführen, gelten die folgenden Befehle nicht.

Voraussetzungen

Ausgabeparameter

Die Ausgabedaten des Resource Estimators sind ein Bericht, der in der Konsole gedruckt wird und programmgesteuert zugegriffen 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 Zeichenfolge Die status des Auftrags ist immer Succeeded.
job_params dictionary Die target Parameter des Auftrags, die als Eingabe übergeben werden.
physical_counts dictionary Die physische Ressource wird geschätzt. 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 Qubiteigenschaften. 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 Anzahl.
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 number Die Gesamtanzahl der physischen Qubits.
runtime number Die Gesamtlaufzeit für die Ausführung des Algorithmus in Nanosekunden.
rqops number Die Anzahl der zuverlässigen Quantenvorgänge pro Sekunde (QOPS).
breakdown dictionary Aufschlüsselung der Schätzungen. Weitere Informationen finden Sie unter Aufschlüsselung physischer Anzahlen.

Aufschlüsselung physischer Anzahlen

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

Ausgabeparameter Datentyp BESCHREIBUNG
algorithmic_logical_qubits number Die logischen Qubits, die für die Ausführung des Algorithmus erforderlich sind, enthalten keine Ressourcen für T-Fabriken.
algorithmic_logical_depth number Die logischen Zyklen, die für die Ausführung des Algorithmus erforderlich sind, enthalten keine Ressourcen für T-Fabriken.
logical_depth number Die möglicherweise angepasste Anzahl von Zyklen, die berechnet wird, wenn die Ausführungszeit der T-Factory schneller ist als die Algorithmusausführung.
num_tstates number Die Anzahl der vom Algorithmus verbrauchten T-Zustände.
clock_frequency number Die Anzahl der logischen Zyklen pro Sekunde.
num_tfactories number Die Anzahl der T-Fabriken (bei einheitlichem T Factory-Design).
num_tfactory_runs number Die Anzahl, mit der alle parallelen T-Fabriken ausgeführt werden sollen.
physical_qubits_for_tfactories number Die Anzahl der physischen Qubits für alle T-Fabriken.
physical_qubits_for_algorithm number Die Anzahl der physischen Qubits für das Algorithmuslayout.
required_logical_qubit_error_rate number Die erforderliche logische Fehlerrate.
required_logical_tstate_error_rate number Die erforderliche Fehlerrate des logischen T-Zustands.
num_ts_per_rotation number Die Anzahl der T-Gates pro Drehung.
clifford_error_rate number Die Clifford-Fehlerrate basierend auf den Qubitparametern.

Formatierte physische Anzahlen

Das physical_counts_formatted 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 dem Metriksuffix formatiert ist.
physical_qubits Zeichenfolge Gesamtzahl der physischen Qubits mit Metriksuffix.
algorithmic_logical_qubits Zeichenfolge Algorithmische logische Qubits mit Metriksuffix.
algorithmic_logical_depth Zeichenfolge Algorithmische logische Tiefe mit Metriksuffix.
logical_depth Zeichenfolge Möglicherweise angepasste algorithmische logische Tiefe mit Metriksuffix.
num_tstates Zeichenfolge Anzahl der T-Zustände mit Metriksuffix.
num_tfactories Zeichenfolge Anzahl der T Factory-Kopien mit Metriksuffix.
num_tfactory_runs Zeichenfolge Anzahl der T Factory-Ausführungen mit Metriksuffix.
physical_qubits_for_algorithm Zeichenfolge Anzahl der physischen Qubits für Algorithmus mit Metriksuffix.
physical_qubits_for_tfactories Zeichenfolge Anzahl der physischen Qubits für T-Fabriken mit Metriksuffix.
physical_qubits_for_tfactories_percentage Zeichenfolge Die Anzahl der physischen Qubits für alle T-Fabriken in Prozent bis gesamt.
required_logical_qubit_error_rate Zeichenfolge Abgeschnitten benötigte logische Qubitfehlerrate.
required_logical_tstate_error_rate Zeichenfolge Abgeschnitten erforderliche T-Zustandsfehlerrate.
physical_qubits_per_logical_qubit Zeichenfolge Anzahl der physischen Qubits pro logischem Qubit mit Metriksuffix.
logical_cycle_time Zeichenfolge Die logische Zykluszeit eines logischen Qubits als humanfreundliche Zeichenfolge.
clock_frequency Zeichenfolge Die Anzahl logischer Zyklen pro Sekunde als menschenfreundliche Zeichenfolge.
logical_error_rate Zeichenfolge Abgeschnittene logische Fehlerrate.
tfactory_physical_qubits Zeichenfolge Anzahl der physischen Qubits in T Factory mit dem Metriksuffix (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 meldung, dass keine T Factory vorhanden ist).
num_units_per_round Zeichenfolge Die Anzahl der Einheiten pro Destillationsrunde, Komma getrennt in einer Zeichenfolge (oder Meldung, dass keine T Factory vorhanden ist).
unit_name_per_round Zeichenfolge Die Einheitennamen der einzelnen Destillationsrunden, Kommas 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 Meldung, dass keine T Factory vorhanden ist).
tfactory_runtime_per_round Zeichenfolge Die Laufzeit jeder Destillationsrunde, die als durch Kommas getrennte menschliche freundliche Zeichenfolgen angezeigt wird (oder meldung, dass es keine T Factory gibt).
tstate_logical_error_rate Zeichenfolge Fehlerrate des logischen T-Zustands abgeschnitten (oder Meldung, dass keine T Factory vorhanden ist).
logical_counts_num_qubits Zeichenfolge Anzahl von Qubits (Prälayout) mit Metriksuffix.
logical_counts_t_count Zeichenfolge Anzahl der T-Gates (Vorlayout) mit Metriksuffix.
logical_counts_rotation_count Zeichenfolge Anzahl der Rotationsgates (Vorlayout) mit Metriksuffix.
logical_counts_rotation_depth Zeichenfolge Drehtiefe (Vorlayout) mit Metriksuffix.
logical_counts_ccz_count Zeichenfolge Anzahl der CCZ-Gates (Vorlayout) mit Metriksuffix.
logical_counts_ccix_count Zeichenfolge Anzahl der CCiX-Gates (Vorlayout) mit Metriksuffix.
logical_counts_measurement_count Zeichenfolge Anzahl der Einzelqubitmessungen (Vorlayout) mit Metriksuffix.
error_budget Zeichenfolge Abgeschnittenes Gesamtfehlerbudget.
error_budget_logical Zeichenfolge Abgeschnittenes Fehlerbudget für logische Fehler.
error_budget_tstates Zeichenfolge Abgeschnittenes Fehlerbudget für fehlerhafte T-Zustandsdestillation.
error_budget_rotations Zeichenfolge Abgeschnittenes Fehlerbudget für fehlerhafte Rotationssynthese.
num_ts_per_rotation Zeichenfolge Formatierte Anzahl von Ts pro Drehung (möglicherweise Keine).

Logisches Qubit

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

Ausgabeparameter Datentyp BESCHREIBUNG
code_distance number Der berechnete Codeabstand für das logische Qubit.
physical_qubits number Die Anzahl der physischen Qubits für jedes logische Qubit.
logical_cycle_time number Die Zeit für die Ausführung eines logischen Vorgangs.
logical_error_rate number Die logische Fehlerrate des logischen Qubits.

Logische Anzahl

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

Ausgabeparameter Datentyp BESCHREIBUNG
num_qubits number Anzahl von Qubits vor dem Layout.
t_count number Anzahl der T-Gates vor dem Layout.
rotation_count number Anzahl der Rotationsgates vor dem Layout.
rotation_depth number Drehtiefe vor dem Layout.
ccz_count number Anzahl der CCZ-Gates vor dem Layout.
ccix_count number Anzahl der CCiX-Gates vor dem Layout.
measurement_count number Anzahl der Einzelqubitmessungen vor dem Layout.

Raumdiagramm

Die Gesamtschätzung der physischen Ressourcen besteht aus der Gesamtzahl der physischen Qubits, die sowohl für den Algorithmus als auch für die T Factory-Kopien 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 T Factory-Kopien zur Anzahl der physischen Qubits für T-Fabriken beiträgt.

In Jupyter Notebook können Sie mithilfe des Widgets aus dem Paket auf das SpaceChartqsharp-widgets Raumdiagramm zugreifen.

import qsharp

from qsharp_widgets import SpaceChart
SpaceChart(result)

Kreisdiagramm, das die Verteilung der gesamten physischen Qubits zwischen Algorithmusqubits und T Factory-Qubits zeigt. Es gibt eine Tabelle mit der Aufschlüsselung der Anzahl der T-Factory-Kopien und der Anzahl der physischen Qubits pro T Factory.

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 von zeichnen. Der folgende Code zeigt z. B., wie das Leerzeichendiagramm für die erste Konfiguration von Parametern und die drittkurmste Laufzeit dargestellt wird.

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

Raum-Zeit-Diagramm

Beim Quantencomputing 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 wird jedoch durch die Anzahl der physischen Qubits begrenzt, die in der Quantenhardware verfügbar sind. Das Verständnis des Kompromisses zwischen Laufzeit und Systemskalierung ist einer der wichtigsten 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 anzuzeigen, müssen Sie den Schätztyp auf Pareto-Grenzschätzung festlegen. Wenn Sie den Resource Estimator in Visual Studio Code mit der Option : Berechnen vonQ# Ressourcenschätzungen ausführen, ist die Pareto-Grenzschätzung standardmäßig aktiviert.

Mit dem Raum-Zeit-Diagramm können Sie die optimale Kombination von {Anzahl von Qubits, Runtime}-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}-Paar.

Um das Raumzeitdiagramm in Jupyter Notebook 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-Zeitdiagramms des Resource Estimators

Tipp

Um die Schätzdetails anzuzeigen, können Sie mit dem Mauszeiger 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 Resource Estimator

Hinweis

Wenn beim Arbeiten mit dem Resource Estimator ein Problem aufgetreten ist, lesen Sie die Seite Problembehandlung, oder wenden Sie sich an AzureQuantumInfo@microsoft.com.

Nächste Schritte