pub struct PartitionedTextRuntime<A, B, S, P, E, G, R, I, T, U, V>where
B: CommunicationBackend,
G: Borrow<B::CommunicationGroup>,
R: Borrow<B::CommunicationRoute>,
I: CommunicationTensorMetadata<B>,
T: PartitionBoundaryTransport<B, G, R, I>,
U: PartitionOutputPublisher<B, G, R, I>,
V: PartitionCommitAgreement<B, G, R, I>,{ /* private fields */ }Expand description
Complete rank-local runtime installed behind the shared replicated session.
Implementations§
Source§impl<A, B, S, P, E, G, R, I, T, U, V> PartitionedTextRuntime<A, B, S, P, E, G, R, I, T, U, V>where
B: CommunicationBackend,
G: Borrow<B::CommunicationGroup>,
R: Borrow<B::CommunicationRoute>,
I: CommunicationTensorMetadata<B>,
T: PartitionBoundaryTransport<B, G, R, I>,
U: PartitionOutputPublisher<B, G, R, I>,
V: PartitionCommitAgreement<B, G, R, I>,
impl<A, B, S, P, E, G, R, I, T, U, V> PartitionedTextRuntime<A, B, S, P, E, G, R, I, T, U, V>where
B: CommunicationBackend,
G: Borrow<B::CommunicationGroup>,
R: Borrow<B::CommunicationRoute>,
I: CommunicationTensorMetadata<B>,
T: PartitionBoundaryTransport<B, G, R, I>,
U: PartitionOutputPublisher<B, G, R, I>,
V: PartitionCommitAgreement<B, G, R, I>,
Sourcepub fn new(
plan: PartitionedExecutionPlan,
executor: E,
communication: PartitionCommunication<B, G, R, I>,
communication_executor: B::OwnedExecutor,
boundary_transport: T,
output_publisher: U,
commit_agreement: V,
residency: ExecutionResidency,
bounded_policy: Option<P>,
) -> Result<Self, PartitionExecutionError>
pub fn new( plan: PartitionedExecutionPlan, executor: E, communication: PartitionCommunication<B, G, R, I>, communication_executor: B::OwnedExecutor, boundary_transport: T, output_publisher: U, commit_agreement: V, residency: ExecutionResidency, bounded_policy: Option<P>, ) -> Result<Self, PartitionExecutionError>
Pairs one immutable plan with its rank-local executable and opaque resources.
Source§impl<A, B, S, P, ExecutionPolicy, G, R, I, T, U, V> PartitionedTextRuntime<A, B, S, P, LayerwiseTraversalPartitionExecutor<A, B, S, ExecutionPolicy>, G, R, I, T, U, V>where
B: CommunicationBackend<Executor = <<B as NeuralBackend>::Tensor as Tensor>::Context>,
S: RuntimeState<B>,
A: ParallelLayeredArchitecture<B, S>,
ExecutionPolicy: LayerwisePolicy<B, A::Unit>,
G: Borrow<B::CommunicationGroup>,
R: Borrow<B::CommunicationRoute>,
I: CommunicationTensorMetadata<B>,
T: PartitionBoundaryTransport<B, G, R, I>,
U: PartitionOutputPublisher<B, G, R, I>,
V: PartitionCommitAgreement<B, G, R, I>,
B::ParallelContext: Sized,
A::Error: Display,
ExecutionPolicy::Error: Display,
impl<A, B, S, P, ExecutionPolicy, G, R, I, T, U, V> PartitionedTextRuntime<A, B, S, P, LayerwiseTraversalPartitionExecutor<A, B, S, ExecutionPolicy>, G, R, I, T, U, V>where
B: CommunicationBackend<Executor = <<B as NeuralBackend>::Tensor as Tensor>::Context>,
S: RuntimeState<B>,
A: ParallelLayeredArchitecture<B, S>,
ExecutionPolicy: LayerwisePolicy<B, A::Unit>,
G: Borrow<B::CommunicationGroup>,
R: Borrow<B::CommunicationRoute>,
I: CommunicationTensorMetadata<B>,
T: PartitionBoundaryTransport<B, G, R, I>,
U: PartitionOutputPublisher<B, G, R, I>,
V: PartitionCommitAgreement<B, G, R, I>,
B::ParallelContext: Sized,
A::Error: Display,
ExecutionPolicy::Error: Display,
Sourcepub fn forward_with_traversal_hook<'a, H>(
&mut self,
input: A::Input<'a>,
state: &mut S,
context: &<B::Tensor as Tensor>::Context,
hook: &mut H,
) -> PartitionedTraversalResult<B::Tensor, A::ForwardContext, A::Error, ExecutionPolicy::Error>
pub fn forward_with_traversal_hook<'a, H>( &mut self, input: A::Input<'a>, state: &mut S, context: &<B::Tensor as Tensor>::Context, hook: &mut H, ) -> PartitionedTraversalResult<B::Tensor, A::ForwardContext, A::Error, ExecutionPolicy::Error>
Runs one architecture-owned traversal through the selected neutral partitioned base.
Every architecture group must be local. Point-to-point routes, output publication, and phase agreement use the ordinary partitioned session entry instead and are rejected here rather than silently bypassed.
Sourcepub const fn traversal_executor(
&self,
) -> &LayerwiseTraversalPartitionExecutor<A, B, S, ExecutionPolicy>
pub const fn traversal_executor( &self, ) -> &LayerwiseTraversalPartitionExecutor<A, B, S, ExecutionPolicy>
Borrows the installed traversal executor for neutral residency reports.
Auto Trait Implementations§
impl<A, B, S, P, E, G, R, I, T, U, V> Freeze for PartitionedTextRuntime<A, B, S, P, E, G, R, I, T, U, V>where
E: Freeze,
PartitionCommunication<B, G, R, I>: Freeze,
<B as SubmissionBackend>::OwnedExecutor: Freeze,
T: Freeze,
U: Freeze,
V: Freeze,
Option<P>: Freeze,
PhantomData<fn(A, S)>: Freeze,
impl<A, B, S, P, E, G, R, I, T, U, V> RefUnwindSafe for PartitionedTextRuntime<A, B, S, P, E, G, R, I, T, U, V>where
E: RefUnwindSafe,
PartitionCommunication<B, G, R, I>: RefUnwindSafe,
<B as SubmissionBackend>::OwnedExecutor: RefUnwindSafe,
T: RefUnwindSafe,
U: RefUnwindSafe,
V: RefUnwindSafe,
Option<P>: RefUnwindSafe,
PhantomData<fn(A, S)>: RefUnwindSafe,
impl<A, B, S, P, E, G, R, I, T, U, V> Send for PartitionedTextRuntime<A, B, S, P, E, G, R, I, T, U, V>where
E: Send,
PartitionCommunication<B, G, R, I>: Send,
<B as SubmissionBackend>::OwnedExecutor: Send,
T: Send,
U: Send,
V: Send,
Option<P>: Send,
PhantomData<fn(A, S)>: Send,
impl<A, B, S, P, E, G, R, I, T, U, V> Sync for PartitionedTextRuntime<A, B, S, P, E, G, R, I, T, U, V>where
E: Sync,
PartitionCommunication<B, G, R, I>: Sync,
<B as SubmissionBackend>::OwnedExecutor: Sync,
T: Sync,
U: Sync,
V: Sync,
Option<P>: Sync,
PhantomData<fn(A, S)>: Sync,
impl<A, B, S, P, E, G, R, I, T, U, V> Unpin for PartitionedTextRuntime<A, B, S, P, E, G, R, I, T, U, V>where
E: Unpin,
PartitionCommunication<B, G, R, I>: Unpin,
<B as SubmissionBackend>::OwnedExecutor: Unpin,
T: Unpin,
U: Unpin,
V: Unpin,
Option<P>: Unpin,
PhantomData<fn(A, S)>: Unpin,
impl<A, B, S, P, E, G, R, I, T, U, V> UnsafeUnpin for PartitionedTextRuntime<A, B, S, P, E, G, R, I, T, U, V>where
E: UnsafeUnpin,
PartitionCommunication<B, G, R, I>: UnsafeUnpin,
<B as SubmissionBackend>::OwnedExecutor: UnsafeUnpin,
T: UnsafeUnpin,
U: UnsafeUnpin,
V: UnsafeUnpin,
Option<P>: UnsafeUnpin,
PhantomData<fn(A, S)>: UnsafeUnpin,
impl<A, B, S, P, E, G, R, I, T, U, V> UnwindSafe for PartitionedTextRuntime<A, B, S, P, E, G, R, I, T, U, V>where
E: UnwindSafe,
PartitionCommunication<B, G, R, I>: UnwindSafe,
<B as SubmissionBackend>::OwnedExecutor: UnwindSafe,
T: UnwindSafe,
U: UnwindSafe,
V: UnwindSafe,
Option<P>: UnwindSafe,
PhantomData<fn(A, S)>: UnwindSafe,
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