pub struct ExecutionSchedule {
pub execution_order: Vec<usize>,
pub parallel_stages: Vec<Vec<usize>>,
pub stage_costs: Vec<f64>,
pub total_cost: f64,
pub peak_memory: usize,
pub objective: SchedulingObjective,
}Expand description
A schedule for executing graph operations
Fields§
§execution_order: Vec<usize>Ordered sequence of operations to execute
parallel_stages: Vec<Vec<usize>>Operations that can execute in parallel at each step
stage_costs: Vec<f64>Estimated execution time for each stage
total_cost: f64Total estimated execution time
peak_memory: usizePeak memory usage
objective: SchedulingObjectiveObjective used for scheduling
Implementations§
Source§impl ExecutionSchedule
impl ExecutionSchedule
Sourcepub fn new(objective: SchedulingObjective) -> Self
pub fn new(objective: SchedulingObjective) -> Self
Create a new execution schedule
Sourcepub fn num_stages(&self) -> usize
pub fn num_stages(&self) -> usize
Get the number of stages in the schedule
Sourcepub fn max_parallelism(&self) -> usize
pub fn max_parallelism(&self) -> usize
Get maximum parallelism across all stages
Sourcepub fn avg_parallelism(&self) -> f64
pub fn avg_parallelism(&self) -> f64
Get average parallelism
Trait Implementations§
Source§impl Clone for ExecutionSchedule
impl Clone for ExecutionSchedule
Source§fn clone(&self) -> ExecutionSchedule
fn clone(&self) -> ExecutionSchedule
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ExecutionSchedule
impl RefUnwindSafe for ExecutionSchedule
impl Send for ExecutionSchedule
impl Sync for ExecutionSchedule
impl Unpin for ExecutionSchedule
impl UnwindSafe for ExecutionSchedule
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more