Cree y envíe un ejemplo de tarea de OpenQASM 3.0 - Amazon Braket

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cree y envíe un ejemplo de tarea de OpenQASM 3.0

Puede utilizar el SDK de Python deAmazon Braket, Boto3 o elAWS CLI para enviar tareas de OpenQASM 3.0 a un dispositivoAmazon Braket.

Un ejemplo de programa OpenQASM 3.0

Para crear una tarea de OpenQASM 3.0, puede empezar con un programa OpenQASM 3.0 sencillo (ghz.qasm) que prepare un estado de GHZ, como se muestra en el siguiente ejemplo.

// 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;

Utilice el SDK de Python para crear tareas de OpenQASM 3.0

Puede utilizar el SDK de Python de Amazon Braket para enviar este programa a un dispositivoAmazon Braket con el siguiente código.

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:us-west-1::device/qpu/rigetti/Aspen-M-3") 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, )

Utilice Boto3 para crear tareas de OpenQASM 3.0

También puede usar el SDK deAWS Python para Braket (Boto3) para crear las tareas cuánticas mediante cadenas de OpenQASM 3.0, como se muestra en el siguiente ejemplo. El siguiente fragmento de código hace referencia a ghz.qasm, que prepara un estado de GHZ como se muestra arriba.

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:us-west-1::device/qpu/rigetti/Aspen-M-3" 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, )

Utilice elAWS CLI para crear tareas de OpenQASM 3.0

La AWS Command Line Interface(CLI) también se puede utilizar para enviar programas de OpenQASM 3.0, como se muestra en el siguiente ejemplo.

aws braket create-quantum-task \ --region "us-west-1" \ --device-arn "arn:aws:braket:us-west-1::device/qpu/rigetti/Aspen-M-3" \ --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) }'