分布式并行启动方式
启动方式
目前GPU、Ascend和CPU分别支持多种启动方式。主要有msrun
、动态组网、mpirun
和rank table
四种方式:
msrun: msrun 是动态组网的封装,允许用户使用单命令行指令在各节点拉起分布式任务,安装MindSpore后即可使用。此方式不依赖第三方库以及配置文件,具有容灾恢复功能,安全性较好,支持三种硬件平台。建议用户优先使用此种启动方式。
动态组网:动态组网需要用户手动拉起多进程以及导出环境变量,是 msrun 的具体实现,Parameter Server训练模式建议使用此方式,其余分布式场景建议使用 msrun 。
mpirun:此方式依赖开源库OpenMPI,启动命令简单,多机需要保证两两之间免密登录,推荐有OpenMPI使用经验的用户使用此种启动方式。
rank table:此方式需要在Ascend硬件平台使用,不依赖第三方库。手动配置rank_table文件后,就可以通过脚本启动并行程序,多机脚本一致,方便批量部署。
警告
rank_table 启动方式将在MindSpore 2.4版本废弃。
四种启动方式的硬件支持情况如下表:
GPU |
Ascend |
CPU |
|
---|---|---|---|
|
支持 |
支持 |
支持 |
动态组网 |
支持 |
支持 |
支持 |
|
支持 |
支持 |
不支持 |
|
不支持 |
支持 |
不支持 |