更新时间:2022-06-22 GMT+08:00

安装和使用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 确认关闭防火墙成功

    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 检查配置文件

      回显如图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

    系统回显如图3所示,表示集群上运行IB驱动自带的OpenMPI成功。