如何使用HPL测试E 您所在的位置:网站首页 sn7504k性能 如何使用HPL测试E

如何使用HPL测试E

#如何使用HPL测试E| 来源: 网络整理| 查看: 265

背景信息

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

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

准备工作

创建一个E-HPC集群。具体操作,请参见使用向导创建集群。

配置集群时,软硬件参数配置如下:

参数

说明

硬件参数

部署方式为精简,包含1个管控节点和1个计算节点,规格如下:

管控节点:采用ecs.c6.large实例规格,该规格配置为2 vCPU,4 GiB内存。

计算节点:采用ecs.scch5.16xlarge实例规格,该规格配置为64 vCPU,32个物理内核,192 GiB内存。

软件参数

镜像选择CentOS 7.6公共镜像,调度器选择pbs。

创建一个集群用户。具体操作,请参见创建用户。

集群用户用于登录集群,进行编译软件、提交作业等操作,配置用户权限时,权限组请选择sudo权限组

安装软件。具体操作,请参见安装软件。

需安装的软件如下:

linpack,版本为2018。

intel-mpi,版本为2018。

步骤一:准备算例文件

测试前您需要在本地准备好算例文件HPL.dat,文件包含了HPL运行的参数。如下示例是在单台scch5实例上运行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的幂时性能最优。

步骤二:提交作业

登录弹性高性能计算控制台。

在左侧导航栏,单击作业

在集群列表中选择目标集群。

上传算例文件。

作业页面,单击作业文件编辑,然后单击浏览集群文件

在弹出的对话框中输入集群用户名和密码,单击确定

打开要上传算例文件的路径,右键文件夹,选择上传文件

建议上传到集群用户的共享home目录下,例如集群用户名为hpltest,则上传到/home/hpltest目录下。

选择步骤一准备好的算例文件HPL.dat,单击打开

创建作业脚本文件。

在算例文件所在路径,右键文件夹,单击新建文件,然后输入文件名(例如hpl.pbs),单击确定

打开新建的hpl.pbs脚本文件,拷贝以下脚本内容后保存。

脚本内容示例如下:

说明

本示例测试单节点的实测浮点峰值。如果您想测试多个节点的实测浮点峰值,可以修改如下配置文件。

#!/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 /opt/linpack/2018/xhpl_intel64_static > hpl-ouput #测试单节点的浮点性能,为运行作业的节点名称 #mpirun -n -ppn 1 -host ,..., /opt/linpack/2018/xhpl_intel64_static > hpl-ouput #测试多节点的浮点性能

提交作业。

作业页面,单击提交作业

配置作业相关参数。

作业执行命令请填写作业脚本文件所在路径,例如/home/hpltest/hpl.pbs。其他参数保持默认即可。

单击右上角的提交作业

在弹出的对话框中输入集群用户名和密码,单击确定

查看结果

作业运行完成后,您可以查看作业结果。

集群页面,找到目标集群,单击远程连接

远程连接页面,输入集群用户名和密码,单击ssh连接

执行以下命令,查看作业结果。

cat /home/hpltest/hpl-ouput

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

结果



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有