本文以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通信模式效率,每个节点开启一个进程,获取不同消息粒度下的通信时间
操作步骤
登录弹性高性能计算控制台。
创建一个名为MPI的集群。具体操作,请参见创建集群。
在配置参数时,选择安装intel-mpi 2018和intel-mpi-benchmarks 2019软件。说明创建集群后再安装intel-mpi 2018和intel-mpi-benchmarks 2019软件,也可以完成本测试任务。具体操作,请参见安装软件。
创建一个名为mpitest的sudo用户。具体操作,请参见创建用户。
上传作业文件。更多信息,请参见相关算例。
在左侧导航栏,单击作业。
在集群列表中选择目标集群,单击创建作业。
在创建作业页面,选择新建文件 > 打开本地文件。
在本地找到并单击IMB.dat文件,单击打开。
创建作业脚本并提交作业。
在创建作业页面,选择新建文件 > 使用文件模板 > pbs demo。
按下图完成作业配置,单击确认提交作业。
作业文件配置如下:
#!/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,请修改为您的集群节点名称。
查看作业结果。
在集群页面,找到HPL.test集群,单击远程连接。
在远程连接页面,输入集群用户名、登录密码和端口,单击ssh连接。
执行如下命令,查看HPL作业结果文件。
cat /home/mpitest/IMB-pingpong
本次测试结果如下图所示。