# HPL & HPCC ###### HPL和HPCC的數學函式庫我皆採用BLAS的函式庫,因為ATLAS的函式庫在安裝上會有權限問題提除非參考HPCC參考1中的singularity寫法。 ###### OPENMPI根據官方要求要採用3(含)以前的版本,所以這裡採用OPENMPI 3.1.4。 ###### HPL是包含於HPCC的一個測試,所以安裝過程兩者非常接近。 * [[HPL 參考1](https://hackmd.io/@tings0802/demon#HPL-)] * [[HPL 參考2](https://hackmd.io/@tings0802/test2_02#HPL-sol-2)] * [[HPCC 參考1](https://hackmd.io/bg_etAIfT8ik175rQR3UgA?view)] * [[HPCC 參考2](https://hackmd.io/@tings0802/demon#HPCC-)] * [[HPCC 參考3](https://hackmd.io/@tings0802/test2_02#HPCC)] ## 安裝 安裝步驟:HPL :OPENMPI -> BLAS -> HPL 安裝步驟:HPCC:OPENMPI -> BLAS -> HPCC ### 預設資料夾(我的習慣) >* `HOME=/home/nckuhpclab02` >* `cd $HOME` >* `mkdir DNLD PROG LYAN` ### 安裝 OPENMPI 3.1.4 * 以 OPENMPI 3.1.4 為例 >* `cd /DNLD` >* `wget https://download.open-mpi.org/release/open-mpi/v3.1/openmpi-3.1.4.tar.gz` >* `tar -zxvf openmpi-3.1.4.tar.gz` >* `cd openmpi-3.1.4` >* `./configure --prefix=$HOME/PROG/openmpi-3.1.4` >* `make` >* `make install` >* `export PATH=$PATH:$HOME/PROG/openmpi-3.1.4/bin` >* `export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/PROG/openmpi-3.1.4/lib` ### 安裝 BLAS >* `cd $HOME/PROG` >* `wget http://www.netlib.org/blas/blas-3.8.0.tgz` >* `tar xzvf blas-3.8.0.tgz` >* `cd BLAS-3.8.0` >* `make` ### 安裝 HPL >* `cd $HOME/PROG` >* `wget https://netlib.org/benchmark/hpl/hpl-2.3.tar.gz` >* `tar xvf hpl-2.3.tar.gz` >* `cd hpl-2.3` >* `vim ./setup/Make.Linux_PII_FBLAS` >> * TOPdir = $(HOME)/PROG/hpl-2.3 >> * MPdir = $(HOME)/PROG/openmpi-3.1.4 >> * MPlib = $(MPdir)/lib/libmpi.so >> * LAdir = $(HOME)/PROG/BLAS-3.8.0 >> * LAlib = $(LAdir)/blas_LINUX.a >> * CC = mpicc >> * LINKER = mpif77 >* `cp ./setup/Make.Linux_PII_FBLAS .` >* `make arch=Linux_PII_FBLAS` ### 安裝 HPCC >* `cd $HOME/PROG` >* `wget http://icl.cs.utk.edu/projectsfiles/hpcc/download/hpcc-1.5.0.tar.gz` >* `tar -xvf hpcc-1.5.0.tar.gz` >* `cd hpcc-1.5.0/hpl/` >* `cp ./setup/Make.Linux_PII_FBLAS ./Make.Linux` >* `vim Make.Linux` >> * TOPdir = $(HOME)/PROG/hpcc-1.5.0/hpl >> * MPdir = $(HOME)/PROG/openmpi-3.1.4 >> * MPlib = $(MPdir)/lib/libmpi.so >> * LAdir = $(HOME)/PROG/BLAS-3.8.0 >> * LAlib = $(LAdir)/blas_LINUX.a >> * CC = mpicc >> * CCFLAGS = $(HPL_DEFS) -fomit-frame-pointer -O3 -funroll-loops -W -Wall -std=c99 >> * LINKER = mpif77 >* `cd ..` >* `make arch=Linux`