2017/10/23 に紹介したWinSuiteに付いてくるベンチマーク問題 ”B03_Implicit_stress_large”
の注意点です。
2017/12/15 最後の方に、SMP版の測定結果を追加しました。
モデルサイズは、節点数=1453530, TETRA10要素数=927574, 形状は以下です。
付属ドキュメントによると、ベンチマーク機スペックは、
CentOS7, XEON E5-2687W V4 * 2 (Total 24cores), 128GB RAM
ちなみに、これからテストしようとしている自分のマシンは、
CentOS7, Core-i7 6900K (Total 8cores), 64GB RAM
資料によると、実行方法は、
MPPDYNA R9.1.0 倍精度、 8core使用 実行コマンド i=stress_***.key memory=900m
計算時間:298秒
必要メモリ=8*900m*8 ワード なので、約58GBもあれば、上記程度の時間で実行できそうだ。
自分のマシンでの実行コマンドは、
mpirun -np 8 mpp1000d i=stress_***.key memory=1000m jobid=mpp8
実行開始して以下のメッセージが出てきた。memory=1000mでは全く足りない。
2000m以上必要だ。
途中で中断するのももったいないので、放置してみたが、軽くスワップに入り、更にアウト
オブコアなので、マウスも殆ど動かない状態、topを見ると並列計算どころではない。
待つこと2時間近く。計算時間:6110秒
この問題を試す場合、メモリサイズは最低でも128GB絶対に必要です。
128GB以上使えるなら、memory=128GB/コア数 + α をメガワードで指定してください。
2017/12/15 追記
この問題をR10.0 SMP版で解いてみた結果、
必要メモリ=6200MW = 約50MB
NCPU=4 : 467秒
NCPU=8 : 369秒
必要メモリサイズは、MPP版の約半分となり、スワップに突入することもなく、短時間で計算終了できた。
陰解法はやはりSMPの方が使いやすいと思う。
メモリサイズに関してもCPU数に関係なく、常に MEMORY=使用可能最大量を指定すればいい。