Linux使用Linpack测试

安装HPL之前需要配置好:
1.GCC/Fortran77 编译器
2.BLAS/CBLAS/ATLAS 库
3.MPICH 并行环境

1.GCC/Fortran77 编译器

gfortran -v 
gcc -v
#检查环境,若没有安装
yum install gcc
yum install gcc-gfortran

2.安装向量和矩阵运算库函数
BLAS/CBLAS/ATLAS 库

#安装步骤
#下载 blas-3.8.0.tgz:
wget http://www.netlib.org/blas/blas-3.8.0.tgz
tar -xzf blas-3.8.0.tgz
cd BLAS-3.8.0
make #编译生成blas_LINUX.a
ar rv libblas.a *.o #链接.o文件生成libblas.a文件
cd .. #返回上级目录
#下载 cblas.tgz:
wget http://www.netlib.org/blas/blast-forum/cblas.tgz
tar -xzf cblas.tgz
cd CBLAS
#将第4步产生的.a文件拷贝到当前目录:
cp ../BLAS-3.8.0/blas_LINUX.a ./
vim Makefile.in
#在Makefile.in里修改这两个
BLLIB = ../blas_LINUX.a                                              
CBLIB = ../lib/cblas_$(PLAT).a
#保存
make
./testing/xzcblat1 #测试运行

在这里插入图片描述
3.MPICH 并行环境

#下载 mpich-3.2.1.tar.gz
wget http://www.mpich.org/static/downloads/3.2.1/mpich-3.2.1.tar.gz
tar xzf mpich-3.2.1.tar.gz
cd mpich-3.2.1
./configure  --prefix=/usr/local/mpich   # --prefix这一参数是设置安装的路径,根据需要设置合适的路径即可
make 
make install 

设置环境变量

#vi ~/.bashrc 或者.bash_profile  增加环境变量

#export PATH="/usr/local/mpich/bin:$PATH"  

export MPI_HOME=/usr/local/mpich/
export PATH=$MPI_HOME/bin:$PATH
export PATH=$PATH:$MPI_HOME/include
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MPI_HOME/lib
export MANPATN=$MANPATH:$MPI_HOME/man

source ~/.bashrc 
which mpicc  #检查
which mpif90  #检查

mkdir machinefile # 创建目录
#测试运行
mpiexec -f machinefile -n 3 hostname && mpiexec -n 5 -f machinefile ./examples/cpi

在这里插入图片描述
4.Linpack之HPL测试 (HPL Benchmark)

cp CBLAS/lib/* /usr/local/lib
cp BLAS-3.8.0/blas_LINUX.a /usr/local/lib

wget http://www.netlib.org/benchmark/hpl/hpl-2.3.tar.gz
tar -xzf hpl-2.3.tar.gz
cd hpl-2.3
cp setup/Make.Linux_PII_CBLAS ./
vim Make.top
arch = Linux_PII_CBLAS #保存并退出
vim Makefile
arch = 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       = /root/hpl-2.3
INCdir       = $(TOPdir)/include
BINdir       = $(TOPdir)/bin/$(ARCH)
LIBdir       = $(TOPdir)/lib/$(ARCH)
HPLlib       = $(LIBdir)/libhpl.a
MPdir        = /usr/local/mpich
MPinc        = -I$(MPdir)/include
MPlib        = $(MPdir)/lib/libmpi.so /usr/lib64/libpthread.so /usr/lib64/libc.so
LAdir        =  /usr/local/lib
LAinc        =
LAlib        = $(LAdir)/cblas_LINUX.a $(LAdir)/blas_LINUX.a
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           = /usr/local/mpich/bin/mpicc
CCNOOPT      = $(HPL_DEFS)
CCFLAGS      = $(HPL_DEFS) -fomit-frame-pointer -O3 -funroll-loops
LINKER       = /usr/local/mpich/bin/mpif90
LINKFLAGS    = $(CCFLAGS)
ARCHIVER     = ar
ARFLAGS      = r
RANLIB       = echo

在这里插入图片描述
ARCH :系统架构名称

TOPdir :hpl程序包解压后所在的路径

HPLlib :libhpl.a文件所在位置,一般都在hpl程序目录下

MPdir :mpi安装位置

LAdir :GotoBlas库所在路径

LAlib :GotoBlas库文件所在路径

CC:mpicc所在的位置
LINKEY :gfortran编译器所在位置

#测试
make arch=Linux_PII_CBLAS
cd bin/Linux_PII_CBLAS
mpirun -np 4 ./xhpl > HPL-Benchmark.txt

在这里插入图片描述
在这里插入图片描述
如果报错,可能原因有,Make.Linux_PII_CBLAS中的路径没有改对,路径要与自己实际的安装路径相符,可以一一对照,看看路径下对应的文件是否存在。也可能原因,Makefile文件格式严苛,不要随意用空格,路径前后有空格虽然看不出来,但是Makefile文件能认出来。路径特别是mpich-install的路径不要弄错,环境变量再检查检查。若还不行,按照步骤删掉,都重来一遍。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值