View a markdown version of this page

Utilizzo della compilazione parametrica per velocizzare i lavori ibridi - Amazon Braket

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo della compilazione parametrica per velocizzare i lavori ibridi

Amazon Braket supporta la compilazione parametrica su determinate QPU. Ciò consente di ridurre il sovraccarico associato alla costosa fase di compilazione dal punto di vista computazionale compilando un circuito una sola volta e non per ogni iterazione dell'algoritmo ibrido. Ciò può migliorare notevolmente i tempi di esecuzione dei lavori ibridi, poiché si evita la necessità di ricompilare il circuito in ogni fase. Basta inviare i circuiti parametrizzati a una delle nostre QPU supportate come Braket Hybrid Job. Per lavori ibridi di lunga durata, Braket utilizza automaticamente i dati di calibrazione aggiornati dal fornitore di hardware durante la compilazione del circuito per garantire risultati della massima qualità.

Per creare un circuito parametrico, devi prima fornire i parametri come input nello script dell'algoritmo. In questo esempio, utilizziamo un piccolo circuito parametrico e ignoriamo qualsiasi elaborazione classica tra ogni iterazione. Per i carichi di lavoro tipici, è necessario inviare molti circuiti in batch ed eseguire l'elaborazione classica, ad esempio l'aggiornamento dei parametri in ogni iterazione.

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

È possibile inviare lo script dell'algoritmo da eseguire come processo ibrido con il seguente script di lavoro. Quando si esegue l'Hybrid Job su una QPU che supporta la compilazione parametrica, il circuito viene compilato solo alla prima esecuzione. Nelle esecuzioni successive, il circuito compilato viene riutilizzato, aumentando le prestazioni di runtime dell'Hybrid Job senza righe di codice aggiuntive.

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

La compilazione parametrica è supportata su tutte le QPU superconduttive basate su gate, ad eccezione dei programmi a livello di impulsi. Rigetti Computing