mscclpp.language.collectives
Classes
|
An AllGather collective communication pattern. |
|
An AllReduce collective communication operation. |
|
|
|
Base class for defining collective communication patterns. |
|
A ReduceScatter collective communication operation. |
|
A test collective for validation and testing purposes. |
- class mscclpp.language.collectives.AllGather(num_ranks, chunk_factor, inplace)
Bases:
Collective
An AllGather collective communication pattern.
The AllGather operation is a collective communication pattern where each rank begins with a unique block of data and, by the end of the operation, every process holds the concatenation of all data blocks from all ranks.
This operation creates input buffers sized by chunk_factor and output buffers sized to hold data from all ranks (num_ranks * chunk_factor).
- class mscclpp.language.collectives.AllReduce(num_ranks, chunk_factor, inplace)
Bases:
Collective
An AllReduce collective communication operation.
The AllReduce operation combines data from all ranks using a specified reduction operation (e.g., sum, max, min) and then distributes the final reduced result back to all ranks.
This operation creates input and output buffers both sized to hold the complete dataset (num_ranks * chunk_factor)
- class mscclpp.language.collectives.AllToAll(num_ranks, chunk_factor, inplace)
Bases:
Collective
- class mscclpp.language.collectives.Collective(num_ranks, chunk_factor, inplace)
Bases:
object
Base class for defining collective communication patterns.
Collective serves as the foundation for implementing various collective communication algorithms like AllGather, AllReduce, and ReduceScatter. It defines the common interface and behavior that all collective operations must implement.
- class mscclpp.language.collectives.ReduceScatter(num_ranks, chunk_factor, inplace)
Bases:
Collective
A ReduceScatter collective communication operation.
ReduceScatter performs a reduction operation across all ranks and then scatters the result, with each rank receiving a unique portion of the reduced data. This is the inverse of AllGather.
This operations creates input buffers sized to hold the complete dataset (num_ranks * chunk_factor) and output buffers sized to hold each rank’s portion (chunk_factor).
- class mscclpp.language.collectives.TestCollective(num_ranks, input_size, output_size)
Bases:
Collective
A test collective for validation and testing purposes.
TestCollective provides a simple collective implementation used for testing the DSL functionality with custom input and output buffer sizes.