Crie e envie um exemplo de tarefa quântica do Open QASM 3.0 - Amazon Braket

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Crie e envie um exemplo de tarefa quântica do Open QASM 3.0

Você pode usar o Amazon Braket PythonSDK, o Boto3 ou o para enviar tarefas quânticas do Open QASM 3.0 AWS CLI a um dispositivo Braket. Amazon

Um exemplo de programa Open QASM 3.0

Para criar uma tarefa do Open QASM 3.0, você pode começar com um programa simples do Open QASM 3.0 (ghz.qasm) que prepara um GHZestado conforme mostrado no exemplo a seguir.

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

Use o Python SDK para criar tarefas quânticas do Open QASM 3.0

Você pode usar o Amazon Braket SDK Python para enviar esse programa para um dispositivo Braket com Amazon o código a seguir.

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, )

Use o Boto3 para criar tarefas quânticas do Open QASM 3.0

Você também pode usar o AWS Python SDK for Braket (Boto3) para criar as tarefas quânticas usando strings Open QASM 3.0, conforme mostrado no exemplo a seguir. O trecho de código a seguir faz referência ao ghz.qasm que prepara um estado conforme mostrado acima. GHZ

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, )

Use o AWS CLI para criar tarefas do Open QASM 3.0

O AWS Command Line Interface (CLI) também pode ser usado para enviar programas Open QASM 3.0, conforme mostrado no exemplo a seguir.

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) }'