当前位置: 首页 > 工具软件 > MPICH > 使用案例 >

安装mpich运行hpl测试

谷梁鸣
2023-12-01

0 安装gcc和gfortran

以下所有代码都是在root用户权限#下运行

系统是centOS 7.5

yum install gcc
yum install gcc-gfortran
# 测试
gfortran -v 
gcc -v

1 安装mpich

# 下载mpich的源码
wget --no-check-certificate https://www.mpich.org/static/downloads/3.3rc1/mpich-3.3rc1.tar.gz
tar zxvf mpich-3.3rc1.tar.gz #这里我用的是mpich-3.3
cd mpich-3.3rc1
./configure -prefix=/usr/local/mpich #这个会运行一段时间
#其中prefix用来指定安装的路径,这样就可以将安装后的所有文件都放到同一个目录下了
make -j4 &&  make install #这条指令以及上一条指令是安装时常用的一套指令,会很久,慢慢等,j4是四线程
#  -j是几个线程编译,可以加快速度


# 配置环境变量
cd ~
vim .bashrc  #注意要到主目录中使用
export PATH=/usr/local/mpich/bin:$PATH
source .bashrc

# 测试
# 随意编写一个hello.c文件,然后用mpicc进行编译,生成输出文件 a.out
vim hello.c
# 写入代码
#include<stdio.h>
int main(){
  printf("Hello \n");
  return 0;
}

# 编译,生成a.out
mpicc hello.c
# 运行
mpirun -np 4 ./a.out
# 如果输出4次hello,则安装成功

2 安装 blas、cblas以及lapack

# 下载源码
wget  --no-check-certificate http://www.netlib.org/blas/blas.tgz
wget --no-check-certificate http://www.netlib.org/blas/blast-forum/cblas.tgz
wget --no-check-certificate http://www.netlib.org/lapack/lapack-3.8.0.tar.gz

# 首先解压安装blas
tar -xzf blas.tgz
cd BLAS-3.8.0
make
cp blas_LINUX.a /usr/local/lib # 将生成的.a 复制到规范的lib文件夹

#接下来安装cblas
tar -xzf cblas.tgz
cd CBLAS
# 修改Makefile.in的内容(因为安装cblas需要用到blas,所以要修改blas的路径)
vim Makefile.in
修改其中BLLIB=/usr/local/lib/blas_LINUX.a  即刚刚生成的blas文件
然后
make -j4
# 生成的一个文件在当前的lib下,复制到/usr/local/lib方便使用
cp lib/cblas_LINUX.a /usr/local/lib  

#
最后安装lapack:

tar -xzf lapack-3.8.0.tar.gz 
cd lapack-3.8.0
#将make.inc.example复制为make.inc(不然会提示找不到文件)
#cp make.inc.example make.inc
#修改make.inc的内容(需要用到blas以及cblas)

vim make.inc
#修改以下内容为你的BLAS和CBLAS位置
BLASLIB=/usr/local/lib/blas_LINUX.a
CBLASLIB=/usr/local/lib/cblas_LINUX.a

# 开始make,报error不要紧,ls . 看看当前目录有没有生成两个.a文件,有就是成功了
make -j4
# 复制.a到那个目录
cp *.a /usr/local/lib

安装HPL

# 下载源码
wget --no-check-certificate http://www.netlib.org/benchmark/hpl/hpl-2.3.tar.gz
tar -xzf hpl-2.3.tar.gz
cd hpl-2.3

# 复制一份Make.Linux_PII_CBLAS到当前目录
cp setup/Make.Linux_PII_CBLAS ./
vim Make.top
修改 其中的 arch = Linux_PII_CBLAS

vim Makefile
修改其中的 arch = Linux_PII_CBLAS

#获取当前目录
pwd
# 输出   /root/hpl-2.3 记住他

vim Make.Linux_PII_CBLAS
#修改如下{
ARCH         = Linux_PII_CBLAS
TOPdir       = /root/hpl-2.3  # 你实际的目录,pwd命令获取
MPdir        = /usr/local/mpich     # mpich的目录,第一步的时候安装的
MPlib        = $(MPdir)/lib/libmpich.so /usr/lib64/libpthread-2.17.so /usr/lib64/libc-2.17.so        
# 去/usr/lib64目录下,看看libpthread-2.17.so libc-2.17.so有没有,一般都有的
LAdir         = /usr/local/lib   # 刚刚复制blas到了这个目录
LAinc        =                
LAlib         = $(LAdir)/blas_LINUX.a  $(LAdir)/cblas_LINUX.a
CC            = /usr/local/mpich/bin/mpicc   # 保险一点全路径
LINKER     = /usr/local/mpich/bin/mpif77  
}

#开始编译 -j是几个线程编译,可以加快速度
make arch=Linux_PII_CBLAS -j4


ls  bin/Linux_PII_CBLAS
# 看看是否生成xhpl

# 如果生成了
cd bin/Linux_PII_CBLAS
mpirun -np 4 ./xhpl > HPL-Benchmark.txt
#几分钟后会生成txt
#成功!

 类似资料: