pub struct Communicator { /* private fields */ }Implementations§
Source§impl Communicator
impl Communicator
pub fn new( _device: CudaDevice, _world_size: i32, _unique_id: UniqueId, _rank: i32, ) -> Result<Self, NcclError>
pub fn split_all(&mut self) -> Result<Self, NcclError>
pub fn split_from( &mut self, _ranks: Vec<i32>, ) -> Result<Option<Self>, NcclError>
pub fn all_reduce( &mut self, _tensor: &TensorCell, _reduce_op: ReduceOp, _stream: &Stream, ) -> Result<NcclStatus, NcclError>
pub fn broadcast( &mut self, _tensor: &TensorCell, _root: i32, _stream: &Stream, ) -> Result<NcclStatus, NcclError>
pub fn reduce( &mut self, _tensor: &TensorCell, _reduce_op: ReduceOp, _root: i32, _stream: &Stream, ) -> Result<NcclStatus, NcclError>
pub fn all_gather( &mut self, _output_cells: &[TensorCell], _input_cell: &TensorCell, _stream: &Stream, ) -> Result<NcclStatus, NcclError>
pub fn all_gather_into_tensor( &mut self, _output_cell: &TensorCell, _input_cell: &TensorCell, _stream: &Stream, ) -> Result<NcclStatus, NcclError>
pub fn reduce_scatter_tensor( &mut self, _output_cell: &TensorCell, _input_cell: &TensorCell, _reduce_op: ReduceOp, _stream: &Stream, ) -> Result<NcclStatus, NcclError>
pub fn send( &mut self, _tensor_cell: &TensorCell, _dst: i32, _stream: &Stream, ) -> Result<NcclStatus, NcclError>
pub fn recv( &mut self, _tensor_cell: &TensorCell, _src: i32, _stream: &Stream, ) -> Result<NcclStatus, NcclError>
pub fn all_to_all_single( &mut self, _output_cell: &TensorCell, _input_cell: &TensorCell, _stream: &Stream, ) -> Result<NcclStatus, NcclError>
pub fn barrier(&mut self, _stream: &Stream) -> Result<NcclStatus, NcclError>
Trait Implementations§
Source§impl Debug for Communicator
impl Debug for Communicator
impl Send for Communicator
impl Sync for Communicator
Auto Trait Implementations§
impl Freeze for Communicator
impl RefUnwindSafe for Communicator
impl Unpin for Communicator
impl UnsafeUnpin for Communicator
impl UnwindSafe for Communicator
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> 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