Übung: Verwenden des Quantum Development Kit zum Ausführen eines Quantenprogramms

Abgeschlossen

Mit der Azure Quantum Development Kit-Erweiterung (QDK) für Visual Studio Code können Sie Ihre Programme in einer lokalen Entwicklungsumgebung erstellen und ausführen. Sie können auch eine Verbindung mit Ihrem Azure Quantum-Arbeitsbereich herstellen und Ihre Programme auf den Quantencomputern und Simulatoren der Anbieter ausführen, die Sie für Ihren Arbeitsbereich ausgewählt haben.

Installieren der erforderlichen Tools

  1. Installieren Sie Visual Studio Code, oder öffnen Sie VS Code für das Web.

  2. Installieren Sie die VS Code-Erweiterung für das Azure Quantum Development Kit (Modern QDK).

  3. Wenn Sie Ihre Programme auf echter Hardware ausführen möchten, benötigen Sie auch Folgendes:

    • Ein Azure-Abonnement. Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
    • Azure Quantum-Arbeitsbereich

    Tipp

    Wenn Sie über einen Azure Quantum-Arbeitsbereich verfügen, können Sie kostenlos 500 USD an Azure Quantum-Guthaben erhalten, wenn Sie Ihre Q#-Programme an Azure Quantum übermitteln

Erstellen und Ausführen eines Q#-Programms in Visual Studio Code

Das QDK enthält verschiedene Q#-Beispiele, die Sie verwenden können, um mehr über Q# und Quantencomputing zu erfahren. Um die Beispiele anzuzeigen, öffnen Sie eine neue Q#-Datei, geben Sie sample ein und wählen Sie dann das Beispiel, das Sie in der Liste der Optionen anzeigen möchten, aus.

  1. Öffnen Sie Visual Studio Code, und wählen Sie Datei>Neue Textdatei aus, um eine neue Datei zu erstellen.

  2. Speichern Sie die Datei unter dem Namen RandomNum.qs. Diese Datei enthält den Q#-Code für Ihr Programm.

  3. Kopieren Sie den folgenden Code, und speichern Sie ihn in der Datei RandomNum.qs.

    namespace Sample {
    
        @EntryPoint()
        operation RandomBit() : Result {
            // Qubits are only accessible for the duration of the scope where they
            // are allocated and are automatically released at the end of the scope.
            use qubit = Qubit();
    
            // Set the qubit in superposition by applying a Hadamard transformation.
            H(qubit);
    
            // Measure the qubit. There is a 50% probability of measuring either 
            // `Zero` or `One`.
            let result = M(qubit);
    
            // Reset the qubit so it can be safely released.
            Reset(qubit);
            return result;
        }
    }
    

Erkunden des Q#-Codes

  1. Zeigen Sie mit der Maus auf den H-Vorgang, um eine kurze Zusammenfassung der Definition anzuzeigen.
  2. Platzieren Sie den Cursor vor dem H-Vorgang, klicken Sie mit der rechten Maustaste und wählen Sie Zur Definition wechseln aus. Dadurch wird eine schreibgeschützte Ansicht des Standardbibliothekscodes für die Funktion geöffnet.

Lokales Ausführen des Programms

  1. Wenn Sie das Programm lokal im integrierten Simulator testen möchten, wählen Sie in der Dropdownliste „Wiedergabesymbol ausführen“ die Option Q#-Datei ausführen oben rechts aus, oder drücken Sie STRG+F5. Die Ausgabe wird in der Debugkonsole angezeigt.
  2. Wenn Sie Ihr Programm debuggen möchten, bevor Sie es an Azure Quantum übermitteln, wählen Sie über das Wiedergabesymbol Q#-Datei debuggen aus, oder drücken Sie F5. Mit den Debugsteuerelementen am oberen Rand können Sie den Code schrittweise durchlaufen, zur entsprechenden Stelle im Code gelangen und den Code wieder verlassen.

Herstellen einer Verbindung mit Azure Quantum und Übermitteln eines Auftrags

Wenn Sie über einen Azure Quantum-Arbeitsbereich verfügen, können Sie über VS Code eine Verbindung mit ihm herstellen und Ihre Q#-Programme an Azure Quantum übermitteln. In diesem Beispiel übermitteln Sie das Programm RandomNum.qs an den Rigetti-Simulator.

  1. Öffnen Sie in der Explorer-Ansicht der VS Code-Seitenleiste den Abschnitt QUANTUM-ARBEITSBEREICHE.
  2. Wählen Sie Vorhandenen Arbeitsbereich hinzufügen aus, und folgen Sie den Anweisungen, um eine Verbindung mit dem bevorzugten Verzeichnis, Abonnement und Arbeitsbereich herzustellen.
  3. Nachdem Sie eine Verbindung hergestellt haben, erweitern Sie Ihren Arbeitsbereich und den Anbieter Rigetti.
  4. Wählen Sie rigetti.sim.qvm als Ziel aus.
  5. Klicken Sie rechts neben dem Ziel auf das Symbol ⏵... (Wiedergabe), oder führen Sie den Befehl Q#: Aktuelles Q#-Programm übermitteln aus der Befehlspalette aus. Wenn ein Popup angezeigt wird, wählen Sie QIR-Zielprofil ändern und Vorgang fortsetzen aus.
  6. Geben Sie einen Namen und die Anzahl der Versuche für die Auftragsübermittlung in die Eingabefelder ein.
  7. Drücken Sie die EINGABETASTE, um den Auftrag zu senden. Der Auftragsstatus wird unten auf dem Bildschirm angezeigt.
  8. Erweitern Sie Aufträge, und zeigen Sie mit der Maus auf Ihren Auftrag. Dadurch werden die Anzahl und der Status Ihres Auftrags angezeigt.
  9. Wählen Sie zum Anzeigen der Ergebnisse das Cloudsymbol neben dem Auftragsnamen aus, um die Ergebnisse aus dem Arbeitsbereichsspeicher herunterzuladen und in VS Code anzuzeigen.

Zusatz: Erstellen eines Azure Quantum-Notebooks

Mit dem QDK können Sie Azure Quantum-Notebooks in VS Code erstellen. Azure Quantum-Notebooks sind Jupyter Notebook-Instanzen, mit denen Sie Quantenprogramme auf den Quantencomputern und Simulatoren der Anbieter ausführen können, die Sie für Ihren Azure Quantum-Arbeitsbereich ausgewählt haben.

So erstellen Sie ein Azure Quantum-Notebook

  1. Öffnen Sie in VS Code das Menü Ansicht, und wählen Sie Befehlspalette aus.
  2. Geben Sie Q#: Azure Quantum-Notebook erstellen ein.
  3. Eine Jupyter Notebook-Instanz wird auf einer neuen Registerkarte geöffnet. Das Notebook enthält eine Codezelle, die für das Beispiel erforderlichen Pakete importiert, stellt eine Verbindung mit dem Azure Quantum-Dienst her und führt ein Q#-Programm aus.