Menggunakan kompilasi parametrik untuk mempercepat Pekerjaan Hybrid - 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 Pekerjaan Hybrid

Amazon Braket mendukung kompilasi parametrik pada QPU tertentu. Ini memungkinkan Anda untuk mengurangi overhead yang terkait dengan langkah kompilasi yang mahal secara komputasi dengan mengkompilasi sirkuit hanya sekali dan tidak untuk setiap iterasi dalam algoritme 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 parametris ke salah satu QPU kami yang didukung sebagai Braket Hybrid Job. Untuk pekerjaan hybrid yang berjalan lama, Braket secara otomatis menggunakan data kalibrasi yang diperbarui dari penyedia perangkat keras saat menyusun sirkuit Anda untuk memastikan hasil dengan kualitas terbaik.

Untuk membuat rangkaian parametrik, pertama-tama Anda harus memberikan parameter sebagai input dalam skrip algoritme Anda. Dalam contoh ini, kami menggunakan sirkuit parametrik kecil dan mengabaikan pemrosesan klasik 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 Job Hybrid 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 dan Oxford Quantum Circuits dengan pengecualian program tingkat pulsa.