MPI多机配置
多机配置步骤
- 配置mpi运行环境,添加环境变量
- 设置用户(用户名统一)
- 布置nfs文件系统,并导出指定目录 /home/antl/cloud
- 配置hosts文件,添加 client(加入的主机),master(当前的主机)主机地址;确保ssh client 可以顺利登陆
- 配置当前master主机别名到client /etc/hosts 文件中
- 把可执行文件拷贝到nfs导出目录:/home/antl/cloud之中
- 在master节点nfs共享文件夹中运行程序:mpirun -n 10 -hosts client,master ./mpi_hello_world
建议参考文档
注意:
STEP 2 : 若用户名已经相同可以跳过 ☺️
STEP 3 : 建议在此处参考下面的ssh免密通信学习参考文章,使用rsa密钥类型
STEP 4 : 使用NPB貌似不需要可执行文件在cloud目录下
cat /etc/exports /home/mpiuser/cloud *(rw,sync,no_root_squash,no_subtree_check)
其中nfs文件配置参数可参考nfs的配置文件/etc/exports - houyongchong - 博客园 (cnblogs.com)
挂载出现问题时注意文件路径😭STEP 5 : 多机运行时,放在共享文件夹(如cloud)的代码不需要每个机器单独编译;但是如果使用NPB,需要在相同路径下每个机器分别编译生成可执行文件
注意:
需要使
ssh root@manger
可以直接免密通信。 例:修改worker3的host文件$ cat /etc/hosts 127.0.0.1 localhost #127.0.1.1 1947 #MPI CLUSTER SETUP 172.50.88.22 manager 172.50.88.54 worker3
hosts文件的格式如下:
IP地址 主机名/域名 ;可参考文章 Linux hosts文件详解及配置_yujkss的博客-优快云博客_linux配置hosts
注意:
- 文章中
mpirun -np 8 is.B.8
应改为mpirun -np 8 ./is.B.8
- NPB的安装目录需一样,其中make出现问题多办为编译环境问题,😭 可参考 阿里云服务器下NPB的安装与测试 - Lzxgg - 博客园 (cnblogs.com) 中的mpi配置。如果还是make报错,可尝试重新
cp make.def.template make.def
不配置,直接编译试试。- 建议尝试IS编译后,尝试其他内核的编译效果。其中IS为C语言编写,其他为fortan
- 参考同篇作者,mpi与NPB整合,有结果 在ubuntu 18上进行NPB和mpiP的整合_dadan9的博客-优快云博客