Skip to main content

CollectiveConfig

Struct CollectiveConfig 

Source
pub struct CollectiveConfig { /* private fields */ }
Expand description

Parameter struct for setting up and getting parameters for collective operations. Used in most collective api calls. This config is per-node. It is passed to reduce.

Implementations§

Source§

impl CollectiveConfig

Source

pub fn with_num_devices(self, num: usize) -> Self

Selects the number of devices (local peers) on the current node

Source

pub fn with_local_all_reduce_strategy(self, strategy: AllReduceStrategy) -> Self

Selects an all-reduce strategy to use on the local level.

In multi-node contexts, use of the Ring strategy in the local level may be less advantageous. With multiple nodes, the global all-reduce step is enabled, and its result is redistributed to all devices. The Ring strategy inherently distributes the result, which in this context would not be necessary.

It is recommended to use a tree strategy locally, and a ring strategy globally.

Source

pub fn with_local_reduce_strategy(self, strategy: ReduceStrategy) -> Self

Selects a reduce strategy to use on the local level.

Source

pub fn with_local_broadcast_strategy(self, strategy: BroadcastStrategy) -> Self

Selects a broadcast strategy to use on the local level.

Source

pub fn with_num_nodes(self, n: u32) -> Self

Set the number of nodes in the collective

This parameter is a global parameter and should only be set in multi-node contexts

Source

pub fn with_global_address(self, addr: Address) -> Self

Set the network address of the Global Collective Orchestrator

This parameter is a global parameter and should only be set in multi-node contexts

Source

pub fn with_node_address(self, addr: Address) -> Self

Define the address for this node

This parameter is a global parameter and should only be set in multi-node contexts

Source

pub fn with_data_service_port(self, port: u16) -> Self

Selects the network port on which to expose the tensor data service used for peer-to-peer tensor downloading.

This parameter is a global parameter and should only be set in multi-node contexts

Source

pub fn with_global_all_reduce_strategy( self, strategy: AllReduceStrategy, ) -> Self

Selects an all-reduce strategy to use on the global level.

This parameter is a global parameter and should only be set in multi-node contexts. See the local strategy

Source

pub fn with_global_reduce_strategy(self, strategy: ReduceStrategy) -> Self

Selects an reduce strategy to use on the global level.

This parameter is a global parameter and should only be set in multi-node contexts. See the local strategy

Source

pub fn with_global_broadcast_strategy(self, strategy: BroadcastStrategy) -> Self

Selects an broadcst strategy to use on the global level.

This parameter is a global parameter and should only be set in multi-node contexts. See the local strategy

Source

pub fn is_valid(&self) -> bool

Returns whether the config is valid. If only some required global-level parameters are defined and others are not, the config is invalid.

Trait Implementations§

Source§

impl Clone for CollectiveConfig

Source§

fn clone(&self) -> CollectiveConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CollectiveConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for CollectiveConfig

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for CollectiveConfig

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for CollectiveConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for CollectiveConfig

Source§

fn eq(&self, other: &CollectiveConfig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for CollectiveConfig

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for CollectiveConfig

Source§

impl StructuralPartialEq for CollectiveConfig

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,