18 virtual std::shared_ptr<GroupImpl>
split(
int color,
int key = -1) = 0;
Abstract base class of a distributed group implementation.
Definition distributed_impl.h:12
virtual void all_gather(const array &input, array &output)=0
virtual ~GroupImpl()
Definition distributed_impl.h:14
virtual std::shared_ptr< GroupImpl > split(int color, int key=-1)=0
virtual void recv(array &out, int src)=0
virtual void send(const array &input, int dst)=0
virtual void all_sum(const array &input, array &output)=0
Definition distributed.h:12
void recv(Group group, array &out, int src)
Recv an array from the src rank.
void all_sum(Group group, const array &input, array &output)
void send(Group group, const array &input, int dst)
Send an array to the dst rank.
Stream communication_stream()
void all_gather(Group group, const array &input, array &output)
A distributed::Group represents a group of independent mlx processes that can communicate.
Definition distributed.h:24