搭建Linpack
环境:vmware workstation14 + centos7(linux基本都可以)
一.开始安装mpich
1. 解决依赖gcc gcc-gfortran
sudo yum install gcc
sudo yum install gcc-gfortran
2.下载MPICH2,这是个并行计算的软件,可以到http://www.mcs.anl.gov/research/projects/mpich2/downloads/index.php?s=downloads下载最新的源码包
我的下载http://www.mpich.org/static/downloads/3.2.1/mpich-3.2.1.tar.gz
3.
mkdir ~/linpack ##目的是把linpack安装文件放到一起
tar -zvfx mpich-3.2.1.tar.gz##进入含有该包的目录
mv mpich-3.2.1.tar.gz ~/linpack
mkdir ~/mpich-install ##安装mpich的准备目录,确保为空
cd ~/linpack/mpich-3.2.1
./configure –prefix=/home/liubiyongge/mpich-install 2>&1 | tee c.txt ##liubiyongge该你自己用户名
make 2>&1 | tee m.txt
This step should succeed if there were no problems with the
preceding step. Check file m.txt. If there were problems, do a
“make clean” and then run make again with V=1.
make V=1 2>&1 | tee m.txt
make install 2>&1 | tee m.txt
查看mpich-install中生成文件,如果没有进入mpich-3.2.1,
make clean 重复./coonfigure之后动作
PATH=/home/[USERNAME]/mpich-install/bin:$PATH ; export PATH
#把这个路径加入到path
which mpicc
which mpiexec
看是否加入成功
若能出现正确路径名称,这说明安装成功。(注意!直接在Terminal中添加PATH路径会出现一个小问题,就是计算机重启后要重新添加路径,不然mpicc和mpiexec无法执行。)
在安装包中,官方还给出了一个例子供我们测试,都已经编译好了,在/mpich-3.2.1/examples目录下,编译后的文件名称为cpi,是并行计算ππ的值。将目录切换到examples目录下,并运行代码:
cd examples
mpiexec -n 5 ./cpi
- 1
- 2
得到的结果如下所示:
二.
下载GotoBLAS2-1.13.tar.gz
tar -zxvf GotoBLAS2-1.13.tar.gz ##进入含有该包的目录
mv GotoBLAS2 ~/libnpack
cd ~/linpack/GotoBLAS2
GotoBLAS2目录里的f_check源码有问题,把它的第298行改为:
print MAKEFILE “FEXTRALIB=$linker_L -lgfortran -lm -lquadmath -lm $linker_a\n”;
make BINARY=64 TARGET=NEHALEM #注意此时PC要保持联网,会自动下载Lapack的
3.下载hpl
http://www.netlib.org/benchmark/hpl/
tar -zxvf hpl-2.2.tar.gz
mv hpl-2.2 ~/linpack/
cd ~/linpack/hpl-2.2
然后进入hpl-2.2顶层目录的目录,将setup里面的Make.Linux_PII_FBLAS复制到hpl目录,然后编辑Make.Linux_PII_FBLAS。
改动如下
:TOPdir = /home/liubiyongge/linpack/hpl-2.2 ##liubiyongg改为你用户名这个是为了指明hpl-2.2位置
MPdir = /home/liubiyongge/mpich-install
##指明mpich安装目录
MPinc = -I$(MPdir)/include
MPlib = $(MPdir)/lib/libmpi.so
##这个改是因为源目录中没有libmpich.a 改为libmpi.so
LAdir = /home/liubiyongge/linpack/GotoBLAS2
LAinc =
LAlib = $(LAdir)/libgoto2.a $(LAdir)/libgoto2.so
同上
CC = /home/liubiyongge/mpich-install/bin/mpicc
#改编译器为mpicc
LINKER = /home/liubiyongge/mpich-install/bin/mpif77
#改编译器为mpif77
make arch=Linux_PII_FBLAS
如果没问题,在hpl/bin/中会生成一个Linux_PII_FBLAS文件夹,如果有错,那么应该是你的arch没有改对吧,实在不行就联系我,liubiyongge@163.com