View a markdown version of this page

Menggunakan kompilasi parametrik untuk mempercepat Hybrid Jobs - Amazon Braket

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan kompilasi parametrik untuk mempercepat Hybrid Jobs

Amazon Braket mendukung kompilasi parametrik pada QPU tertentu. Ini memungkinkan Anda untuk mengurangi overhead yang terkait dengan langkah kompilasi komputasi yang mahal dengan mengkompilasi sirkuit hanya sekali dan tidak untuk setiap iterasi dalam algoritma hybrid Anda. Ini dapat meningkatkan runtime secara dramatis untuk Hybrid Jobs, karena Anda menghindari kebutuhan untuk mengkompilasi ulang sirkuit Anda di setiap langkah. Cukup kirimkan sirkuit parametrisasi ke salah satu QPU kami yang didukung sebagai Pekerjaan Hybrid Braket. Untuk pekerjaan hybrid yang berjalan lama, Braket secara otomatis menggunakan data kalibrasi yang diperbarui dari penyedia perangkat keras saat mengkompilasi sirkuit Anda untuk memastikan hasil kualitas tertinggi.

Untuk membuat sirkuit parametrik, Anda harus terlebih dahulu memberikan parameter sebagai input dalam skrip algoritma Anda. Dalam contoh ini, kita menggunakan sirkuit parametrik kecil dan mengabaikan pemrosesan klasik di antara setiap iterasi. Untuk beban kerja tipikal, Anda akan mengirimkan banyak sirkuit dalam batch dan melakukan pemrosesan klasik seperti memperbarui parameter di setiap iterasi.

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.")

Anda dapat mengirimkan skrip algoritma untuk dijalankan sebagai Hybrid Job dengan skrip pekerjaan berikut. Saat menjalankan Hybrid Job pada QPU yang mendukung kompilasi parametrik, sirkuit dikompilasi hanya pada proses pertama. Dalam proses berikutnya, sirkuit yang dikompilasi digunakan kembali, meningkatkan kinerja runtime dari Hybrid Job tanpa baris kode tambahan.

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

Kompilasi parametrik didukung pada semua QPU superkonduktor berbasis gerbang dari Rigetti Computing dengan pengecualian program level pulsa.