分布式通信

分布式通信#

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 相似的数组。