搭建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

得到的结果如下所示: 

 

.

下载GotoBLAS2-1.13.tar.gz

https://www.tacc.utexas.edu/documents/1084364/1087496/GotoBLAS2-1.13.tar.gz/b58aeb8c-9d8d-4ec2-b5f1-5a5843b4d47b

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 ";

 

make BINARY=64 TARGET=NEHALEM #注意此时PC要保持联网,会自动下载Lapack

三.下载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

 

原文地址:https://www.cnblogs.com/liubiyonge/p/9159875.html