-
单节点多程序
-
在当前设备中创建10个进程,执行hello:mpiexec -n 10 ./hello
-
-
多节点单程序
-
假设机器A:192.168.1.10,机器B:192.168.1.20
-
机器A,机器B均安装ssh(参考https://blog.csdn.net/ustczhng2012/article/details/113801245)
-
确保机器A,机器B之间互相访问不需要密码
-
编辑每个机器的/etc/hosts,在机器A中增加192.168.1.20 host_B,在机器B中增加192.168.1.10 host_A
-
编辑hostfile文件,确认每个机器发起进程的上限
-
# 如果执行中用到的-n number,number中的前10个会在host_A中执行,接下来的会在host_B中执行
host_A: 10
host_B: 20
# 注意事项:1.上述执行方式中,在host_A和host_B中必须有相同路径、相同名称的可执行文件hello,否则程序会报错,找不到文件。 2.可能会提示需要安装ssh-askpass,按照提示安装即可。
-
使用mpiexec执行配置: mpiexec -f hostfile -n 30 ./hello
-
-
多节点多程序
-
# mpi的前是个rank执行hello程序,接下来的20个rank执行world程序
mpiexec -f hostfile -n 10 ./hello : -n 20 ./world
-