pub struct SpatialExecutionGraph<T> { /* private fields */ }Expand description
Mutable graph builder. Compilation freezes topology and validates transfers.
Implementations§
Source§impl<T> SpatialExecutionGraph<T>
impl<T> SpatialExecutionGraph<T>
Sourcepub fn new(pressure: BackpressurePolicy) -> Self
pub fn new(pressure: BackpressurePolicy) -> Self
Creates an empty graph with explicit input watermarks.
Sourcepub fn add_node(
&mut self,
spec: GraphNodeSpec,
operator: impl GraphOperator<T> + 'static,
) -> RuntimeResult<()>
pub fn add_node( &mut self, spec: GraphNodeSpec, operator: impl GraphOperator<T> + 'static, ) -> RuntimeResult<()>
Adds a uniquely named operator.
Sourcepub fn connect(
&mut self,
from: impl Into<String>,
to: impl Into<String>,
) -> RuntimeResult<()>
pub fn connect( &mut self, from: impl Into<String>, to: impl Into<String>, ) -> RuntimeResult<()>
Adds a directed data edge.
Sourcepub fn declare_transfer(&mut self, transfer: NamedTransfer)
pub fn declare_transfer(&mut self, transfer: NamedTransfer)
Declares a named cross-placement transfer for one edge.
Sourcepub fn compile(self) -> RuntimeResult<CompiledSpatialGraph<T>>
pub fn compile(self) -> RuntimeResult<CompiledSpatialGraph<T>>
Validates topology/placements and builds deterministic fusion groups.
Auto Trait Implementations§
impl<T> Freeze for SpatialExecutionGraph<T>
impl<T> !RefUnwindSafe for SpatialExecutionGraph<T>
impl<T> Send for SpatialExecutionGraph<T>
impl<T> !Sync for SpatialExecutionGraph<T>
impl<T> Unpin for SpatialExecutionGraph<T>
impl<T> UnsafeUnpin for SpatialExecutionGraph<T>
impl<T> !UnwindSafe for SpatialExecutionGraph<T>
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