
# 安装和使用IB驱动自带的Open MPI
#### 操作场景
该任务指导用户在鲲鹏BMS集群上运行IB驱动自带的MPI应用（以版本4.0.2a1为例）。
#### 前提条件
- 已配置BMS集群间互相免密登录。
- 集群中所有的BMS，均已安装IB驱动自带的OpenMPI。
 
#### 操作步骤
1. 关闭防火墙。 
   1. 登录集群中任意一台BMS。
   
   2. 执行以下命令，关闭BMS防火墙。
      **# service firewalld stop**
      **# iptables -F**
      
   
   3. 执行以下命令，查看防火墙是否关闭成功。
      **# service firewalld status**
      图1确认关闭防火墙成功   
      ![](https://support.huaweicloud.com/usermanual-hpc/zh-cn_image_0231452954.png "点击放大")
      
      
   
   4. 依次登录集群中所有BMS，重复执行[步骤1.2]～[步骤1.3]，关闭所有BMS的防火墙。
   
   
   
   
2. 修改配置文件。 
   1. 登录集群中任意一台BMS, 执行以下命令，添加hosts配置文件。
      **# vi /etc/hosts**
      添加的内容为集群中所有BMS的私网IP和主机名，例如：
      **192.168.1.138 bms-arm-ib-0001**
      **192.168.1.45 bms-arm-ib-0002**
      **...**
      
   
   2. 执行以下命令，添加hostfile文件。 **$vi hostfile**
      添加集群中所有BMS的主机名，以及对应的核数(假设为2核)，例如：
      **bms-arm-ib-0001 slots=2**
      **bms-arm-ib-0002 slots=2**
      **...**
      
   
   3. 依次登录集群中所有BMS，重复执行[步骤2.1]～[步骤2.2]。
   
   
   
   
3. 运行MPI benchmark。 
   1. 在任意一台BMS中执行以下命令，检验hostfile文件是否配置成功。 **$ mpirun -np 2 -pernode --hostfile hostfile -mca btl_openib_if_include "mlx5_0:1" -x MXM_IB_USE_GRH=y hostname**
      图2检查配置文件   
      ![](https://support.huaweicloud.com/usermanual-hpc/zh-cn_image_0231452955.png "点击放大")
      
      回显如[图2]所示，显示集群中所有BMS的主机名，则表示hostfile文件配置成功。
      
   
   2. 在任意一台BMS中执行以下命令，运行MPI benchmark，运行时指定hostfile路径。 以两个BMS为例：
      **$ mpirun -np 2 -pernode --hostfile hostfile -mca btl_openib_if_include "mlx5_0:1" -x MXM_IB_USE_GRH=y /usr/mpi/gcc/openmpi-4.0.2a1/tests/imb/IMB-MPI1 PingPong**
      图3集群运行IB驱动自带OpenMPI   
      ![](https://support.huaweicloud.com/usermanual-hpc/zh-cn_image_0231452956.png "点击放大") 
   
   
   
   系统回显如[图3]所示，表示集群上运行IB驱动自带的OpenMPI成功。
   
   
 
