pub struct RuntimePlan {
pub default_policy: EdgePolicyKind,
pub backpressure: BackpressureStrategy,
pub lockfree_queues: bool,
pub graph_metadata: BTreeMap<String, Value>,
pub nodes: Vec<RuntimeNode>,
pub edges: Vec<(NodeRef, String, NodeRef, String, EdgePolicyKind)>,
pub gpu_segments: Vec<GpuSegment>,
pub gpu_edges: Vec<EdgeBufferInfo>,
pub gpu_entries: Vec<usize>,
pub gpu_exits: Vec<usize>,
pub segments: Vec<RuntimeSegment>,
pub schedule_order: Vec<NodeRef>,
}Expand description
Final runtime plan, derived from planner output.
use daedalus_runtime::RuntimePlan;
use daedalus_planner::{ExecutionPlan, Graph};
let plan = RuntimePlan::from_execution(&ExecutionPlan::new(Graph::default(), vec![]));
assert!(plan.nodes.is_empty());Fields§
§default_policy: EdgePolicyKind§backpressure: BackpressureStrategy§lockfree_queues: boolPrefer lock-free bounded edge queues when available.
This is a runtime knob; it should not appear in serialized runtime plans.
graph_metadata: BTreeMap<String, Value>Graph-level metadata (typed values) propagated into ExecutionContext.graph_metadata.
nodes: Vec<RuntimeNode>§edges: Vec<(NodeRef, String, NodeRef, String, EdgePolicyKind)>§gpu_segments: Vec<GpuSegment>§gpu_edges: Vec<EdgeBufferInfo>§gpu_entries: Vec<usize>Edges that enter a GPU segment (CPU->GPU).
gpu_exits: Vec<usize>Edges that leave a GPU segment to CPU consumers.
segments: Vec<RuntimeSegment>§schedule_order: Vec<NodeRef>Implementations§
Source§impl RuntimePlan
impl RuntimePlan
Sourcepub fn from_execution(plan: &ExecutionPlan) -> Self
pub fn from_execution(plan: &ExecutionPlan) -> Self
Convert a planner execution plan into a runtime plan.
Trait Implementations§
Source§impl Clone for RuntimePlan
impl Clone for RuntimePlan
Source§fn clone(&self) -> RuntimePlan
fn clone(&self) -> RuntimePlan
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 RuntimePlan
impl Debug for RuntimePlan
Source§impl<'de> Deserialize<'de> for RuntimePlan
impl<'de> Deserialize<'de> for RuntimePlan
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for RuntimePlan
impl PartialEq for RuntimePlan
Source§impl Serialize for RuntimePlan
impl Serialize for RuntimePlan
impl StructuralPartialEq for RuntimePlan
Auto Trait Implementations§
impl Freeze for RuntimePlan
impl RefUnwindSafe for RuntimePlan
impl Send for RuntimePlan
impl Sync for RuntimePlan
impl Unpin for RuntimePlan
impl UnwindSafe for RuntimePlan
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