mpiexec 使用教程:linux版
一、单节点多程序的部署很简单,这里不做详细说明,使用命令:
mpiexec -n 10 ./hello #在当前设备中创建10个进程,执行hello
二、 多节点程序部署
假设有机器A:192.168.1.10, 机器B:192.168.1.20
1. 安装ssh
2. 确保在机器A通过ssh访问B的时候不需要输入密码,即passwdless
3.在/etc/hosts中设置要访问的电脑的节点及映射,比如192.168.1.10 host_A,192.168.1.20 host_B,A和B中都要设置
4.编写hostfile,在hostfile写道
host_A:10 #如果执行中用到的-n number,number中的前10个会在host_A中执行,接下来的20个会在host_B中执行
host_B:20 #执行20个进程
5. 使用mpiexec执行配置
mpiexec -f hostfile -n 30 ./hello
注意事项:
1. 上述执行方式中,在host_A和host_B中必须有相同路径、相同名称的可执行文件hello, 否则程序会报错,找不到文件。
2. 可能会提示需要安装ssh-askpass,按照提示安装即可
三、多节点或单节点执行多程序
mpiexec -f hostfile -n 10 ./hello : -n 20 ./world
这里,mpi的前十个rank执行hello程序,接下来的20个rank执行world程序
参考文章:
https://wiki.mpich.org/mpich/index.php/Using_the_Hydra_Process_Manager