qbraid.runtime.QuantumDevice
- class QuantumDevice(profile, scheme=None, options=None)[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.
options (Optional[RuntimeOptions]) – Custom options to control the runtime behavior. Adds fields or overrides default values for
transpile
,transform
, andvalidate
. Note that while you can modify these values, their associated validators are fixed and cannot be changed.
- __init__(profile, scheme=None, options=None)[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.
options (Optional[RuntimeOptions]) – Custom options to control the runtime behavior. Adds fields or overrides default values for
transpile
,transform
, andvalidate
. Note that while you can modify these values, their associated validators are fixed and cannot be changed.
Methods
__init__
(profile[, scheme, options])Create a
QuantumDevice
object.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.
metadata
()Returns a dictionary containing selected metadata about the device.
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.
status
()Return device status.
submit
(run_input, *args, **kwargs)Vendor run method.
to_ir
(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.
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
(run_input_batch[, ...])Verifies run input compatibility with target device.
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.