mqt.ionshuttler.multi_shuttler.outside.shuttle

Module Contents

GATE_TIME_1Q = 1
GATE_TIME_2Q = 3
REHOME = True
check_duplicates(graph: Graph) None[source]
find_pz_order(graph: Graph, gate_info_list: dict[str, list[int]]) list[str][source]
shuttle(graph: Graph, priority_queue: dict[int, str], timestep: int, cycle_or_paths: str, unique_folder: Path) None[source]
main(graph: Graph, dag: DAGDependency | None, cycle_or_paths: str, use_dag: bool, save_dag: bool = False) int[source]

Run the outside-layout shuttle scheduler.

Parameters:
  • graph – Configured outside architecture and scheduling state.

  • dag – Optional dependency DAG used when use_dag is enabled.

  • cycle_or_paths – Conflict-resolution strategy used for movement.

  • use_dag – Whether to update scheduling from the dependency DAG.

  • save_dag – Whether to save DAG snapshots during scheduling.

Returns:

The number of simulated timesteps.

Raises:

AssertionError – If DAG mode is enabled without providing dag.