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 変数)へ変更

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 より.