CPU的HPL基准测试


一、HPL介绍

高性能计算--HPC(High performance computing), 通常指使用很多处理器或集群中的几台计算机的系统。高性能集群上运行的程序一般使用并行算法,把一个大的问题根据一定的规则切分为许多小的子问题,在集群中的不同节点上进行计算,而这些小问题的处理结果,经过处理可合并为原问题的最终结果。由于这些小问题的计算是并行完成的,所以可以缩短问题的处理时间。

HPL(High Performance Linpack)是并行计算集群的测试工具,通过调整测试文件中的矩阵大小、CPU数量等测试参数,执行HPL测试程序来获取机器的最佳性能,衡量结果是浮点运算/秒(Flops),可以并行对单个处理器或分布式处理器进行基准测试。

编译HPL需要两个库,一个是MPI 库,另一个是BLAS(Basic Linear Algebra Subprograms)或VSIPL(Vector Signal Image Processing Library),可以从HPL 主页相关链接下载后编译。

基于GPU的基准测试 

 

二、HPL安装

1、安装编译器(GCC和GFortran)

# yum install -y gcc gcc-c++ gcc-gfortran glibc glibc-devel make

 

2、安装MPI

# yum install -y mpich-3.2-devel mpich-3.2

 

3、安装OpenBLAS (向量和矩阵运算库函数)

# wget https://github.com/xianyi/OpenBLAS/archive/v0.3.9.tar.gz -O OpenBLAS-0.3.9.tgz
# tar zxvf OpenBLAS-0.3.9.tar.gz # cd OpenBLAS-0.3.9 # make CC=gcc FC=gfortran # make PREFIX=/usr/local/openblas install

 

4、下载并解压HPL

# wget https://www.netlib.org/benchmark/hpl/hpl-2.3.tar.gz
# tar -xzvf hpl-2.3.tar.gz # cd hpl-2.3 # cp setup/Make.Linux_PII_CBLAS ./

 

5、编辑Make.Linux_PII_CBLAS文件

# vim Make.Linux_PII_CBLAS
SHELL = /bin/sh
CD = cd
CP = cp
LN_S = ln -s
MKDIR = mkdir
RM = /bin/rm -f
TOUCH = touch
ARCH = Linux_PII_CBLAS
TOPdir = /usr/local/hpl-2.3
INCdir = $(TOPdir)/include
BINdir = $(TOPdir)/bin/$(ARCH)
LIBdir = $(TOPdir)/lib/$(ARCH)
HPLlib = $(LIBdir)/libhpl.a 
MPdir = /usr/lib64/mpich-3.2
MPinc = -I$(MPdir)/include
MPlib = $(MPdir)/lib/libmpi.so
LAdir = /usr/local/openblas
LAinc =
LAlib = $(LAdir)/lib/libopenblas.a
F2CDEFS =
HPL_INCLUDES = -I$(INCdir) -I$(INCdir)/$(ARCH) $(LAinc) $(MPinc) -lpthread
HPL_LIBS = $(HPLlib) $(LAlib) $(MPlib) -lpthread
HPL_OPTS = -DHPL_CALL_CBLAS
HPL_DEFS = $(F2CDEFS) $(HPL_OPTS) $(HPL_INCLUDES)
CC = /usr/lib64/mpich-3.2/bin/mpicc
CCNOOPT = $(HPL_DEFS)
CCFLAGS = $(HPL_DEFS) -fomit-frame-pointer -O3 -funroll-loops
LINKER = /usr/lib64/mpich-3.2/bin/mpif77
LINKFLAGS = $(CCFLAGS)
ARCHIVER = ar
ARFLAGS = r
RANLIB = echo

 

6、编译HPL

# make arch=Linux_PII_CBLAS

 

7、测试HPL

# cd ./hpl-2.3/bin/Linux_PII_CBLAS # /usr/lib64/mpich-3.2/bin/mpirun -np 4 ./xhpl > HPL-Benchmark.txt

 

HPL.dat文件参考如下
https://www.advancedclustering.com/act_kb/tune-hpl-dat-file
mpirun的np值要等于HPL.dat的(P x Q)值

多节点并行测试

# mpirun -np 8 --host node1,node2 ./xhpl > HPL-Benchmark.txt

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM