HPC性能——(1)HPC浮点性能

本文介绍如何使用HPL测试E-HPC集群的浮点性能。

背景信息

HPL(The High-Performance Linpack Benchmark)是测试高性能计算集群系统浮点性能的基准。HPL通过对高性能计算集群采用高斯消元法求解一元N次稠密线性代数方程组的测试,评价高性能计算集群的浮点计算能力。

浮点计算峰值是指计算机每秒可以完成的浮点计算次数,包括理论浮点峰值和实测浮点峰值。理论浮点峰值是该计算机理论上每秒可以完成的浮点计算次数,主要由CPU的主频决定。理论浮点峰值=CPU主频×CPU核数×CPU每周期执行浮点运算的次数。本文将为您介绍如何利用HPL测试实测浮点峰值。

准备工作

测试前您需要在本地准备好算例文件HPL.dat,文件包含了HPL运行的参数。如下示例是在单台scch5s实例上运行HPL的推荐配置。

HPLinpack benchmark input file
Innovative Computing Laboratory, University of Tennessee
HPL.out      output file name (if any)
6            device out (6=stdout,7=stderr,file)
1            # of problems sizes (N)
143360 256000 1000         Ns  
1            # of NBs
384 192 256      NBs 
1            PMAP process mapping (0=Row-,1=Column-major)
1            # of process grids (P x Q)
1 2          Ps  
1 2          Qs  
16.0         threshold
1            # of panel fact
2 1 0        PFACTs (0=left, 1=Crout, 2=Right)
1            # of recursive stopping criterium
2            NBMINs (>= 1)
1            # of panels in recursion
2            NDIVs
1            # of recursive panel fact.
1 0 2        RFACTs (0=left, 1=Crout, 2=Right)
1            # of broadcast
0            BCASTs (0=1rg,1=1rM,2=2rg,3=2rM,4=Lng,5=LnM)
1            # of lookahead depth
0            DEPTHs (>=0)
0            SWAP (0=bin-exch,1=long,2=mix)
1            swapping threshold
1            L1 in (0=transposed,1=no-transposed) form
1            U  in (0=transposed,1=no-transposed) form
0            Equilibration (0=no,1=yes)
8            memory alignment in double (> 0)

测试过程中您可以根据节点的硬件配置,调整HPL.dat文件中相关参数,参数的说明如下所示。

* 第5~6行内容:
1            # of problems sizes (N),N表示求解的矩阵数量与规模
143360 256000 1000         Ns

N表示求解的矩阵数量与规模。矩阵规模N越大,有效计算所占的比例也越大,系统浮点处理性能也就越高。但矩阵规模越大会导致内存消耗量越多,如果系统实际内存空间不足,使用缓存、性能会大幅度降低。矩阵占用系统总内存的80%左右为最佳,即N×N×8=系统总内存×80%(其中总内存的单位为字节)。

* 第7~8行内容:
1            # of NBs,NB表示求解矩阵过程中矩阵分块的大小
384 192 256      NBs

求解矩阵过程中矩阵分块的大小。分块大小对性能有很大的影响,NB的选择和软硬件许多因素密切相关。NB值的选择主要是通过实际测试得出最优值,一般遵循以下规律:

    * NB不能太大或太小,一般小于384。
    * NB×8一定是缓存行的倍数。
    * NB的大小和通信方式、矩阵规模、网络、处理器速度等有关系。

一般通过单节点或单CPU测试可以得到几个较好的NB值,但当系统规模增加、问题规模变大,有些NB取值所得性能会下降。因此建议在小规模测试时选择3个性能不错的NB值,再通过大规模测试检验这些选择。

* 第10~12行内容:
1            # of process grids (P x Q),P表示水平方向处理器个数,Q表示垂直方向处理器个数
1 2          Ps  
1 2          Qs

P表示水平方向处理器个数,Q表示垂直方向处理器个数。P×Q表示二维处理器网格。P×Q=系统CPU数=进程数。一般情况下一个进程对应一个CPU,可以得到最佳性能。对于Intel ® Xeon ®,关闭超线程可以提高HPL性能。P和Q的取值一般遵循以下规律:

    * P≤Q,一般情况下P的取值小于Q,因为列向通信量(通信次数和通信数据量)要远大于横向通信。
    * P建议选择2的幂。HPL中水平方向通信采用二元交换法(Binary Exchange),当水平方向处理器个数P为2的幂时性能最优。

操作步骤

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

  2. 创建一个名为HPL.test的集群。

具体操作,请参见创建集群。请注意以下配置参数:

计算节点:选择SCC机型,如ecs.scch5s.16xlarge。
其他软件:选中linpack 2018软件和intel-mpi 2018通信库。

说明

您也可以为已创建的集群安装linpack 2018软件和intel-mpi 2018通信库,具体操作,请参见安装软件
在这里插入图片描述

  1. 创建一个名为hpltest的sudo用户。

    具体操作,请参见[创建用户](https://help.aliyun.com/document_detail/58795.htm#section-s0j-mnx-8cj)。
    
  2. 创建作业文件。
    1. 在左侧导航栏,单击作业
    2. 在集群列表中选择目标集群,单击创建作业
    3. 在创建作业页面,选择新建文件 > 打开本地文件
    4. 在本地找到并单击HPL.dat文件,单击打开
    更多信息,请参见相关算例

  3. 创建作业脚本并提交作业。
    1. 在创建作业页面,选择新建文件 > 使用文件模板 > pbs demo
    2. 按下图完成作业配置,单击确认提交作业。
    作业文件配置如下:
    说明

        本示例测试单节点的实测浮点峰值。如果您想测试多个节点的实测浮点峰值,可以修改如下配置文件。
    
#!/bin/sh
#PBS -j oe
export MODULEPATH=/opt/ehpcmodulefiles/
module load linpack/2018
module load intel-mpi/2018
echo "run at the beginning"
mpirun -n 1 -host <node0> /opt/linpack/2018/xhpl_intel64_static > hpl-ouput   #测试单节点的浮点性能,<node0>为运行作业的节点名称
#mpirun -n <N> -ppn 1 -host <node0>,...,<nodeN> /opt/linpack/2018/xhpl_intel64_static > hpl-ouput   #测试多节点的浮点性能
  1. 查看作业结果。
    1. 在集群页面,找到HPL.test集群,单击远程连接
    2. 在远程连接页面,输入集群用户名、登录密码和端口,单击ssh连接
    3. 分别执行如下两条命令,查看作业结果。
cat  /home/hpltest/hpl-ouput

本次测试结果如下图所示。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传https://img-blog.csdnimg.cn/img_convert/5194a1dc0f2892f25e4ac8233d5a3ed0.png

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值