pub trait CommunicationBackend: SubmissionBackend {
type CommunicationGroup: ?Sized;
type CommunicationRoute: ?Sized;
type CommunicationCompletion: Completion<Error = Self::CommunicationError> + BoundedCompletion<Error = Self::CommunicationError>;
type CommunicationError: Error + Send + Sync + 'static;
// Required method
fn submit_local_dependencies<'a, I>(
values: I,
executor: &Self::Executor,
) -> Result<Submission<(), Self::CommunicationCompletion>, Self::CommunicationError>
where Self::Tensor: 'a,
I: IntoIterator<Item = &'a Self::Tensor>;
}Expand description
Common opaque handles and exact completion used by communication extensions.
This trait deliberately declares no operation. Backends implement only the fine-grained operation traits selected for a concrete architecture.
Required Associated Types§
Sourcetype CommunicationGroup: ?Sized
type CommunicationGroup: ?Sized
Backend-native realization of one opaque communication group.
Sourcetype CommunicationRoute: ?Sized
type CommunicationRoute: ?Sized
Backend-native realization of one opaque directed route.
Sourcetype CommunicationCompletion: Completion<Error = Self::CommunicationError> + BoundedCompletion<Error = Self::CommunicationError>
type CommunicationCompletion: Completion<Error = Self::CommunicationError> + BoundedCompletion<Error = Self::CommunicationError>
Exact completion retaining tensors, buffers, groups, routes, and streams.
Sourcetype CommunicationError: Error + Send + Sync + 'static
type CommunicationError: Error + Send + Sync + 'static
Stable mechanism failure with no architecture-family policy.
Required Methods§
Sourcefn submit_local_dependencies<'a, I>(
values: I,
executor: &Self::Executor,
) -> Result<Submission<(), Self::CommunicationCompletion>, Self::CommunicationError>
fn submit_local_dependencies<'a, I>( values: I, executor: &Self::Executor, ) -> Result<Submission<(), Self::CommunicationCompletion>, Self::CommunicationError>
Submits evaluation of rank-local tensor dependencies before a communication-readiness agreement.
The returned communication completion must retain every submitted tensor and native execution resource through exact completion or safe cancellation teardown. This operation does not select or infer a collective group.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".