hpl包下載鏈接:http://www.netlib.org/benchmark/hpl/
安裝HPL之前需要配置好:
1.GCC/Fortran77 編譯器
2.BLAS/CBLAS/ATLAS 庫
3.MPICH 並行環境
我的完整目錄結構,在/root/workable/HPL完成測試
1.GCC/Fortran77 編譯器
檢查環境,會輸出版本信息
gfortran -v
gcc -v
如果沒有,則安裝
sudo yum install gcc
sudo yum install gcc-gfortran
2.安裝向量和矩陣運算庫函數
BLAS/CBLAS/ATLAS 庫
安裝步驟
下載 blas-3.8.0.tgz:
wget http://www.netlib.org/blas/blas-3.8.0.tgz
解壓包:
tar -xzf blas-3.8.0.tgz
切換目錄:
cd BLAS-3.8.0
編譯生成blas_LINUX.a:
make
鏈接.o文件生成libblas.a文件:
ar rv libblas.a *.o
切換目錄:對於我,回到HPL目錄下
cd ..
下載 cblas.tgz:
wget http://www.netlib.org/blas/blast-forum/cblas.tgz
解壓包:
tar -xzf cblas.tgz
切換目錄:
cd CBLAS
將第4步產生的.a文件拷貝到當前目錄:
cp ../BLAS-3.8.0/blas_LINUX.a ./
修改Makefile.in文件中的BLLIB:
vim Makefile.in
在Makefile.in里修改這兩個
BLLIB = ../blas_LINUX.a CBLIB = ../lib/cblas_$(PLAT).a
編譯:
make
測試運行:
./testing/xzcblat1
3.MPICH 並行環境
下載 mpich-3.2.1.tar.gz:
wget http://www.mpich.org/static/downloads/3.2.1/mpich-3.2.1.tar.gz
解壓安裝包:
tar xzf mpich-3.2.1.tar.gz
切換到主目錄:
cd mpich-3.2.1
設置安裝路徑:路徑為自己解壓mpich-3.2.1.tar.gz時的路徑+/mpich-install
./configure --disable-cxx --prefix=/root/worktable/HPL/mpich-install 2>&1 | tee c.txt
編譯:
make 2>&1 | tee m.txt
安裝:
sudo make install 2>&1 | tee mi.txt
臨時配置環境變量:路徑為自己解壓mpich-3.2.1.tar.gz時的路徑+/mpich-install
export PATH=/root/worktable/HPL/mpich-install/bin:$PATH
(Ref: linux查看和修改PATH環境變量的方法)
查看前面工作是否成功:
which mpicc && which mpiexec
創建目錄:
mkdir machinefile
測試運行:
mpiexec -f machinefile -n 3 hostname && mpiexec -n 5 -f machinefile ./examples/cpi
4.Linpack之HPL測試 (HPL Benchmark)
到達壓縮包要下載的目錄
復制文件:
sudo cp CBLAS/lib/* /usr/local/lib
復制文件:
sudo cp BLAS-3.8.0/blas_LINUX.a /usr/local/lib
下載 hpl-2.3.tar.gz:
wget http://www.netlib.org/benchmark/hpl/hpl-2.3.tar.gz
解壓包:
tar -xzf hpl-2.3.tar.gz
切換目錄:
cd hpl-2.3
復制文件:
cp setup/Make.Linux_PII_CBLAS ./
打開Make.top文件:
vim Make.top
修改變量值:
arch = Linux_PII_CBLAS
關閉Make.top文件:
:wq
打開Makefile文件:
vim Makefile
修改變量值:
arch = Linux_PII_CBLAS
關閉Makefile文件:
:wq
打開Make.Linux_PII_CBLAS:
vim Make.Linux_PII_CBLAS
修改Make.Linux_PII_CBLAS文件中的變量:
ARCH = Linux_PII_CBLAS TOPdir = /root/worktable/HPL/hpl-2.3 MPdir = /root/worktable/HPL/mpich-install MPlib = $(MPdir)/lib/libmpi.so /usr/lib64/libpthread.so /usr/lib64/libc.so LAdir = /usr/local/lib LAinc = LAlib = $(LAdir)/cblas_LINUX.a $(LAdir)/blas_LINUX.a CC = /root/worktable/HPL/mpich-install/bin/mpicc LINKER = /root/worktable/HPL/mpich-install/bin/mpif77
關閉Make.Linux_PII_CBLAS文件,只讀文件,加上!強制保存寫並退出。
:wq!
編譯:
make arch=Linux_PII_CBLAS
如果報錯,可能原因有,Make.Linux_PII_CBLAS中的路徑沒有改對,路徑要與自己實際的安裝路徑相符,可以一一對照,看看路徑下對應的文件是否存在。也可能原因,Makefile文件格式嚴苛,不要隨意用空格,路徑前后有空格雖然看不出來,但是Makefile文件能認出來。路徑特別是mpich-install的路徑不要弄錯,環境變量再檢查檢查。若還不行,按照步驟刪掉,都重來一遍。
若無報錯,運行測試:
cd bin/Linux_PII_CBLAS
mpirun -np 4 ./xhpl > HPL-Benchmark.txt
生成HPL-Benchmark.txt
………………………… 總共有很多測試,結果文件還挺長的,中間省略