Freigeben über


Wie Sie mehrere Konfigurationen von target Parametern mit dem Resource Estimator vergleichen

In diesem Artikel erfahren Sie, wie Sie mehrere Konfigurationen von target Parametern gleichzeitig ausführen und mit dem Azure Quantum Resource Estimatorvergleichen.

Mit dem Azure Quantum Resource Estimator können Sie mehrere Konfigurationen von target-Parametern als ein einziger Auftrag ausführen, damit Sie vermeiden, dass mehrere Aufträge im selben Quantenprogramm erneut ausgeführt werden.

Ein Auftrag kann aus mehreren Elementen oder Konfigurationen von target Parametern bestehen. Einige Szenarien, in denen Sie möglicherweise mehrere Elemente als einzelnen Auftrag ausführen möchten:

  • Führen Sie mehrere target-Parameter mit denselben Operations-Argumenten in allen Elementen aus.
  • Führen Sie mehrere target-Parameter mit unterschiedlichen Operations-Argumenten in allen Objekten aus.
  • Vergleichen Sie einfach mehrere Ergebnisse in einem tabellarischen Format.
  • Vergleichen Sie einfach mehrere Ergebnisse in einem Diagramm.

Informationen zum Ausführen der Ressourcenstimator finden Sie unter "Verschiedene Möglichkeiten zum Verwenden des Ressourcenstimators".

Voraussetzungen

Ausführen mehrerer Konfigurationen mit dem Ressourcenstimator

Das Ausführen mehrerer Konfigurationen von target-Parametern als einen einzigen Job in Q# kann in einem Jupyter Notebook in VS Code erfolgen. Sie können eine Liste der Parameter target an den Parameter params der qsharp.estimate-Funktion übergeben.

Das folgende Beispiel zeigt, wie zwei Konfigurationen von target-Parametern gleichzeitig als ein einzelner Auftrag ausgeführt werden können. Die erste Konfiguration verwendet die Standardparameter target , und die zweite Konfiguration verwendet den qubit_maj_ns_e6 Qubit-Parameter und das floquet_code QEC-Schema.

Fügen Sie im gleichen Jupyter-Notizbuch Ihres Q# Programms eine neue Zelle hinzu, und führen Sie den folgenden Code aus:

result_batch = qsharp.estimate("RunProgram()", params=
                [{}, # Default parameters
                {
                    "qubitParams": {
                        "name": "qubit_maj_ns_e6"
                    },
                    "qecScheme": {
                        "name": "floquet_code"
                    }
                }])
result_batch.summary_data_frame(labels=["Gate-based ns, 10⁻³", "Majorana ns, 10⁻⁶"])

Sie können auch eine Liste von Schätzungsparametern target mithilfe der EstimatorParams Klasse erstellen. Der folgende Code zeigt, wie Sie sechs Konfigurationen von target-Parametern als Batch in einem einzigen Job ausführen können.

from qsharp.estimator import EstimatorParams, QubitParams, QECScheme

labels = ["Gate-based µs, 10⁻³", "Gate-based µs, 10⁻⁴", "Gate-based ns, 10⁻³", "Gate-based ns, 10⁻⁴", "Majorana ns, 10⁻⁴", "Majorana ns, 10⁻⁶"]

params = EstimatorParams(num_items=6)
params.error_budget = 0.333
params.items[0].qubit_params.name = QubitParams.GATE_US_E3
params.items[1].qubit_params.name = QubitParams.GATE_US_E4
params.items[2].qubit_params.name = QubitParams.GATE_NS_E3
params.items[3].qubit_params.name = QubitParams.GATE_NS_E4
params.items[4].qubit_params.name = QubitParams.MAJ_NS_E4
params.items[4].qec_scheme.name = QECScheme.FLOQUET_CODE
params.items[5].qubit_params.name = QubitParams.MAJ_NS_E6
params.items[5].qec_scheme.name = QECScheme.FLOQUET_CODE

qsharp.estimate("RunProgram()", params=params).summary_data_frame(labels=labels)

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.