全部产品

使用IMB软件和MPI通信库测试E-HPC通信性能

本文以IMB软件和MPI通信库为例介绍如何测试E-HPC集群的通信性能。

背景信息

IMB(Intel MPI Benchmarks)用于评估HPC集群在不同消息粒度下节点间点对点、全局通信的效率。

MPI(Message Passing Interface)是支持多编程语言编程的并行计算通信库,具有高性能、大规模性、可移植性、可扩展性等特点。

准备工作

测试前您需要在本地准备好算例文件IMB.dat,文件中包含了IMB运行的参数。以下为算力文件的示例,您可以在测试过程中根据实际情况调整参数。

/opt/intel-mpi-benchmarks/2019/IMB-MPI1 -h   #查看IMB支持的通信模式及参数说明

cd /home/<user>/<work_dir>    #非root用户下执行

/opt/intel/impi/2018.3.222/bin64/mpirun -genv I_MPI_DEBUG 5 -np 2 -ppn 1 -host <node0>,<node1> /opt/intel-mpi-benchmarks/2019/IMB-MPI1 pingpong   #测试两节点间pingpong通信模式效率,获取通信延迟和带宽,-genv I_MPI_DEBUG 打印mpi debug信息;-np 指定mpi总进程数
;-ppn 指定每个节点的进程数
;-host 指定任务节点列表
;-npmin 指定最少运行的进程数
-msglog 指定消息片粒度范围

/opt/intel/impi/2018.3.222/bin64/mpirun -genv I_MPI_DEBUG 5 -np <N*2> -ppn 2 -host <node0>,...,<nodeN> /opt/intel-mpi-benchmarks/2019/IMB-MPI1 -npmin 2 -msglog 19:21 allreduce   #测试N节点间allreduce通信模式效率,每个节点开启两个进程,获取不同消息粒度下的通信时间

/opt/intel/impi/2018.3.222/bin64/mpirun -genv I_MPI_DEBUG 5 -np <N> -ppn 1 -host <node0>,...,<nodeN> /opt/intel-mpi-benchmarks/2019/IMB-MPI1 -npmin 1 -msglog 15:17 alltoall   #测试N节点间alltoall通信模式效率,每个节点开启一个进程,获取不同消息粒度下的通信时间


操作步骤

  1. 登录弹性高性能计算控制台

  2. 创建一个名为MPI的集群。具体操作,请参见创建集群

    在配置参数时,选择安装intel-mpi 2018和intel-mpi-benchmarks 2019软件。
    说明

    创建集群后再安装intel-mpi 2018和intel-mpi-benchmarks 2019软件,也可以完成本测试任务。具体操作,请参见安装软件

    MPI-1
  3. 创建一个名为mpitest的sudo用户。具体操作,请参见创建用户

  4. 上传作业文件。更多信息,请参见相关算例

    1. 在左侧导航栏,单击作业

    2. 集群列表中选择目标集群,单击创建作业

    3. 创建作业页面,选择新建文件 > 打开本地文件

    4. 在本地找到并单击IMB.dat文件,单击打开

  5. 创建作业脚本并提交作业。

    1. 创建作业页面,选择新建文件 > 使用文件模板 > pbs demo

    2. 按下图完成作业配置,单击确认提交作业。

      作业

      作业文件配置如下:

      #!/bin/sh
      #PBS -j oe
      #PBS -l select=2:ncpus=8:mpiprocs=1  
      #本示例申请2个计算节点,每个节点申请8vCPU,使用一个MPI任务。实际测试中根据节点配置进行设置CPU核数。
      
      export MODULEPATH=/opt/ehpcmodulefiles/
      module load intel-mpi/2018
      module load intel-mpi-benchmarks/2019
      
      echo "run at the beginning"
      /opt/intel/impi/2018.3.222/bin64/mpirun -genv I_MPI_DEBUG 5 -np 2 -ppn 1 -host compute000,compute001 /opt/intel-mpi-benchmarks/2019/IMB-MPI1 pingpong > IMB-pingpong#本示例申请2个计算节点为compute000,compute001,请修改为您的集群节点名称。
  6. 查看作业结果。

    1. 集群页面,找到HPL.test集群,单击远程连接

    2. 远程连接页面,输入集群用户名、登录密码和端口,单击ssh连接

    3. 执行如下命令,查看HPL作业结果文件。

      cat  /home/mpitest/IMB-pingpong

      本次测试结果如下图所示。

      结果new