HPC Challenge 1.5.0 安装教程
操作系统
- Ubuntu 18.04
- hpcc 1.5.0
- mpich 3.1
安装过程
A. hpcc1.5.0
源码下载
-
下载
hpcc-1.5.0.tar.gz
文件wget http://icl.cs.utk.edu/projectsfiles/hpcc/download/hpcc-1.5.0.tar.gz
-
解压文件,会产生
hpcc-1.5.0
文件夹tar zxvf hpcc-1.5.0.tar.gz
-
进入
hpcc-1.5.0
文件夹cd hpcc-1.5.0
-
在该目录下创建
lib
文件夹,存放后续产生的libcblas.a
和libblas.a
mkdir lib
记住该路径
xxx/hpcc-1.5.0/lib
,后面会用。
B. mpich
安装
-
安装
make
,gcc
,g++
,gfortran
sudo apt-get install make sudo apt-get install gcc sudo apt-get install g++ sudo apt-get install gfortran
-
下载
mpich
安装包mpich-3.1.tar.gz
,下载地址www.mpich.org/downloads/ -
目标:将mpich安装到
/usr/mpich
文件夹-
创建安装文件夹
sudo mkdir /usr/mpich
-
将
mpich-3.1.tar.gz
安装包复制到/usr/mpich
文件夹sudo cp xxx/mpich-3.1.tar.gz /usr/mpich
这里,
xxx
是当前存放mpich-3.1.tar.gz
文件的位置,注意替换。 -
解压安装包
sudo tar zxvf mpich-3.1.tar.gz
-
进入解压文件夹
cd mpich-3.1
-
执行命令
sudo ./configure --prefix=/usr/mpich
若显示
Configure completed
表示注册成功。 -
在当前文件夹目录下编译
sudo make
-
安装
sudo make install
-
配置环境变量
sudo gedit /etc/profile # 在打开的文件最后添加下述命令 export PATH=/usr/mpich/bin:$PATH export INCLUDE=/usr/mpich/include:$INCLUDE export LD_LIBRARY_PATH=/usr/mpich/lib:$LD_LIBRARY_PATH
-
使配置文件生效
source /etc/profile
-
测试是否安装成功
which mpicc
若输出
/usr/mpicc/bin/mpicc
则安装成功。
-
C. BLAS
库文件安装
-
下载
BLAS
wget http://www.netlib.org/blas/blas.tgz
-
解压
BLAS
tar zxvf blas.tgz
-
进入
BLAS
cd BLAS
-
编译所有的
.f
文件,生成.o
文件gfortran -c -O3 *.f
-
链接所有的
.o
文件,生成libblas.a
文件ar rv libblas.a *.o
-
将
libblas.a
文件拷到前面记住的xxx/hpcc-1.5.0/lib/
目录下cp libblas.a xxx/hpcc-1.5.0/lib/
D. CBLAS
库文件安装
-
下载
CBLAS
wget http://www.netlib.org/blas/blast-forum/cblas.tgz
-
解压
CBLAS
tar zxvf cblas.tgz
-
进入
CBLAS
cd CBLAS
-
将
Makefile.LINUX
文件拷贝为Makefile.in
文件cp Makefile.LINUX Makefile.in
-
将
BLAS
库文件安装过程中产生的libblas.a
文件拷贝至./testing
文件夹下cp xxx/hpcc-1.5.0/lib/libblas.a ./testing/
-
编译,在
lib
文件夹下产生cblas_LINUX.a
make
-
将
lib
文件夹下的cblas_LINUX.a
拷贝至前面记住的xxx/hpcc-1.5.0/lib/
目录下,并重命名为libcblas.a
cp lib/cblas_LINUX.a xxx/hpcc-1.5.0/lib/libcblas.a
E. Makefile
文件编写
-
进入
hpcc-1.5.0
文件夹,该目录下有一个文件夹为hpl
-
复制
hpl/setup/Make.Linux_PII_CBLAS
文件到hpl/
目录下,并重命名为Make.LINUX
cp hpl/setup/Make.Linux_PII_CBLAS hpl/Make.LINUX
-
修改
Make.LINUX
文件gedit hpl/Make.LINUX
-
MPdir
、MPinc
、MPlib
这几个和MPI相关的配置项注释掉# MPdir = /usr/local/mpi # MPinc = -I$(MPdir)/include # MPlib = $(MPdir)/lib/libmpich.a
-
HPL_LIBS
后面加上BLAS
、CBLAS
库的连接信息,这里要用xxx/hpcc-1.5.0/lib
这一路径,同时将$(LAlib)
这一参数去掉HPL_LIBS = $(HPLlib) $(MPlib) -lm -L/home/masa/Desktop/ArchitectureSoft/hpcc-1.5.0/lib/ -lcblas -lblas
这里我把
hpcc
的源码放在/home/masa/Desktop/ArchitectureSoft/hpcc-1.5.0
这一路径下。
-
CC
配置项修改为mpicc
:CC = /usr/bin/mpicc
建议这里查找下
mpicc
路径:which mpicc
-
LINKER
配置项修改为mpif77
LINKER = /usr/bin/mpif77
同样建议这里查找下
mpif77
路径:which mpif77
-
-
修改
hpcc-1.5.0/
路径下的Makefile
文件,其第3行改为:arch = LINUX
F. 编译并运行hpcc
源码
-
进入
hpcc-1.5.0/
路径下编译make
此时
hpcc-1.5.0/
路径下会产生一个名为hpcc
的二进制可执行文件。 -
将
hpcc-1.5.0/
路径下的_hpccinf.txt
重命名为hpccinf.txt
cp _hpccinf.txt hpccinf.txt
-
运行
hpcc
mpirun -np 4 ./hpcc
运行结束后结果写入
hpccoutf.txt
。查看结果:cat hpccoutf.txt
-
重置编译
make clean