Collective Group#

class CollectiveGroup#

Non-owning view over one logical communication group.

Public Functions

CollectiveGroup(
ParallelGroupConfig config,
std::vector<void*> backendHandles
)#
inline ParallelGroupConfig const &config() const noexcept#
inline ParallelType type() const noexcept#
inline int32_t size() const noexcept#
inline int32_t rank() const noexcept#
inline int32_t localDevice() const noexcept#
void *backendHandle(int32_t rank) const noexcept#
bool broadcast(
int32_t rank,
void *buffer,
int32_t count,
CollectiveDataType dataType,
int32_t rootRank,
cudaStream_t stream
) const noexcept#
bool allGather(
int32_t rank,
void const *sendBuffer,
void *recvBuffer,
int32_t sendCount,
CollectiveDataType dataType,
cudaStream_t stream
) const noexcept#
bool allReduceSum(
int32_t rank,
void const *sendBuffer,
void *recvBuffer,
int32_t count,
CollectiveDataType dataType,
cudaStream_t stream
) const noexcept#
inline bool broadcastInt32(
int32_t rank,
void *buffer,
int32_t count,
int32_t rootRank,
cudaStream_t stream
) const noexcept#