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., is- None).
- determining the start of the operation based on the - rel_timeand- durationof 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. When- time_unit == "ideal"the duration attribute is ignored and treated as if it is- 1. When- time_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]#