HPL-用於分布式內存計算機的高性能Linpack基准的便攜式實現


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

………………………… 總共有很多測試,結果文件還挺長的,中間省略

 參考鏈接:https://www.cnblogs.com/zhyantao/p/10614238.html 感謝博主!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM