:py:mod:`kosmos.dqc_scheduling.execution_scheduler` =================================================== .. py:module:: kosmos.dqc_scheduling.execution_scheduler Classes ------- .. py:class:: ExecutionStep Step in execution order (partition, remote CNOT or teleportation). .. attribute:: event_id Identifier for the event. :type: EventId .. attribute:: dependencies Set of event IDs that must complete before this step. :type: set[EventId] .. attribute:: is_remote_gate Flag indicating whether this step involves a remote gate operation. Defaults to False. :type: bool .. attribute:: is_teleportation Flag indicating whether this step involves a teleportation operation. Defaults to False. :type: bool .. attribute:: circuit The quantum circuit for this execution step, or None if not applicable. Defaults to None. :type: QuantumCircuit | None .. attribute:: remote_operation_info Information about remote operation details, or None if not applicable. Defaults to None. :type: RemoteOperationInfo | None ---- .. py:class:: ExecutionScheduler(matrix: kosmos.dqc_scheduling.space_time_matrix.SpaceTimeMatrix) Manages execution dependencies using space-time matrix. .. attribute:: space_time_matrix Matrix storing assignment of qubits. :type: SpaceTimeMatrix .. attribute:: remote_gates List of detected remote gate operations. :type: list[RemoteOperationInfo] .. attribute:: teleportations List of detected qubit teleportations. :type: list[RemoteOperationInfo] Initialize Dependency Manager. :param matrix: Matrix storing assignment of qubits. :type matrix: SpaceTimeMatrix | .. rubric:: Properties .. py:property:: partitions Dictionary mapping partition IDs to their corresponding Partition objects. | .. rubric:: Methods .. py:method:: get_execution_order() -> list[ExecutionStep] Return execution steps in topologically sorted order (Kahn's Algorithm). :returns: Ordered list with timing information. :rtype: list[ExecutionStep]