搭建Linpack
?環境:vmware?workstation14?+?centos7(linux基本都可以)
一.開始安裝mpich
1. 解決依賴gcc?gcc-gfortran
sudo?yum?install?gcc
sudo?yum?install?gcc-gfortran
?
2.下載MPICH2,這是個并行計算的軟件,可以到http://www.mcs.anl.gov/research/projects/mpich2/downloads/index.php?s=downloads下載最新的源碼包
我的下載http://www.mpich.org/static/downloads/3.2.1/mpich-3.2.1.tar.gz
?
3.
mkdir?~/linpack???##目的是把linpack安裝文件放到一起
tar?-zvfx?mpich-3.2.1.tar.gz##進入含有該包的目錄
mv?mpich-3.2.1.tar.gz?~/linpack
mkdir?~/mpich-install?##安裝mpich的準備目錄,確保為空
cd?~/linpack/mpich-3.2.1
./configure?--prefix=/home/liubiyongge/mpich-install?2>&1?|?tee?c.txt ##liubiyongge該你自己用戶名
make?2>&1?|?tee?m.txt
This?step?should?succeed?if?there?were?no?problems?with?the
????preceding?step.?Check?file?m.txt.?If?there?were?problems,?do?a
"make?clean"?and?then?run?make?again?with?V=1.
make?V=1?2>&1?|?tee?m.txt
make?install?2>&1?|?tee?m.txt
查看mpich-install中生成文件,如果沒有進入mpich-3.2.1,
?????make?clean?重復./coonfigure之后動作
?
PATH=/home/[USERNAME]/mpich-install/bin:$PATH?;?export?PATH
#把這個路徑加入到path
which?mpicc
which?mpiexec
看是否加入成功
?
若能出現正確路徑名稱,這說明安裝成功。(注意!直接在Terminal中添加PATH路徑會出現一個小問題,就是計算機重啟后要重新添加路徑,不然mpicc和mpiexec無法執行。)
在安裝包中,官方還給出了一個例子供我們測試,都已經編譯好了,在/mpich-3.2.1/examples目錄下,編譯后的文件名稱為cpi,是并行計算ππ的值。將目錄切換到examples目錄下,并運行代碼:
cd?examples
mpiexec?-n?5?./cpi
得到的結果如下所示:?
?
?
二.
下載GotoBLAS2-1.13.tar.gz
https://www.tacc.utexas.edu/documents/1084364/1087496/GotoBLAS2-1.13.tar.gz/b58aeb8c-9d8d-4ec2-b5f1-5a5843b4d47b
?
tar?-zxvf?GotoBLAS2-1.13.tar.gz?##進入含有該包的目錄
mv?GotoBLAS2?~/libnpack
cd??~/linpack/GotoBLAS2
GotoBLAS2目錄里的f_check源碼有問題,把它的第298行改為:
print?MAKEFILE?"FEXTRALIB=$linker_L?-lgfortran?-lm?-lquadmath?-lm?$linker_a\n";
?
make?BINARY=64?TARGET=NEHALEM?#注意此時PC要保持聯網,會自動下載Lapack的
?
?
三.下載hpl
http://www.netlib.org/benchmark/hpl/?
tar?-zxvf?hpl-2.2.tar.gz?
mv?hpl-2.2?~/linpack/
cd?~/linpack/hpl-2.2
?
然后進入hpl-2.2頂層目錄的目錄,將setup里面的Make.Linux_PII_FBLAS復制到hpl目錄,然后編輯Make.Linux_PII_FBLAS。
改動如下
:TOPdir???????=?/home/liubiyongge/linpack/hpl-2.2?##liubiyongg改為你用戶名這個是為了指明hpl-2.2位置
MPdir????????=?/home/liubiyongge/mpich-install?
##指明mpich安裝目錄
MPinc????????=?-I$(MPdir)/include
MPlib????????=?$(MPdir)/lib/libmpi.so
##這個改是因為源目錄中沒有libmpich.a?改為libmpi.so
LAdir????????=?/home/liubiyongge/linpack/GotoBLAS2
LAinc????????=
LAlib????????=?$(LAdir)/libgoto2.a?$(LAdir)/libgoto2.so
同上
CC???????????=?/home/liubiyongge/mpich-install/bin/mpicc
#改編譯器為mpicc
LINKER???????=?/home/liubiyongge/mpich-install/bin/mpif77
#改編譯器為mpif77
make??arch=Linux_PII_FBLAS
如果沒問題,在hpl/bin/中會生成一個Linux_PII_FBLAS文件夾,如果有錯,那么應該是你的arch沒有改對吧,實在不行就聯系我,liubiyongge@163.com
?
轉載于:https://www.cnblogs.com/liubiyonge/p/9159875.html
總結
- 上一篇: 两个span标签(或i标签)之间有间隙的
- 下一篇: 向日葵的windows账号名