Creare e inviare un esempio di attività OpenQASM 3.0 - 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à.

Creare e inviare un esempio di attività OpenQASM 3.0

Puoi utilizzare il pluginAmazon BraketPython SDK, Boto3 oAWSCLI per inviare attività OpenQASM 3.0 a unAmazon Braketdispositivo.

Un esempio di programma OpenQASM 3.0

Per creare un'attività OpenQASM 3.0, è possibile iniziare con un semplice programma OpenQASM 3.0 (ghz.qasm) che prepara unStato GHZcome mostrato nell'esempio seguente.

// ghz.qasm // Prepare a GHZ state OPENQASM 3; qubit[3] q; bit[3] c; h q[0]; cnot q[0], q[1]; cnot q[1], q[2]; c = measure q;

Utilizzare Python SDK per creare attività OpenQASM 3.0

Puoi utilizzare il pluginSDK Amazon Braketper inviare questo programma a unAmazon Braketdispositivo con il seguente codice.

with open("ghz.qasm", "r") as ghz: ghz_qasm_string = ghz.read() # import the device module from braket.aws import AwsDevice # choose the Rigetti device device = AwsDevice("arn:aws:braket:::device/qpu/rigetti/Aspen-11") from braket.ir.openqasm import Program program = Program(source=ghz_qasm_string) my_task = device.run(program) # You can also specify an optional s3 bucket location and number of shots, # if you so choose, when running the program s3_location = ("amazon-braket-my-bucket", "openqasm-tasks") my_task = device.run( program, s3_location, shots=100, )

Utilizzare Boto3 per creare attività OpenQASM 3.0

È possibile utilizzare ancheSDK AWS Python per Braket (Boto3)per creare le attività quantistiche utilizzando le stringhe OpenQASM 3.0, come illustrato nell'esempio seguente. Il seguente frammento di codice fa riferimento a ghz.qasm che prepara unStato GHZcome mostrato sopra.

import boto3 import json my_bucket = "amazon-braket-my-bucket" s3_prefix = "openqasm-tasks" with open("ghz.qasm") as f: source = f.read() action = { "braketSchemaHeader": { "name": "braket.ir.openqasm.program", "version": "1" }, "source": source } device_parameters = {} device_arn = "arn:aws:braket:::device/qpu/rigetti/Aspen-11" shots = 100 braket_client = boto3.client('braket', region_name='us-west-1') rsp = braket_client.create_quantum_task( action=json.dumps( action ), deviceParameters=json.dumps( device_parameters ), deviceArn=device_arn, shots=shots, outputS3Bucket=my_bucket, outputS3KeyPrefix=s3_prefix, )

Utilizzo dell'AWSCLI per creare attività OpenQASM 3.0

LaInterfaccia a riga di comando di AWSpuò essere utilizzato anche per l'invio di programmi OpenQASM 3.0, come mostrato nell'esempio seguente.

aws braket create-quantum-task \ --region "us-west-1" \ --device-arn "arn:aws:braket:::device/qpu/rigetti/Aspen-11" \ --shots 100 \ --output-s3-bucket "amazon-braket-my-bucket" \ --output-s3-key-prefix "openqasm-tasks" \ --action '{ "braketSchemaHeader": { "name": "braket.ir.openqasm.program", "version": "1" }, "source": $(cat ghz.qasm) }'