qbraid.runtime.rigetti.RigettiDevice

class RigettiDevice(profile, qcs_client)[source]

Wraps a single Rigetti QCS quantum processor or simulator.

Initialize a RigettiDevice.

Parameters:
  • profile (TargetProfile) – A TargetProfile object (constructed by RigettiProvider).

  • qcs_client (QCSClient) – An authenticated QCSClient used for QCS API calls.

ExecutionOptions are not stored on the device. Instead, callers pass an execution_options= kwarg to run() / submit() so each job can use a different connection strategy without forcing re-instantiation of the device.

__init__(profile, qcs_client)[source]

Initialize a RigettiDevice.

Parameters:
  • profile (TargetProfile) – A TargetProfile object (constructed by RigettiProvider).

  • qcs_client (QCSClient) – An authenticated QCSClient used for QCS API calls.

ExecutionOptions are not stored on the device. Instead, callers pass an execution_options= kwarg to run() / submit() so each job can use a different connection strategy without forcing re-instantiation of the device.

Methods

__init__(profile, qcs_client)

Initialize a RigettiDevice.

apply_runtime_profile(run_input)

Process quantum program before passing to device run method.

avg_queue_time()

Return the average time (in seconds) a job spends in the queue for the device.

live_qubits()

Returns a list of live qubit IDs for the device.

metadata()

Returns a dictionary containing selected metadata about the device.

prepare(run_input)

Convert the quantum program to an intermediate representation (IR) compatible with the submission format required for the target device and its provider API.

queue_depth()

Return the number of jobs in the queue for the device.

run(run_input, *args, **kwargs)

Run a quantum job or a list of quantum jobs on this quantum device.

set_options(**fields)

Update the runtime options for the QuantumDevice.

set_target_program_type(alias)

Set the program type to target during runtime transpile step.

status()

Return the current status of the device.

submit(run_input, shots[, ...])

Submit one or more jobs to the Rigetti device.

transform(run_input)

Compile a Quil program into the QPU's native gate set via quilc.

transpile(run_input, run_input_spec)

Convert circuit to package compatible with target device and pass through any provider transpile methods to match topology of device and/or optimize as applicable.

update_scheme(**kwargs)

Update the conversion scheme with new values.

validate(run_input_batch[, ...])

Verifies run input compatibility with target device.

Attributes

client

Return the QCSClient associated with this device.

id

Return the device ID.

num_qubits

The number of qubits supported by the device.

profile

Return the runtime profile.

scheme

Return the conversion scheme.

simulator

The device type, Simulator, Fake_device or QPU.