Raspberry Pi3でスパコン遊び その2

前回7月24日はRaspberry Piを1台で、HPLベンチマークテストを実施した。
テスト用パラメータ設定ファイルであるHPL.datの中身は、下記リンク先の"Creating the HPL input file"に記載されていた内容をそのまま使用したものだった。
結果は269MFLOPS、1982年のスパコン 富士通FACOM VP-200(最大250MFLOPS)と同程度だった。

今回はRaspberry Pi3の4台クラスタ構成で、HPLベンチマークテストを実施。
HPL.datファイルを修正しながらテストを繰り返した。結果が一番良かった設定値は以下のとおり。

pi@jpmtksvclt01:~ $ cat hpl-2.1/bin/rpi/HPL.dat
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)
20400        Ns
1            # of NBs
144          NBs
0            PMAP process mapping (0=Row-,1=Column-major)
1            # of process grids (P x Q)
2            Ps
2            Qs
16.0         threshold
1            # of panel fact
2            PFACTs (0=left, 1=Crout, 2=Right)
1            # of recursive stopping criterium
4            NBMINs (>= 1)
1            # of panels in recursion
2            NDIVs
1            # of recursive panel fact.
1            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
1            DEPTHs (>=0)
0            SWAP (0=bin-exch,1=long,2=mix)
1           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)

HPL.datをviエディタで編集後、以下のコマンドを叩いてベンチマークテストを開始。

pi@jpmtksvclt01:~/hpl-2.1/bin/rpi $ mpirun -np 4 -host 192.168.1.11,192.168.1.12,192.168.1.13,192.168.1.14 ./xhpl

約1時間半後に返ってきた結果は以下のとおり。
1.05GFLOPS。1983年のスパコン NEC SX-1(最大1.3GFLOPS)と同程度にまで上がった。

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR10C2R4       20400   144     2     2            5369.57              1.054e+00
HPL_pdgesv() start time Sun Jul 31 13:35:27 2016

HPL_pdgesv() end time   Sun Jul 31 15:04:57 2016

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=        0.0009813 ...... PASSED
================================================================================

Finished      1 tests with the following results:
              1 tests completed and passed residual checks,
              0 tests completed and failed residual checks,
              0 tests skipped because of illegal input values.
--------------------------------------------------------------------------------

End of Tests.
================================================================================


カーネルをリコンパイルして再度実施するか、Raspberry Pi3をもう2台追加するか、このままの構成で息子に納品するか。

もう少しだけHPLベンチマークテストを続けてから結論を出す事にした。
目標はCRAY-2。1.9GFLOPS前後を目指す。


https://www.howtoforge.com/tutorial/hpl-high-performance-linpack-benchmark-raspberry-pi/
http://d.hatena.ne.jp/debslink/20160724/1469358050 (Raspberry Pi3でスパコン遊び)