qat.purr.backends.live module

class LiveDeviceEngine(model, startup_engine=True)

Bases: QuantumExecutionEngine

Backend that hooks up to our QPU’s, currently hardcoded to particular fridges. This will only work when run on a machine physically connected to a QPU.

build_baseband_frequencies(pulse_channel_buffers)

Find fixed intermediate frequencies for physical channels if they exist.

model: LiveHardwareModel
optimize(instructions)

Runs optimization passes specific to this hardware.

process_reset(position)
shutdown()

Shuts down the underlying hardware when this instance is no longer in use.

startup()

Starts up the underlying hardware or does nothing if already started.

validate(instructions)

Validates this graph for execution on the current hardware.

class LiveHardwareModel(control_hardware=None, shot_limit=10000, acquire_mode=None, repeat_count=1000, repetition_period=0.0001, error_mitigation=None)

Bases: QuantumHardwareModel

add_device(device)
add_instrument(*instruments)
add_physical_baseband(*basebands)
add_physical_channel(*physical_channels)
create_engine(startup_engine=True)
get_device(id_)
get_instrument(id_)
apply_setup_to_hardware(hw, qubit_count, pulse_hw_x_pi_2_width, pulse_hw_zx_pi_4_width, pulse_measure_width)

Apply lucy to the passed-in hardware.

Return type:

QuantumHardwareModel

build_lucy_hardware(hw)
sync_baseband_frequencies_to_value(hw, lo_freq, target_qubits)