比较与torch.distributed.init_process_group的功能差异
torch.distributed.init_process_group
torch.distributed.init_process_group(
backend,
init_method=None,
timeout=datetime.timedelta(0, 1800),
world_size=-1,
rank=-1,
store=None,
group_name=''
)
mindspore.communication.init
mindspore.communication.init(backend_name=None)
更多内容详见mindspore.communication.init。
使用方式
PyTorch:该接口支持的集合通信有3种:MPI、Gloo、NCCL。该接口在初始化backend
的同时,还提供world_size
、rank
和timeout
等内容的配置。
MindSpore:该接口支持的集合通信有3种:HCCL、NCCL、MCCL。而world_size
、rank
和timeout
等内容的配置并不在该接口中设置,调用该接口之前,需设置相应的环境变量。
分类 |
子类 |
PyTorch |
MindSpore |
差异 |
---|---|---|---|---|
参数 |
参数1 |
backend |
backend_name |
功能一致,参数名有差异,且支持的集合通信后端有差异 |
参数2 |
init_method |
- |
PyTorch:初始化方法,MindSpore无此参数 |
|
参数3 |
timeout |
- |
PyTorch:超时阈值,MindSpore无此参数且需在调用该接口之前配置相应环境变量 |
|
参数4 |
world_size |
- |
PyTorch:通信域内设备数量,MindSpore无此参数且需在调用该接口之前配置相应环境变量 |
|
参数5 |
rank |
- |
PyTorch:当前进行rank,MindSpore无此参数且需在调用该接口之前配置相应环境变量 |
|
参数6 |
store |
- |
PyTorch:储存key/value标志,MindSpore无此参数 |
|
参数7 |
group_name |
- |
PyTorch:通信域名称,MindSpore无此参数 |