Skip to main content

VariableTensorCollective

Trait VariableTensorCollective 

Source
pub trait VariableTensorCollective<B>: IntegerTensorCollective<B>
where B: Backend,
{ // Required methods fn all_to_all_v_float( &self, value: <B as BackendTypes>::FloatTensorPrimitive, send_counts: &[usize], ) -> Result<VariableTensorExchange<<B as BackendTypes>::FloatTensorPrimitive>, Self::Error>; fn all_to_all_v_int( &self, value: <B as BackendTypes>::IntTensorPrimitive, send_counts: &[usize], ) -> Result<VariableTensorExchange<<B as BackendTypes>::IntTensorPrimitive>, Self::Error>; }
Expand description

Variable row exchange for routed/sharded graphs through an explicit original communicator. Every rank enters even with zero rows. Input blocks are in destination-rank order; received blocks are in source-rank order. Trailing axes must be nonzero and match across peers; no implicit expert-to-rank assignment is defined here.

Required Methods§

Source

fn all_to_all_v_float( &self, value: <B as BackendTypes>::FloatTensorPrimitive, send_counts: &[usize], ) -> Result<VariableTensorExchange<<B as BackendTypes>::FloatTensorPrimitive>, Self::Error>

Exchange actual floating row blocks, retaining original floating storage.

Source

fn all_to_all_v_int( &self, value: <B as BackendTypes>::IntTensorPrimitive, send_counts: &[usize], ) -> Result<VariableTensorExchange<<B as BackendTypes>::IntTensorPrimitive>, Self::Error>

Exchange original U8/U32/I32/I64 row blocks without a floating surrogate.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§