pub struct ExecutionSchedule {
pub execution_order: Vec<usize>,
pub device_placement: HashMap<usize, DeviceType>,
pub parallel_groups: Vec<Vec<usize>>,
pub estimated_cost: f64,
}Expand description
Execution schedule for a graph
Fields§
§execution_order: Vec<usize>Ordered list of node indices to execute
device_placement: HashMap<usize, DeviceType>Device placement for each node
parallel_groups: Vec<Vec<usize>>Parallel execution groups (nodes that can run concurrently)
estimated_cost: f64Estimated execution cost (arbitrary units)
Implementations§
Source§impl ExecutionSchedule
impl ExecutionSchedule
pub fn new() -> Self
pub fn sequential(num_nodes: usize, device: DeviceType) -> Self
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
pub fn get_device(&self, node_idx: usize) -> Option<DeviceType>
pub fn num_parallel_stages(&self) -> usize
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 moreSource§impl Debug for ExecutionSchedule
impl Debug for ExecutionSchedule
Auto 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