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.
Die Microsoft Quantum-Ressourcenschätzung ist Teil des Microsoft Quantum Development Kit (QDK). In diesem Artikel erfahren Sie, wie Sie die Quantenressourcenschätzung installieren und eine Schätzung für ein einfaches Q#-Programm mit einem Standardarchitekturmodell ausführen.
Warning
Die Ressourcenschätzung in der QDK-Erweiterung für VS Code wird bald nicht mehr unterstützt. Verwenden Sie das qdk.qrePython Modul, um die Ressourcenschätzung durchzuführen.
Voraussetzungen
Um die Schritte in diesem Artikel auszuführen, müssen Sie folgendes installiert haben:
- Die neueste Version von Visual Studio Code (VS Code)
- Die neueste Version der in VS Code installierten QDK-Erweiterung
- Die neuesten Versionen der Python Erweiterung und Jupyter-Erweiterung in VS Code
Installieren des Quantenressourcenschätzers
Die Ressourcenschätzung ist über das qdk.qrePython Modul verfügbar. Um den Ressourcenschätzer zu verwenden, installieren Sie die neueste Version der Bibliothek qdkPython mit dem Extra qre:
pip install --upgrade "qdk[qre]"
Tip
Sie müssen nicht über ein Azure Konto verfügen, um die Ressourcenschätzung zu verwenden.
Ausführen einer einfachen Ressourcenschätzung mit Standardeinstellungen
Um eine grundlegende Ressourcenschätzung durchzuführen, übergeben Sie dem Ressourcenschätzer ein Anwendungsmodell, ein Modell der Hardwarearchitektur und ein Fehlerkorrekturmodell. Führen Sie dann die Ressourcenschätzung aus, um die Ergebnisse zu erhalten. Im folgenden Beispiel wird die Ressourcenschätzung aus Jupyter Notebook im VS-Code ausgeführt.
Erstellen eines Anwendungsmodells
Verwenden Sie in diesem Beispiel den 1D Ising-Modellalgorithmus aus den Q#-Beispielen in der QDK VS Code-Erweiterung. Oder verwenden Sie eines Ihrer vorhandenen Q#-Programme.
Schreiben eines Q#-Programms
- Erstellen Sie in VS Code eine neue Textdatei, und speichern Sie die Datei unter
ising-1d-sample.qs. - Geben Sie in der ersten Zeile der Datei Beispiel ein, um die Q#-Beispielprogrammliste anzuzeigen.
- Wählen Sie "Ising Model(Simple 1D)"-Beispiel aus, und speichern Sie die Datei.
Erstellen einer Anwendung
Verwenden Sie das Q#-Programm, um ein Anwendungsmodell für die Ressourcenschätzung zu erstellen.
Um eine neue Jupyter Notebook Datei in VS Code zu erstellen, öffnen Sie die Befehlspalette, und geben Sie "Create: New Jupyter Notebook" ein.
Bewerten Sie in der ersten Notizbuchzelle das Q#-Programm.
from pathlib import Path from qdk import qsharp qsharp.eval(Path("ising-1d-sample.qs").read_text(encoding="utf-8"))Dieser Code erstellt ein
MainObjekt imqdk.codeNamespace, das das Q#-Programm enthält.Erstellen Sie in einer neuen Zelle eine Ressourcenschätzungsanwendung aus dem Q#-Programm.
import qdk from qdk.qre.application import QSharpApplication app = QSharpApplication(qdk.code.Main)
Erstellen eines Architekturmodells
Verwenden Sie für die Hardwarearchitektur das Standardmodell GateBased, das mit dem Ressourcenschätzer mitgeliefert wird. Das GateBased Modell erfordert Eingaben für Fehlerrate, Torzeit und Messzeit.
Erstellen Sie in einer neuen Zelle eine gatterbasierte Architektur mit einer Fehlerrate von $10^{-4}$, einer Gatterzeit von 100 ns und einer Messzeit von 500 ns.
from qdk.qre.models import GateBased
# Times are in units of nanoseconds
arch = GateBased(error_rate=1e-4, gate_time=100, measurement_time=500)
Ausführen einer Schätzung
Um eine Schätzung auszuführen, verwenden Sie die estimate Funktion, und übergeben Sie die folgenden Eingaben:
- Application
- Architecture
- Abfrage des physischen Befehlssatzes (ISA)
- Maximale Fehlerrate
Die ISA-Abfrage teilt dem Ressourcenschätzer mit, welche Kombinationen aus Fehlerkorrekturcodes und T-Factory-Destillationsprotokollen ausgewertet werden sollen. Der Ressourcenschätzer findet die im Hinblick auf die Pareto-Grenze optimierte Ergebnismenge aus diesen Kombinationen. Verwenden Sie in diesem Beispiel das standardmäßige SurfaceCode QEC- und RoundBasedFactory Destillationsprotokoll, das im Ressourcenschätzer enthalten ist.
from qdk.qre import estimate
from qdk.qre.models import SurfaceCode, RoundBasedFactory
results = estimate(app, arch, isa_query=SurfaceCode.q() * RoundBasedFactory.q(), max_error=0.01)```
Anzeigen der Ergebnisse
Um die optimalen Kombinationen der Anzahl der physischen Qubits und der Programmlaufzeit anzuzeigen, verwenden Sie die as_frame Methode, um die Schätzungsergebnisse in einem Pandas DataFrame anzuzeigen.
results.as_frame()
Um die Ergebnisse darzustellen, verwenden Sie die Methode plot_estimates und übergeben Sie eine Einheit für die Laufzeit.
from qdk.qre import plot_estimates
plot_estimates(results, figsize=(6, 4), runtime_unit="ms")