dcmodel ミーティング記録(2016/05/09)
参加者
- 北大
- 石渡, 小高, 村橋, 梅内
- 神戸大
- 林, 高橋
- AICS
- 河合
- 松江高専
- 杉山
- 九大
- 中島
- 京大
- 石岡, 佐々木, 竹広
ISPACK2 ベンチマーク(石岡)
- SVPACK : OpneMP 並列化球面調和函数変換ルーチン
- SUPACK : MPI + OpneMP 並列化球面調和函数変換ルーチン
- Cray-X30 での性能
- 高解像度で理論性能の半分程度まででるようになった.
spml の ISPACK2 対応とベンチマーク
- ISPACK2 の球面調和関数変換ルーチンを使う spml の新たなモジュールを作成
- w_module_svpack, wa_module_svpack
- w_mpi_module_supack, wa_mpi_module_supack, wt_mpi_module_supack wq_mpi_module_supack, wtq_mpi_module_supack
- configure に新たなオプションを追加
- --with-ispack2=...
- --with-ispack2-vec=[fort|avx|sx]
- ISPACK2 ライブラリはオプショナル. なくてもライブラリを作成可能.
- プログラムの変更
- SVPACK
- use w_module => use w_module_svpack だけで OK.
- SUPACK
- use w_mpi_module => use w_mpi_module_supack
- スペクトルデータの大きさを (nm+1)**2 から nc (モジュール public 変数)へ変更
- SVPACK
spml の ISPACK2/SUPACK ベンチマーク
- Cray XC-30 (竹広)
- T511L48 の SJPACK-MPI, SUPACK, ES ルーチンで比較
- SUPACK は ES ルーチンの 2 倍程度の速度
- NEC SX-ACE(ES3) (竹広)
- T511L48 の SUPACK, ES ルーチンで比較
- ES ルーチンは並列度を上げると速度増加
- SUPACK は並列度を上げると速度がすぐに頭打ち. SUPACK のベクトル長を変えてみる
- Fujitsu FX10 (佐々木)
- 速度はそれほど速くないけど, 並列での伸びは良い.
- 高解像度, 高並列計算に期待
SPMODEL の ISPACK2 対応について(竹広)
- 回転球殻対流モデルベンチマークプログラムを ISPACK2/SUPACK に対応
- ベンチマーク結果は OK.
- CASE1 2.5 無次元時間積分を Cray XC-30 上 4 プロセス 7 スレッドで計算
- SUPACK : 57 時間 44 分
- SJPACK : 215 時間 30 分 (無次元 0.75 時間までの計算時間を外挿)
DCPAM5 の ISPACK2 対応について(竹広)
現在ブランチ切って git repository に格納(feature/takepiro/isapck2-ES)
% git clone -v dennou-k.gfd-dennou.org:/GFD_Dennou_Club/ftp/library/dcpam/git_repos/dcpam.git dcpam-git % git branch feature/takepiro/ispack2-ES % git checkout feature/takepiro/ispack2-ES % git branch -u origin/feature/takepiro/ispack2-ES % git pull
- 力学過程(セミラグランジュ移流計算除く)を ISPACK2 に対応させてみた.
- 全球積分平均ルーチンを spml を使用するよう変更
- あわせて AFES から抜き出したルーチンにも対応させてある.
- configure を簡単にする試みも導入
- 必須ライブラリ設定をなくす. 代わりに mpispmfrt を FC に設定 % setenv FC mpispmfrt % ./configure --enable-mpi ...
- デバッグ時に問題が生じるので spmconfig を使ってライブラリ設定を行うよう変更を検討中..
- 変更ファイル
- configure
- configure.in
- src/dynamics/dynamics_hspl_vas83.F90
- src/setup/axesset.F90
- src/setup/mpi_wrapper.F90
- src/sltt/sltt.F90
- src/util/intavr_operate.F90
- 使い方
- ispack2 対応の spml をインストール
- svpack : Config.mk の SYSLDFLAGS に -DSVPACK を追加
- supack : MPI 用の config + Config.mk の SYSLDFLAGS に -DSUPACK を追加.
- 計算チェック
- Held and Suartz (1994) のベンチマーク結果は OK
- ホットジュピター力学計算 (T42L50) で計算結果が SJPACK とあっていることを対上平均場の図で確認
- もっと長時間積分, 図をていねいにみないといけない.
- 計算速度
- 解像度が低い(T42 程度)と SJPACK-MPI と大差ない
- 解像度が高い(T341 程度)だと ES ルーチンの 2 倍程度(Cray X30, 16 プロセス 7 スレッド)
- Cray-XC30 上で SUPACK 計算の並列度を増やすとメモリー消費量が増えて落ちる. 原因追求中.
ポスト京
- 適宜進行中? 詳細はまだ不明...
次回日程
- 2016/06/08 (水) 15:30 より.