Linpack安装、配置与运行
生活随笔
收集整理的這篇文章主要介紹了
Linpack安装、配置与运行
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
轉(zhuǎn)載https://www.kclouder.cn/linpack-guide-1/
Linpack是線性系統(tǒng)軟件包(Linear system package) 的縮寫,現(xiàn)在在國(guó)際上已經(jīng)成為最流行的用于測(cè)試
高性能計(jì)算機(jī)系統(tǒng)浮點(diǎn)性能的benchmark。通過(guò)利用高性能計(jì)算機(jī),用高斯消元法求解N元一次稠密線性代數(shù)
方程組的測(cè)試,評(píng)價(jià)高性能計(jì)算機(jī)的浮點(diǎn)性能。衡量計(jì)算機(jī)性能的一個(gè)重要指標(biāo)就是計(jì)算峰值,例如浮點(diǎn)計(jì)算峰值,它是指計(jì)算機(jī)每秒鐘能完成的浮點(diǎn)計(jì)算最
大次數(shù)。包括理論浮點(diǎn)峰值和實(shí)測(cè)浮點(diǎn)峰值:理論浮點(diǎn)峰值是該計(jì)算機(jī)理論上能達(dá)到的每秒鐘能完成浮點(diǎn)計(jì)算
最大次數(shù),它主要是由CPU的主頻決定的,理論浮點(diǎn)峰值=CPU主頻×CPU每個(gè)時(shí)鐘周期執(zhí)行浮點(diǎn)運(yùn)算的次數(shù)×系
統(tǒng)中CPU核心數(shù)目實(shí)測(cè)浮點(diǎn)峰值是指Linpack測(cè)試值,也就是說(shuō)在這臺(tái)機(jī)器上運(yùn)行Linpack測(cè)試程序,通過(guò)各
種調(diào)優(yōu)方法得到的最優(yōu)的測(cè)試結(jié)果。實(shí)際上在實(shí)際程序運(yùn)行過(guò)程中,幾乎不可能達(dá)到實(shí)測(cè)浮點(diǎn)峰值,更不用說(shuō)
達(dá)到理論浮點(diǎn)峰值了。這兩個(gè)值只是作為衡量機(jī)器性能的一個(gè)指標(biāo),用來(lái)表明機(jī)器處理能力的一個(gè)標(biāo)尺和潛能
的度量。文檔作者: Carl下載必要的軟件包: MPI,GotoBLAS庫(kù),HPL源碼
http://www.netlib.org/mpi/index.html
https://www.tacc.utexas.edu/research-development/tacc-software/gotoblas2
http://www.netlib.org/benchmark/hpl/
1、 mpich安裝
1.1 解壓mpich包
tar zxvf mpich-3.2.tar.gz
1.2 創(chuàng)建安裝目錄
mkdir –p /install/mpich
1.3 配置mpich的安裝參數(shù)
進(jìn)入解壓后的mpich目錄,執(zhí)行./configure –prefix=/install/mpich
1.4 在mpich目錄下,執(zhí)行make,編譯mpich
1.5 在mpich目錄下,執(zhí)行make install
1.6 將mpich的運(yùn)行環(huán)境加入到系統(tǒng)環(huán)境變量中LD_LIBRARY_PATH=/install/mpich/lib:$LD_LIBRARY_PATHexport LD_LIBRARY_PATH
2、GotoBLAS安裝
2.1 解壓GotoBLAS包之后,在解壓后的目錄下執(zhí)行./ quickbuild.64bit進(jìn)行快速安裝,如果安裝正常,
在本目錄下就會(huì)生成libgoto2.a和libgoto2.so兩個(gè)文件若出現(xiàn)如下:../kernel/x86_64/gemm_ncopy_4.S:192: Error: undefined symbol RPREFETCHSIZE' in operation../kernel/x86_64/gemm_ncopy_4.S:193: Error: undefined symbolRPREFETCHSIZE' in operation
../kernel/x86_64/gemm_ncopy_4.S:194: Error: undefined symbol RPREFETCHSIZE' in operation
../kernel/x86_64/gemm_ncopy_4.S:195: Error: undefined symbolRPREFETCHSIZE' in operation
則執(zhí)行: gmake clean make BINARY=64 TARGET=NEHALEM
2.2 編譯正常的話,會(huì)在目錄下生成libgoto2.a 和libgoto2.so文件
3、HPL程序的編譯
3.1 解壓HPL程序包之后,將看到如下目錄結(jié)構(gòu),從setup目錄中選擇一個(gè)和自己實(shí)際的測(cè)試平臺(tái)最相似的配
置文件,將其復(fù)制到hpl根目錄下,可以重新命名以示區(qū)別。
3.2 Make配置文件中有大量的注釋信息,可以借助grep之類的工具將真正有用的參數(shù)篩選出來(lái)[root@hplnode01 hpl]# cat Make.carl |grep -v "#"SHELL = /bin/shCD = cdCP = cpLN_S = ln -sMKDIR = mkdirRM = /bin/rm -fTOUCH = touchARCH = Linux_PII_FBLAS <--系統(tǒng)架構(gòu)名稱TOPdir = $(HOME)/hpl <--hpl程序包解壓后所在的路徑INCdir = $(TOPdir)/includeBINdir = $(TOPdir)/bin/$(ARCH)LIBdir = $(TOPdir)/lib/$(ARCH)HPLlib = $(LIBdir)/libhpl.aMPdir = /usr/local/mpi <--mpi環(huán)境所在的路徑MPinc = -I$(MPdir)/includeMPlib = $(MPdir)/lib/libmpich.aLAdir = $(HOME)/netlib/ARCHIVES/Linux_PII <--GotoBlas庫(kù)所在的路徑LAinc =LAlib = $(LAdir)/libf77blas.a $(LAdir)/libatlas.a <--Gotoblas庫(kù)文件所在的路徑F2CDEFS = -DAdd__ -DF77_INTEGER=int -DStringSunStyleHPL_INCLUDES = -I$(INCdir) -I$(INCdir)/$(ARCH) $(LAinc) $(MPinc)HPL_LIBS = $(HPLlib) $(LAlib) $(MPlib)HPL_OPTS =HPL_DEFS = $(F2CDEFS) $(HPL_OPTS) $(HPL_INCLUDES)CC = /usr/bin/gccCCNOOPT = $(HPL_DEFS)CCFLAGS = $(HPL_DEFS) -fomit-frame-pointer -O3 -funroll-loops -W -WallLINKER = /usr/bin/g77LINKFLAGS = $(CCFLAGS)ARCHIVER = arARFLAGS = rRANLIB = echo[root@hplnode01 hpl]#3.3 以下是我在實(shí)驗(yàn)環(huán)境中使用的參數(shù)
3.4 設(shè)置好hpl程序的編譯參數(shù)之后,通過(guò)命令make arch=xxx來(lái)指定編譯配置文件,開始進(jìn)行編譯,編譯
完成后,將在hpl目錄的bin/xxx/下生成HPL.dat和xhpl兩個(gè)文件,其中HPL.dat是hpl測(cè)試時(shí)參數(shù)的配置
文件,xhpl是hpl測(cè)試時(shí)被執(zhí)行的mpi程序。
4、HPL測(cè)試的執(zhí)行
4.1 節(jié)點(diǎn)執(zhí)行hpl測(cè)試前需要先開啟mpd demo,首次啟動(dòng)mpd demo時(shí),請(qǐng)根據(jù)提示創(chuàng)建mpd配置文件。
Mpdboot –n 啟動(dòng)的節(jié)點(diǎn)數(shù)量 –f 可用的節(jié)點(diǎn)列表, mpdtrace –l 可以查看demo運(yùn)行狀態(tài)
4.2 以下是在單臺(tái)服務(wù)器上以4個(gè)進(jìn)程并行執(zhí)行xhpl程序的例子
4.3 以下是在多臺(tái)服務(wù)器上以指定的進(jìn)程數(shù)并行執(zhí)行xhpl程序的例子
4.4 mpirun -np 8 –machinefile 主機(jī)列表文件 ./xhpl
4.5 以下是一個(gè)比較方便直觀的hpl測(cè)試效率計(jì)算器http://hpl-calculator.sourceforge.net
總結(jié)
以上是生活随笔為你收集整理的Linpack安装、配置与运行的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: oracle重命名表空间
- 下一篇: python从高德api获取公交线路规划