hpl包下载链接:http://www.netlib.org/benchmark/hpl/
安装HPL之前需要配置好:
1.GCC/Fortran77 编译器
2.BLAS/CBLAS/ATLAS 库
3.MPICH 并行环境
我的完整目录结构,在/root/workable/HPL完成测试
1.GCC/Fortran77 编译器
检查环境,会输出版本信息
gfortran -v
gcc -v
如果没有,则安装
sudo yum install gcc
sudo 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
编译生成blas_LINUX.a:
make
链接.o文件生成libblas.a文件:
ar rv libblas.a *.o
切换目录:对于我,回到HPL目录下
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 ./
修改Makefile.in文件中的BLLIB:
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
设置安装路径:路径为自己解压mpich-3.2.1.tar.gz时的路径+/mpich-install
./configure --disable-cxx --prefix=/root/worktable/HPL/mpich-install 2>&1 | tee c.txt
编译:
make 2>&1 | tee m.txt
安装:
sudo make install 2>&1 | tee mi.txt
临时配置环境变量:路径为自己解压mpich-3.2.1.tar.gz时的路径+/mpich-install
export PATH=/root/worktable/HPL/mpich-install/bin:$PATH
(Ref: linux查看和修改PATH环境变量的方法)
查看前面工作是否成功:
which mpicc && which mpiexec
创建目录:
mkdir machinefile
测试运行:
mpiexec -f machinefile -n 3 hostname && mpiexec -n 5 -f machinefile ./examples/cpi
4.Linpack之HPL测试 (HPL Benchmark)
到达压缩包要下载的目录
复制文件:
sudo cp CBLAS/lib/* /usr/local/lib
复制文件:
sudo cp BLAS-3.8.0/blas_LINUX.a /usr/local/lib
下载 hpl-2.3.tar.gz:
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 ./
打开Make.top文件:
vim Make.top
修改变量值:
arch = Linux_PII_CBLAS
关闭Make.top文件:
:wq
打开Makefile文件:
vim Makefile
修改变量值:
arch = Linux_PII_CBLAS
关闭Makefile文件:
:wq
打开Make.Linux_PII_CBLAS:
vim Make.Linux_PII_CBLAS
修改Make.Linux_PII_CBLAS文件中的变量:
ARCH = Linux_PII_CBLAS TOPdir = /root/worktable/HPL/hpl-2.3 MPdir = /root/worktable/HPL/mpich-install 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 CC = /root/worktable/HPL/mpich-install/bin/mpicc LINKER = /root/worktable/HPL/mpich-install/bin/mpif77
关闭Make.Linux_PII_CBLAS文件,只读文件,加上!强制保存写并退出。
:wq!
编译:
make arch=Linux_PII_CBLAS
如果报错,可能原因有,Make.Linux_PII_CBLAS中的路径没有改对,路径要与自己实际的安装路径相符,可以一一对照,看看路径下对应的文件是否存在。也可能原因,Makefile文件格式严苛,不要随意用空格,路径前后有空格虽然看不出来,但是Makefile文件能认出来。路径特别是mpich-install的路径不要弄错,环境变量再检查检查。若还不行,按照步骤删掉,都重来一遍。
若无报错,运行测试:
cd bin/Linux_PII_CBLAS
mpirun -np 4 ./xhpl > HPL-Benchmark.txt
生成HPL-Benchmark.txt
………………………… 总共有很多测试,结果文件还挺长的,中间省略