Updated on 2022-05-09 GMT+08:00

Intel MPI

Scenarios

This section describes how to run Intel MPI (version l_mpi_2017.3.196 is used as an example) in a BMS cluster.

Prerequisites

  • Password-free login has been configured between BMSs in the cluster.
  • Spectrum MPI has been installed on all BMSs in the cluster.

Procedure

  1. Disable the firewall.

    1. Log in to a BMS in the cluster.
    2. Run the following command to disable the BMS firewall:

      # service firewalld stop

      # iptables -F

    3. Run the following command to check whether the firewall has been disabled:

      # service firewalld status

      Figure 1 Disabled firewall
    4. Log in to all other BMSs in the cluster and repeat 1.b to 1.c to disable firewalls on all BMSs.

  2. Modify the configuration file.

    1. Log in to a BMS in the cluster.
    2. Run the following command to obtain the BMS hostname:

      $ hostname

      Figure 2 Viewing the BMS hostname
    3. Log in to all other BMSs in the cluster and repeat 1.b to 2.b to obtain hostnames of all BMSs.
    4. Log in to a BMS in the cluster.
    5. Run the following command to add the hosts configuration file:

      # vi /etc/hosts

      Add the private network IP addresses and hostnames of all BMSs in the cluster. For example, run the following commands:

      192.168.0.1 bms-0004

      192.168.0.2 bms-0005

      ...

    6. Run the following command to add the hostfile file:

      $vi hostfile

      Add hostnames of all BMSs in the cluster, for example:

      bms-0004

      bms-0005

      ...

    7. Log in to other BMSs in the cluster and repeat 2.e to 2.f.

  3. Run Intel MPI in the BMS cluster:

    For example, there are two BMSs in the cluster. Then, run the following command:

    $ mpirun -perhost 2 -np 12 -machinefile hostfile /home/rhel/hello

    Figure 3 Successful execution of Intel MPI in the BMS cluster

    Specify the path of hostfile when running it. The path of the executable file hello must be absolute. All executable files in the cluster must be in the same directory.