分布式通信

分布式通信#

MLX 提供了一个使用 MPI 的分布式通信包。MPI 库在运行时加载;如果 MPI 可用,则分布式通信也可用。

Group

一个mlx.core.distributed.Group代表一组可以通信的独立mlx进程。

is_available()

检查通信后端是否可用。

init([strict, backend])

初始化通信后端并创建全局通信组。

all_sum(x, *[, group, stream])

全部求和。

all_gather(x, *[, group, stream])

从所有进程中收集数组。

send(x, dst, *[, group, stream])

将数组从当前进程发送到组中具有dst等级的进程。

recv(shape, dtype, src, *[, group, stream])

从排名为 src 的进程中接收一个形状为 shape 且数据类型为 dtype 的数组。

recv_like(x, src, *[, group, stream])

从排名为src的进程中接收一个形状和类型与x相同的数组。