并行程序设计——HPCC性能测试branchmark

HPCC branchmark测试使用

在使用过程中参考了在ubuntu下测试本机的HPCC分数这一篇博文。由于我的环境和这篇文章有所不同,该测试是在学校的超级计算机上完成的,相关配置有所差别。

1. 下载

HPC Chellenge下载对应的源文件hpcc-1.x.x.tar.gz。将安装包传输到超级计算机对应的个人文件夹下。
使用命令行在合适的位置解压文件

tar xzvf hpcc.1.x.x.tar.gz

2. 构建MAKE文件

进入目录 ./hpcc.1.5.0/hpl/setup,该目录下保存有多种构建好的MAKE文件脚本示例。根据其命名,可以看出对应适合的系统。
将其复制到上级目录./hpcc1.5.0/hpl中,修改Make.xxx文件。具体修改项目如下:

MPdir        = /home/andywang/mpich-install			    //本机安装mpi的位置
MPinc        = -I$(MPdir)/include 						//mpi头文件所在的位置
MPlib        = $(MPdir)/lib/libmpi.a 					//mpi静态库所在的位置

LAdir        = $(HOME)/clapack/lib 						//blas所在的位置
LAinc        = 											//HPCC没有用到blas头文件,可以空着
LAlib        = $(LAdir)/blas_LINUX.a $(LAdir)/lapack_LINUX.a $(LAdir)/libf2c.a
LINKER       = $(CC)

根据自己计算的具体情况,选择对应的路径和位置。可以使用which等命令来协助查找本机的相关可执行文件的路径。

在我的使用环境中,可以配置为:

# MPI 部分:
MPdir		= /usr/local/mpi3-icc13
MPinc		= -I$(MPdir)/include
MPlib		= -L$(MPdir)/include

# LA 部分
LAdir		= /opt/intel/mkl
LAinc		= -I$(LAdir)/include
LAlib		= -L$(LAdir)/lib/intel64/ $(LAdir)/lib/intel64/libmkl_intel_lp64.a -Wl,--start-group $(LAdir)/lib/intel64/libmkl_sequential.a $(LAdir)/lib/intel64/libmkl_core.a -Wl,--end-group -L $(LAdir)/lib/intel64/ -lpthread -lm

# CC 部分
CC			= mpicc
CCNOOPT		= $(HPL_DEFS)
CCFLAGS		= $(HPL_DEFS) -fomit-frame-pointer -O3 -funroll-loops -Wall

# Linker 部分
LINKER		= mpicc
LINKFLAGS	= -L$(LAdir)/lib/intel64

3. 编译

hpl上级目录,即目录./hpcc.1.5.0/下进行编译。使用命令如下,其中xxx为所修改的文件后缀。

make arch = xxx

如果希望默认为根据某个Make文件编译,可以在./hpcc.1.5.0/hpl/Make.top中将arch=UNKONWN修改为对应的文件后缀。

在我的环境中,编译过程中出现了报错信息stream.c文件a,b,c未定义。经过查阅相关文档,发现我的环境编译器不支持C语言中的restrict,可以通过修改./hpcc.1.5.0/hpl/Stream/stream.c解决问题。

在编译过程中,可能遇到其他错误,通过排查,一般能够发现对应的路径或者是文件问题所在。按照错误信息解决即可。常见有某些文件没有找到,一般是错误设置了路径,查看Make文档中对应的路径设置即可。

4. 运行

在正常的版本的mpi下,可以使用如下命令行运行。在某些超级计算机上面运行,根据运行的相关要求,将命令行中的mpiexec更换为对应提供的运行命令即可。

mpiexec  64 ./hpcc 

通过该命令运行,可能会报错cannot open file hpccinf.txt。此时检查目录./hpcc.1.5.0/下是否存在文件_hpccinf.txt,如果有,重命名为hpccinf.txt即可。
还有可能报错Need at least 4 processes for these tests,此时根据要求指定运行线程数大于4即可。或者是修改文件./hpcc-1.5.0/hpccinf.txt,将Ps和Qs的积(Ps*Qs)减小即可。

5. 结果

运行结束后,没有任何提示信息。会在目录./hpcc.1.5.0/下生成文件hpccoutf.txt,该文件为此次测试的详细结果。

猜你喜欢

转载自blog.csdn.net/weixin_43762938/article/details/108598950