Skip to content

IO Benchmark of R2D2 radiation MHD code developed by Hideyuki Hotta @ Nagoya University

Notifications You must be signed in to change notification settings

tsukuba-hpcs/R2D2-IO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FS I/O担当の方々へ

アプリの実行方法

make/Makefileにコンパイル方法が示してあります。 富岳での実行を想定していますが、難しいことはやっていないので、gfortranifxでも動くはずです。

make/Makefile冒頭の

SERVER=FUGAKU # for FUGAKU

でコンパイルをコントロールしています。

PPC := $(PPC) -Dposixio_write
PPC := $(PPC) -Dposixio_read

が指定されているときはMPIスレッドごとにファイルに読み書きします。ここをコメントアウトするとMPI I/Oを用いて、一つのファイルに書き込むようになります。

FS/以下でmakeとすればコンパイルされます。FS/sh以下に富岳用のジョブ投入のシェルスクリプト(fg.sh)も提供しています。

プログラム群

FS/src/all以下に全てのプログラムが配置してあります。まずはmain.F90を見ていただくと全体的な流れがわかると思います。 主な出力部分はio.F90です。 チェックポイントデータは、FS/data/qqに、解析のためのデータはMPIスレッド内で少し配置換えをしてからFS/data/remap/qqに書き出しています。ディレクトリは、ジョブ実行中に生成されます。配置換えはremap.F90で実施しています。

格子点数はgeometry.F90で設定しています。

  integer, parameter, private :: nx0 = 256, ny0 = 128, nz0 = 128

nx0, ny0, nz0はそれぞれMPIスレッドごとの格子点数(袖なし)です。

  integer, parameter :: ix0 = 8, jx0 = 16, kx0 = 16

で各方向の領域分割数を決めています。ix0*jx0*kx0が全MPIスレッド数になるようにしています。 富岳では、1ノードあたり4MPIスレッドになるようにしていて、ジョブ投入の際

#PJM -L "node=ix0xjx0/2xkx0/2"

となるようにすると、fjmpiで富岳の実ノード配置を見てから都合の良いように並べてくれます。 これを破るとMPI_cart_createで決定するノード配置となるようになっています。

典型的計算サイズ

現在実施している最も大きな計算だと8192ノードで1ノードあたり4MPIスレッドを割り当てて、32768MPIスレッド。1MPIスレッド128x192x192程度です。

変更履歴

2024年1月30日 堀田英之

About

IO Benchmark of R2D2 radiation MHD code developed by Hideyuki Hotta @ Nagoya University

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published