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.