编译HPL性能测试工具

下载HPL软件

wget https://www.netlib.org/benchmark/hpl/hpl-2.3.tar.gz --no-check-certificate

安装OpenBLAS

git clone https://github.com/xianyi/OpenBLAS.git
cd OpenBLAS && make
make PREFIX=/data/software/OpenBLAS install

修改LD_LIBRARY_PATH

vim ~/.bashrc
#在文件末尾添加
export LD_LIBRARY_PATH=/data/software/OpenBLAS/lib:$LD_LIBRARY_PATH
#使更改生效
source ~/.bashrc

解压软件修改编译参数

tar -xf hpl-2.3.tar.gz
cd hpl-2.3
cp setup/Make.Linux_PII_CBLAS Make.Linux

修改参数(使用openmpi)

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

编译软件

make arch=Linux

测试运行

修改HPL.dat

https://www.advancedclustering.com/act_kb/tune-hpl-dat-file/

可以根据生成HPL.dat

测试运行 (slurm)

#!/bin/bash
#SBATCH --job-name=hpltest
#SBATCH --output=slurm.out
#SBATCH --error=slurm.err
#SBATCH -N 1
#SBATCH --ntasks-per-node=128

export LD_LIBRARY_PATH=/data/software/OpenBLAS/lib:$LD_LIBRARY_PATH
export OMP_NUM_THREADS=1

/data/software/openmpi/3.1.6/bin/mpirun -np 128 --allow-run-as-root  ./xhpl

测试结果

使用oneapi编译HPL

下面是编译参数

SHELL        = /bin/sh
CD           = cd
CP           = cp
LN_S         = ln -s
MKDIR        = mkdir
RM           = /bin/rm -f
TOUCH        = touch
ARCH         = Intel
TOPdir       = /data/software/hpl-2.3
INCdir       = $(TOPdir)/include
BINdir       = $(TOPdir)/bin/$(ARCH)
LIBdir       = $(TOPdir)/lib/$(ARCH)
HPLlib       = $(LIBdir)/libhpl.a 
MPdir        =  /data/software/oneapi2021/mpi/latest #修改
MPinc        = -I$(MPdir)/include
MPlib        = $(MPdir)/lib/libmpicxx.a #修改
LAdir        = /data/software/oneapi2021/mkl/latest/lib/intel64 #修改
LAinc        =
LAlib        = $(LAdir)/libmkl_intel_lp64.a $(LAdir)/libmkl_intel_thread.a $(LAdir)/libmkl_core.a -liomp5 -lpthread -lm #修改
HPL_INCLUDES = -I$(INCdir) -I$(INCdir)/$(ARCH) $(LAinc) $(MPinc)
HPL_LIBS     = $(HPLlib) $(LAlib) $(MPlib)
HPL_OPTS     = -DHPL_CALL_CBLAS
HPL_DEFS     = $(F2CDEFS) $(HPL_OPTS) $(HPL_INCLUDES)
CC           = /data/software/oneapi2021/mpi/latest/bin/mpicc -lpthread #修改
CCNOOPT      = $(HPL_DEFS)
CCFLAGS      = $(HPL_DEFS) -fomit-frame-pointer -O3 -funroll-loops #修改
LINKER       = /data/software/oneapi2021/mpi/latest/bin/mpicc -lpthread #修改
LINKFLAGS    = $(CCFLAGS)
ARCHIVER     = ar
ARFLAGS      = r
RANLIB       = echo
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
WordPress Appliance - Powered by TurnKey Linux