mindspore.mint.distributed.init_process_group

查看源文件
mindspore.mint.distributed.init_process_group(backend='hccl', init_method=None, timeout=None, world_size=- 1, rank=- 1, store=None, pg_options=None, device_id=None)[源代码]

初始化通信服务并创建默认通讯group(group=GlobalComm.WORLD_COMM_GROUP)。

说明

  • 当前接口不支持GPU、CPU版本的MindSpore调用。

  • 在Ascend硬件平台下,这个接口的设置需要在创建Tensor和Parameter之前,以及所有算子和网络的实例化和运行之前。

参数:
  • backend (str,可选) - 分布式后端的名称,默认为 "hccl",且目前只能设置为hccl。

  • init_method (str, 可选) - 初始化通讯域时的URL配置,默认为 None

  • timeout (timedelta, 可选) - 设置接口的超时配置,默认为 None。目前,仅在使用 init_method 或者 store 进行主机端集群网络配置时,才支持该参数。

  • world_size (int, 可选) - 配置初始化时全局通讯的卡数,默认为 -1

  • rank (int, 可选) - 设置当前设备卡的卡号,默认为 -1

  • store (Store, 可选) - 存储key/value数据的对象,用于进程间通讯地址、连接信息的交换,默认为 None。目前,仅支持 TCPStore 类型。

  • pg_options (ProcessGroupOptions, 无效参数) - 针对创建的通讯group设置特殊配置策略。该参数为预留参数,当前设置不生效。

  • device_id (int, 无效参数) - 设置当前进程使用的NPU卡卡号。该参数为预留参数,当前设置不生效。

异常:
  • ValueError - 参数 backend 的值不是 "hccl"

  • ValueError - 参数 world_size 的值非 -1,且与实际通讯集群数不一致。

  • ValueError - 同时设置参数 init_methodstore

  • ValueError - 当使用 init_methodstore 初始化方式时,参数 world_size 未被正确设置为正整数。

  • ValueError - 当使用 init_methodstore 初始化方式时,参数 rank 未被正确设置为非负整数。

  • RuntimeError - 1)硬件设备类型无效;2)后台服务无效;3)分布式计算初始化失败;4)后端是HCCL的情况下,未设置环境变量 RANK_ID 或 MINDSPORE_HCCL_CONFIG_PATH 的情况下初始化HCCL服务。

支持平台:

Ascend

样例:

说明

运行以下样例之前,需要配置好通信环境变量。

针对Ascend设备,推荐使用msrun启动方式,无第三方以及配置文件依赖。详见 msrun启动

>>> import mindspore as ms
>>> from mindspore.mint.distributed import init_process_group, destroy_process_group
>>> ms.set_device(device_target="Ascend")
>>> init_process_group()
>>> destroy_process_group()