pub struct ExecutionPlan {
pub steps: Vec<PlanStep>,
}Expand description
A complete execution plan containing ordered steps with dependency and resource metadata.
Fields§
§steps: Vec<PlanStep>The ordered steps of this execution plan.
Implementations§
Source§impl ExecutionPlan
impl ExecutionPlan
Sourcepub fn total_flops(&self) -> u64
pub fn total_flops(&self) -> u64
Total estimated FLOPs across all steps.
Sourcepub fn peak_memory(&self) -> usize
pub fn peak_memory(&self) -> usize
Peak estimated memory (sum of all live tensors at the busiest level).
Groups steps by dependency level, sums memory per level, and returns the maximum.
Sourcepub fn parallel_count(&self) -> usize
pub fn parallel_count(&self) -> usize
Number of steps that can be parallelized.
Sourcepub fn critical_path_length(&self) -> usize
pub fn critical_path_length(&self) -> usize
Maximum dependency depth (critical path length).
Returns the number of distinct dependency levels, i.e. max level + 1.
Sourcepub fn parallel_speedup(&self) -> f64
pub fn parallel_speedup(&self) -> f64
Theoretical speedup from parallelism (total_steps / critical_path_length).
Trait Implementations§
Source§impl Clone for ExecutionPlan
impl Clone for ExecutionPlan
Source§fn clone(&self) -> ExecutionPlan
fn clone(&self) -> ExecutionPlan
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 moreSource§impl Debug for ExecutionPlan
impl Debug for ExecutionPlan
Source§impl Default for ExecutionPlan
impl Default for ExecutionPlan
Source§fn default() -> ExecutionPlan
fn default() -> ExecutionPlan
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ExecutionPlan
impl RefUnwindSafe for ExecutionPlan
impl Send for ExecutionPlan
impl Sync for ExecutionPlan
impl Unpin for ExecutionPlan
impl UnsafeUnpin for ExecutionPlan
impl UnwindSafe for ExecutionPlan
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more