compilation#
Compiler for the quantify_scheduler.
Module Contents#
Functions#
Determine the absolute timing of a schedule based on the timing constraints. |
|
|
|
|
Validate a configuration using a schema. |
Attributes#
- _determine_absolute_timing(schedule: quantify_scheduler.schedules.schedule.Schedule, time_unit: Literal['physical', 'ideal', None] = 'physical', config: quantify_scheduler.backends.graph_compilation.CompilationConfig | None = None) quantify_scheduler.schedules.schedule.Schedule[source]#
- _determine_absolute_timing(schedule: quantify_scheduler.operations.operation.Operation, time_unit: Literal['physical', 'ideal', None] = 'physical', config: quantify_scheduler.backends.graph_compilation.CompilationConfig | None = None) quantify_scheduler.operations.operation.Operation | quantify_scheduler.schedules.schedule.Schedule
Determine the absolute timing of a schedule based on the timing constraints.
This function determines absolute timings for every operation in the
schedulables. It does this by:iterating over all and elements in the
schedulables.determining the absolute time of the reference operation - reference point
"ref_pt"of the reference operation defaults to"end"in case it is not set (i.e., isNone).determining the start of the operation based on the
rel_timeanddurationof operations - reference point"ref_pt_new"of the added operation defaults to"start"in case it is not set.
- Parameters:
schedule – The schedule for which to determine timings.
config – Compilation config for
QuantifyCompiler.time_unit – Whether to use physical units to determine the absolute time or ideal time. When
time_unit == "physical"the duration attribute is used. Whentime_unit == "ideal"the duration attribute is ignored and treated as if it is1. Whentime_unit == Noneit will revert to"physical".
- Returns:
: The modified
schedulewhere the absolute time for each operation has been determined.- Raises:
NotImplementedError – If the scheduling strategy is not “asap”
- _determine_absolute_timing_schedule(schedule: quantify_scheduler.schedules.schedule.Schedule, time_unit: Literal['physical', 'ideal', None], config: quantify_scheduler.backends.graph_compilation.CompilationConfig | None) quantify_scheduler.schedules.schedule.Schedule[source]#
- _get_start_time(schedule: quantify_scheduler.schedules.schedule.Schedule, t_constr: dict[str, str | float], curr_op: quantify_scheduler.operations.operation.Operation | quantify_scheduler.schedules.schedule.Schedule, time_unit: Literal['physical', 'ideal', None]) float[source]#
- _normalize_absolute_timing(schedule: quantify_scheduler.schedules.schedule.Schedule, config: quantify_scheduler.backends.graph_compilation.CompilationConfig | None = None) quantify_scheduler.schedules.schedule.Schedule[source]#