Linux使用Linpack测试

本文详细指导了在Linux系统上安装HPL前,如何配置GCC/Fortran77编译器,BLAS/CBLAS/ATLAS库以及设置MPICH并行环境的过程,包括下载、编译和环境变量配置,以确保HPLBenchmark测试的顺利进行。
摘要由CSDN通过智能技术生成

安装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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux下进行Linpack测试CPU性能的关键参数配置包括: 1. 线程数(Number of Threads):决定Linpack测试使用的并行线程数量。可以根据CPU核心数目和线程数进行调整,一般建议将线程数设置为和CPU核心数目相同或略小的数量。 2. 问题规模(Problem Size):表示Linpack测试中计算矩阵的尺寸。可以通过调整问题规模来测试不同程度的CPU负载。通常使用N、NB、P三个参数来定义问题规模。 - N(尺寸):指定矩阵的大小,决定了问题规模的大致范围。 - NB(分块尺寸):指定矩阵的分块尺寸,用于提高缓存效率,通常设置为16或32。 - P(进程数量):指定进行计算的进程数目,通常设置为1。 3. 精度(Precision):指定Linpack测试中所使用的浮点数精度,可以选择单精度(single)或双精度(double)。 4. 线程绑定(Thread Binding):可选择是否对Linpack测试中的线程进行绑定到特定的CPU核心,以避免线程的切换带来的性能损失。 执行Linpack测试的命令为: ``` ./xlinpack_xeon64 -D N -s NB -p Precision -t Number_of_Threads -b ``` 其中,xlinpack_xeon64为Linpack测试的可执行文件名,N为问题规模中的尺寸参数,NB为分块尺寸参数,Precision为精度参数,Number_of_Threads为线程数参数,-b选项用于开启线程绑定。 例如,若希望进行一个尺寸为5000、分块尺寸为32的双精度测试,并使用8个线程进行计算,并开启线程绑定,命令如下: ``` ./xlinpack_xeon64 -D 5000 -s 32 -p double -t 8 -b ``` 执行该命令后,Linpack测试将会以指定的参数进行计算,并输出测试结果,包括计算速度(MFLOPS),以及矩阵校验结果。根据测试结果可以评估CPU的性能表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值