linux提示密码没有凑效,陈连福的生信博客 | 第16期培训班将于2021.01.23-2021.02.01期间在武汉市举办,提前报名有有优惠!...
安裝HPL軟件
# 安裝mpich
wget http://www.mpich.org/static/downloads/3.3/mpich-3.3.tar.gz -P ~/software/
tar zxf ~/software/mpich-3.3.tar.gz
cd mpich-3.3
./configure --prefix=/opt/sysoft/mpich-3.3 && make -j 4 && make install
cd .. && rm -rf mpich-3.3
echo 'export PKG_CONFIG_PATH=/opt/sysoft/mpich-3.3/lib/pkgconfig:$PKG_CONFIG_PATH' > ~/.bashrc.mpich
echo 'export LD_LIBRARY_PATH=/opt/sysoft/mpich-3.3/lib:$LD_LIBRARY_PATH' >> ~/.bashrc.mpich
echo 'export C_INCLUDE_PATH=/opt/sysoft/mpich-3.3/include:$C_INCLUDE_PATH' >> ~/.bashrc.mpich
echo 'export PATH=/opt/sysoft/mpich-3.3/bin/:$PATH' >> ~/.bashrc.mpich
source ~/.bashrc.mpich
# 安裝openblas
sudo yum -y install openblas openblas-devel
# 若是CentOS8系統
sudo dnf --enablerepo=PowerTools install gcc-fortran openblas openblas-devel
# 安裝hpl
wget http://www.netlib.org/benchmark/hpl/hpl-2.3.tar.gz
tar zxf hpl-2.3.tar.gz
cd hpl-2.3/
source ~/.bashrc.mpich
./configure --prefix=/opt/sysoft/hpl-2.3
make -j 8
make install
cd ../ && rm -rf hpl-2.3
在當前目錄下生成HPL的配置文件HPL.dat,該配置文件適合72核心的單節點服務器。
HPLinpack benchmark input file
Innovative Computing Laboratory, University of Tennessee
HPL.out output file name (if any)
6 device out (6=stdout,7=stderr,file)
1 # of problems sizes (N)
82944 Ns
1 # of NBs
144 NBs
0 PMAP process mapping (0=Row-,1=Column-major)
1 # of process grids (P x Q)
8 Ps
9 Qs
16.0 threshold
2 # of panel fact
2 1 0 PFACTs (0=left, 1=Crout, 2=Right)
1 # of recursive stopping criterium
2 4 NBMINs (>= 1)
1 # of panels in recursion
2 NDIVs
1 # of recursive panel fact.
1 0 2 RFACTs (0=left, 1=Crout, 2=Right)
1 # of broadcast
0 BCASTs (0=1rg,1=1rM,2=2rg,3=2rM,4=Lng,5=LnM)
1 # of lookahead depth
0 DEPTHs (>=0)
2 SWAP (0=bin-exch,1=long,2=mix)
64 swapping threshold
0 L1 in (0=transposed,1=no-transposed) form
0 U in (0=transposed,1=no-transposed) form
1 Equilibration (0=no,1=yes)
8 memory alignment in double (> 0)
配置文件中的重要參數如下:
1 # of problems sizes (N)
設置程序運行時使用的 N 值的個數。
82944 Ns
設置程序運行時使用的 N 值。上一個參數的值有多大,此處則輸入對應個數的 N 值。N 值為Linpack進行浮點運算的問題規模。求解問題規模為N時,Linpack浮點運算次數 = 2 / 3 * N^3 - 2 * N^2。再測得系統計算所消耗的時間T,即可算出浮點運算每秒次數FLOPS值。需注意內存和計算時間消耗隨該值增大呈指數級增加,內存消耗=N*N*8。比如該參數值為20000時消耗3.2GB內存,設置為30000時消耗約7.2GB內存。在HPL軟件進行計算時,該值設置越大,有效計算所占的比例也越大,其結果FLOPS值越大。此外,該值推薦設置為 P * Q * NB 的整數倍。
1 # of NBs
設置程序運行時使用的 NB 值的個數。
144 NBs
設置數據分塊數量,有利于并行化計算。上一個參數的值有多大,此處則輸入對應個數的 NB 值。推薦設置為 P * Q 的整數倍。要計算的問題規模比較大,將這些計算均勻分配給各個CPU核心。
1 # of process grids (P x Q)
設置程序運行時使用的 P x Q 的個數。
8 Ps
9 Qs
設置并行化和多線程的CPU使用個數。盡可能讓P和Q相等,并使兩者的乘積為服務器的CPU總核心數,使P <= Q,也最好使P值為2的n次方。上一個參數設置有多大,則此處輸入對應個數的P和Q值。
2 # of panel fact
2 1 0 PFACTs (0=left, 1=Crout, 2=Right)
設置panel fact的值個數。上面設置了使用2種panel fact參數,下一個參數雖然有3個值,于是HPL運行時選取使用前兩個值。
后面還有幾個這樣的參數設置。但是對結果影響不大。只有前面的N, NB, P 和 Q 對結果影響較大。特別是 N 值影響最大。
運行HPL程序進行FLOPS計算
/opt/sysoft/mpich-3.3/bin/mpirun -np 72 /opt/sysoft/hpl-2.3/bin/xhpl
程序運行需要當前目錄下存在HPL.date配置文件。
程序運行的注意事項:
(1)mpirun的-np參數值是服務器的CPU總核心數。對應著參數文件種 P * Q 的值。要求 -np 參數的值 >= P * Q,否則程序報錯。
(2)HPL若使用超線程后總CPU線程數來進行計算,其FLOPS值更低,比用總核心數低約20%。
(3)若可以的話,設置不同的參數來讓HPL程序運行多次,取其最高值(峰值)作為服務的FLOPS計算性能。
(4)配置以 # 開始的參數用于設置多個值,程序有7個參數可以設置不同的多個值,于是排列組合后可以運行很多次,選擇最大值作為FLOPS計算峰值。
(5)當設置多種參數值,會很消耗計算時間,且其結果都相差不大,則可以考慮節約時間,不用設置太多的參數值。
(6)程序第一個運行種CPU剛喚醒,導致其有效計算所占的比例要小些,其結果會差些,特別是N值設置不夠大時更明顯,推薦至少有2次運行。
(7)設置稍大的 N 值,讓每次Linpack程序運行時間長度超過200秒,則獲得的結果更準確些。若運行時間太長,則感覺很費時間。
程序結果如下。按上面的配置文件,設置了2個不同的參數運行。第一次運行的結果一般較低,直接看第二次的結果作為服務器的計算性能:1297 Gflops。
================================================================================
T/V N NB P Q Time Gflops
--------------------------------------------------------------------------------
WR00C2R2 82944 144 8 9 311.44 1.2215e+03
HPL_pdgesv() start time Sat Apr 10 06:32:55 2021
HPL_pdgesv() end time Sat Apr 10 06:38:06 2021
--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)= 1.11497782e-03 ...... PASSED
================================================================================
T/V N NB P Q Time Gflops
--------------------------------------------------------------------------------
WR00C2C2 82944 144 8 9 293.31 1.2970e+03
HPL_pdgesv() start time Sat Apr 10 06:38:15 2021
HPL_pdgesv() end time Sat Apr 10 06:43:09 2021
--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)= 1.07067674e-03 ...... PASSED
================================================================================
使用HPL對一些服務器的FLOPS測試結果如下:
服務器型號 CPU型號數量 整體FLOPS 系統
惠普DL580G9 E7-8890 V3 * 4 1297.0 GFlops CentOS7
華為RH5885H V3 E7-4890 V2 * 4 904.68 GFlops CentOS7
華為RH5885H V3 E7-4890 V2 * 4 614.23 GFlops CentOS8
惠普DL980G7 E7-4870 * 4 339.53 GFlops CentOS8
總結
以上是生活随笔為你收集整理的linux提示密码没有凑效,陈连福的生信博客 | 第16期培训班将于2021.01.23-2021.02.01期间在武汉市举办,提前报名有有优惠!...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux进程命令解释,linux 进程
- 下一篇: linux实验串行端口程序设计,Linu