Verwendung von parametrischer Kompilierung zur Beschleunigung von Hybrid-Jobs - Amazon Braket

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwendung von parametrischer Kompilierung zur Beschleunigung von Hybrid-Jobs

Amazon Braket unterstützt in bestimmten Fällen die parametrische Kompilierung. QPUs Auf diese Weise können Sie den mit dem rechenintensiven Kompilierungsschritt verbundenen Aufwand reduzieren, indem Sie eine Schaltung nur einmal kompilieren und nicht für jede Iteration in Ihrem hybriden Algorithmus. Dies kann die Laufzeiten von Hybrid-Jobs erheblich verbessern, da Sie vermeiden, dass Sie Ihre Schaltung bei jedem Schritt neu kompilieren müssen. Reichen Sie einfach parametrisierte Schaltungen bei einem unserer QPUs als Braket Hybrid unterstützten Job ein. Bei Hybrid-Jobs mit langer Laufzeit verwendet Braket bei der Kompilierung Ihrer Schaltung automatisch die aktualisierten Kalibrierungsdaten des Hardwareanbieters, um Ergebnisse von höchster Qualität zu gewährleisten.

Um eine parametrische Schaltung zu erstellen, müssen Sie zunächst Parameter als Eingaben in Ihrem Algorithmus-Skript angeben. In diesem Beispiel verwenden wir einen kleinen parametrischen Schaltkreis und ignorieren jegliche klassische Verarbeitung zwischen den einzelnen Iterationen. Bei typischen Workloads würden Sie viele Schaltungen stapelweise einreichen und eine klassische Verarbeitung durchführen, wie z. B. die Aktualisierung der Parameter in jeder Iteration.

import os from braket.aws import AwsDevice from braket.circuits import Circuit, FreeParameter def start_here(): print("Test job started.") # Use the device declared in the job script device = AwsDevice(os.environ["AMZN_BRAKET_DEVICE_ARN"]) circuit = Circuit().rx(0, FreeParameter("theta")) parameter_list = [0.1, 0.2, 0.3] for parameter in parameter_list: result = device.run(circuit, shots=1000, inputs={"theta": parameter}) print("Test job completed.")

Sie können das Algorithmus-Skript zur Ausführung als Hybrid-Job mit dem folgenden Job-Skript einreichen. Wenn der Hybrid-Job auf einem ausgeführt wird, der QPU die parametrische Kompilierung unterstützt, wird die Schaltung nur beim ersten Lauf kompiliert. In nachfolgenden Läufen wird der kompilierte Schaltkreis wiederverwendet, wodurch die Laufzeitleistung des Hybrid-Jobs ohne zusätzliche Codezeilen erhöht wird.

from braket.aws import AwsQuantumJob job = AwsQuantumJob.create( device=device_arn, source_module="algorithm_script.py", )
Anmerkung

Die parametrische Kompilierung wird auf allen supraleitenden Gate-basierten Systemen unterstützt QPUs Rigetti Computing mit Ausnahme von Pulspegelprogrammen.