qbraid.runtime.QuantumDevice

class QuantumDevice(profile, scheme=None, **kwargs)[source]

Abstract interface for quantum devices.

Create a QuantumDevice object.

Parameters:
  • profile (TargetProfile) – The device runtime profile.

  • scheme (Optional[ConversionScheme]) – The conversion graph and options passed to the transpiler at runtime.

__init__(profile, scheme=None, **kwargs)[source]

Create a QuantumDevice object.

Parameters:
  • profile (TargetProfile) – The device runtime profile.

  • scheme (Optional[ConversionScheme]) – The conversion graph and options passed to the transpiler at runtime.

Methods

__init__(profile[, scheme])

Create a QuantumDevice object.

apply_runtime_profile(run_input)

Process quantum program before passing to device run method.

metadata()

Returns a dictionary containing selected metadata about the device.

queue_depth()

Return the number of jobs in the queue for the backend

run(run_input, *args, **kwargs)

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

status()

Return device status.

submit(run_input, *args, **kwargs)

Vendor run method.

transform(run_input)

Override this method with any runtime transformations to apply to the run input, e.g. circuit optimizations, device-specific gate set conversions, etc.

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(program)

Verifies device status and circuit compatibility.

Attributes

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.