iqm.pulse.scheduler.extend_hard_boundary_in_seconds#
- iqm.pulse.scheduler.extend_hard_boundary_in_seconds(schedule, child_schedule, child_components, neighborhood_components, component_durations, is_alap, channel_properties)#
The same as
extend_hard_boundary
, but the scheduling is done in seconds.Used when the probe channel sampling rate differs from the other channels’ rate. The incoming schedules measure Instruction durations in samples, but
component_durations
is in seconds.- Parameters:
schedule (Schedule) – Schedule that should be extended with
child_schedule
. Modified in place.child_schedule (Schedule) – Child schedule to be added.
child_components (set[str]) – Components (qubits, couplers, computational_resonators) that have at least one channel in
child_schedule
.neighborhood_components (set[str]) – Components neighboring the
child_components
that should additionally be blocked in the scheduling.component_durations (dict[str, float]) – Blocked durations for each component in
schedule
. These act as the earliest starting points for new segment added to any of the channels of a given component, but will also block the component even if it has no occupied channels in the schedule yet or ever (e.g. a computational resonator). The durations are in seconds. Modified in place.is_alap (bool) – Whether the scheduling strategy is ALAP (As Late As Possible).
channel_properties (dict[str, ChannelProperties]) – Mapping from channel name to its properties (e.g. the sample rates and granularities).
- Return type:
None