• 検索結果がありません。

付録 H 並列化

N/A
N/A
Protected

Academic year: 2021

シェア "付録 H 並列化"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)

H.1 MPI

2

章で仮定したとおり、

ATM

で扱うトレーサーは現在、相互作用を考えていない。そのため、

ATM

はトレー サーの初期分布に対して重ね合わせの原理が成り立つ方程式系に基づいているという意味で線形モデルであるといえ る。すなわち、2つの初期値から別々に計算した予測結果を合わせたものと、それら2つの初期値を合わせた1つの 初期値から計算した予測結果は一致する1

このような線形モデルは、並列化されたプロセス間のデータの受け渡し(通信)が基本的には不要であるため並列 化の実装が容易である上に計算効率が上がりやすい2

ATM

を利用した予報業務においては、現象発生時の迅速な情 報発表のために予測計算を高速に行うことは、速報性(第

1.2

節)の観点から重要である。そこで、供給源モデルと

ATM

本体にはメモリを共有しない複数プロセスによる並列化である

MPI

を用いて並列計算を実装3し予測計算の高 速化を図っている。ここでは

ATM

における並列化について説明する。

Figure H.1

ATM

の並列計算の概念図を示す。この例では、分割数は

5

である。各プロセスが扱うトレーサー数

は全トレーサー数を均等に配分するため、トレーサー数が

100,000

とすると

1

プロセスあたり

20,000

のトレーサー の計算を行うことになる。この場合、各プロセスは

20,000

のトレーサーの予報結果しかもっていないため全トレー サーの結果を出力するために特定のプロセスに各プロセスからデータを集めて出力する必要があり、

Figure H.1

の例 だとプロセス

0

にデータを集めている(図中の黄色と緑色の領域に対応)。したがって、プロセス

0

とプロセス

0

外は出力の有無という点で異なる処理をしており、出力を担当するプロセス

0

は他のプロセスに比べて負荷が高い。

一方で、

GPV

や初期値の読込みについては全プロセスで読み込み、「読込み専用プロセス」などは用意しておらず負 荷は均等である。また、

GPV

の読み込むタイミングは、利用する

GPV

によって異なり、例えば、

LFM

の場合は

1

時間ごとである(

Table 4.1

参照)。

ATM

MPI

並列計算を行う際の注意点を最後に述べておく。上述したように、トレーサーに対して

ATM

はト レーサーに対する線形モデルであるから、並列化によって予測値は変化しないはずであるが実際には、並列数を変え ると擬似乱数(付録

G

)の順番が異なるため計算結果が完全には一致しない。その差は物理的に意味のない差である ものの、開発の際にはこの差には注意が必要である。すなわち、開発中には「予測結果を変えない些細な変更」を行 うことは頻繁にあり、そのような場合は変更前の結果との一致を確認し想定外の修正をしていないことを確認する。

その際、万が一、異なる並列数で実行した結果を比較すると結果は一致しない。したがって、一致を確認する必要が ある場合は、必ず並列数を合わせて計算を行う必要がある。

1方程式系としては一致するべきであるが、実際の数値計算上では計算の順序による違いや乱数シードの設定によって擬似乱数の順番が異なるため 計算結果が完全に一致することはない。しかし、その違いは物理的に意味のない差である。

2出力やモニタのために最低限の通信は必要となる。

3

ATM

は非

MPI

環境でも実行可能である。その場合、付録

A

Mpi

にある

MPI

ライブラリの呼び出しをまとめた

mpi control.f90

に換え

て、空の

MPI

ライラリ

mpi fake.f90

でコンパイル実行する。後述するログは、ジョブ全体のログに集約して

1

つだけ出力される(1MPI

算の場合はプロセス内とジョブ全体のログが各

1

出力)。

(2)

Figure H.1 Image of MPI parallel computing in the JMA-ATM

H.2

実行時間

MPI

並列化におけるプロセス数とトレーサー数の違いによる

ATM

の実行時間について、気象研究所スーパーコン ピュータシステムで調査した結果4

Figure H.2

に示す。プロセス数を増やしても実行時間は頭打ちし、トレーサー 数に応じて最適なプロセス数が変わることに留意する。

MPI

並列化は粒子数を並列化処理しており、粒子数によらな い処理(

GPV

の読込みなど)に費やす時間は

MPI

並列化によって変わらない。そのため、並列化数を大きくしてい くと、粒子数によらない処理に費やす時間が支配的になり、ある値に漸近していくと考えられる5。したがって、どの 箇所が計算時間に対して支配的かは粒子数に依存し、また同じ粒子数であってもタイムステップなどの計算の設定や 入力する

GPV

の格子数にも計算時間は依存する。運用で利用する際は、実際に

ATM

を実行する環境で運用を想定 した設定やデータを使用して確認しておく必要がある。その際は、付録

H.3

MPI

ログに出力される計算時間が参 考になるだろう。

4

2020

3

2

日更新前の

FX100

による。実行時間は、使用する計算機の演算性能やノード数・コア数などの設定により変化する。

5逐次実行時間に対して並列化できる割合と

MPI

プロセス数の関係については「アムダールの法則」が有名である。

(3)

Figure H.2 Relation between CPU time and MPI processor number. An example of ATM 6-hour prediction with input GPV of LFM. The numerical calculation was executed by the MRI supercomputer.

H.3

ロ グ

ATM

本体ではプロセスごとのログとジョブ全体に対するログの

2

種類のログが出力される。

Figure H.1

の例だと 並列数は

5

なので、合計

6

つ(プロセスごとのログが

5

つ、ジョブ全体に対するログが

1

つ)のログが出力される6

プロセスごとのログの一例として一部を抜粋したものを

Figure H.3

に示す。プロセスごとのログでは、各タイム ステップにおける終端速度に関連した情報(

30

35

行目)、地面に落下したトレーサーの情報(

5

行目)などが記載さ れる。また、このログには各ステップの値以外にもネームリストで指定した各種設定値や粒子の並列化の情報(各プ ロセスが何番目のトレーサーを計算しているかなど)

GPV

の基本情報(水平格子数や格子間隔)、初期値の情報(放 出場所や放出時刻)など様々な情報が記載されている。そのため、異常終了の原因調査などの際はこのログを優先的 に確認する。また、このログの最後には計算時間の内訳が出力される(

Figure H.4

。この計算時間の内訳は高速化を 行う際の目安になり、また、粒子数など計算時間に影響する設定を変えたときや計算機資源を変えたときに、どの処 理の時間が変化しているかなどが確認できる。なお、計算時間(

Figure H.4

cpu(time)

)の単位は、システム(コ ンパイラ)に依存することに注意する7

ジョブ全体に対するログの一例を

Figure H.5

に示す。このログには、いくつかのトレーサーの各ステップの値(位 置や終端速度、

12

23

行目)と対象領域内の最高雲頂高度(

34

行目)や最大濃度(

37

行目)などの全トレーサーか ら計算される量が出力される。

6供給源モデルも同様である。

7気象研究所スーパーコンピュータシステム(CX2550 M5)で利用している

Intel

®

Fortran

コンパイラでは、0.1ミリ秒単位で表示される。し たがって、

Figure H.4

の例の合計計算時間は、

246.8363

秒である。なお、

NAPS10

でも同コンパイラを利用する場合は同じ単位である。

(4)

2 T I M E S T E P ( E L A P S E T I M E ) = 19 / 120 ( 3 4 2 0 . 0 0 0 0 ) 3 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

4 S E T _ H O R I Z O N T A L _ F L A G : # OUT OF D O M A I N ( H O R I Z O N T A L ) = 0 / 6 0 4 9 3 5 J U D G E _ F A L L O U T : # U N D E R G R O U N D T R A C E R = 1 1 4 7 / 6 0 4 9 3

6 T R A C E R 2 G R I D : W E I G H T _ D E P O S I T = 1 . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 T R A C E R 2 G R I D : W E I G H T _ C O N C E N T = 1 . 0 0 0 0 0 0 0 0 0 0 0 0 0 0

8 T R A C E R 2 G R I D : # F A L L O U T = 1 1 6 8

9 T R A C E R 2 G R I D : # D E P O S I T E D = 9

10 T R A C E R 2 G R I D : # W A S H O U T ( R A I N ) = 0 11 T R A C E R 2 G R I D : # W A S H O U T ( S N O W ) = 0 12 T R A C E R 2 G R I D : # W A S H O U T ( G R A U P E L ) = 0

13 T R A C E R 2 G R I D : # R A I N O U T = 0

14 T R A C E R 2 G R I D : # S T I L L _ A C T I V E = 5 9 3 4 6

15 S E T _ V E R T I C A L _ F L A G : # OUT OF D O M A I N ( TOP ) = 0 / 5 9 3 4 6

16 S E T _ V E R T I C A L _ F L A G : # OUT OF D O M A I N ( B O T T O M ) = 32 / 5 9 3 4 6

17 B E L O W _ C L O U D _ S C A V E N G I N G ( R A I N )

18 # W A S H O U T T R A C E R = 0 / 5 9 3 1 4

19 # W A S H O U T T R A C E R ( F O R C E D ) = 0 / 5 9 3 1 4

20 B E L O W _ C L O U D _ S C A V E N G I N G ( S N O W )

21 # W A S H O U T T R A C E R = 0 / 5 9 3 1 4

22 # W A S H O U T T R A C E R ( F O R C E D ) = 0 / 5 9 3 1 4

23 B E L O W _ C L O U D _ S C A V E N G I N G ( G R A U P E L )

24 # W A S H O U T T R A C E R = 0 / 5 9 3 1 4

25 # W A S H O U T T R A C E R ( F O R C E D ) = 0 / 5 9 3 1 4

26 D R Y _ D E P O S I T I O N

27 # D E P O S I T E D T R A C E R = 9 / 5 9 3 1 4

28 - - - TFV M O N I T O R - - - - 29 - - - -

30 ID ( N ) ALT [ m ] P R E S [ hPa ] T E M P [ K ] D E N S [ kg / m3 ] V I S C O S [ m u P a . s ]

S I Z E [ mm ] TFV [ m / s ] R E Y N O L D S _ N U M C U N N I N G H A M _ C O R

31 3 0 0 0 0 6 9 2 4 . 1 0 0 3 8 6 4 3 7 . 4 9 5 4 2 6 2 6 2 . 2 7 0 1 9 6 0 . 5 8 1 0 7 6 1 6 . 6 3 7 0 5 5 0 . 2 3 4 7 3 2 1 . 3 4 3 7 8 9 1 1 . 0 1 6 9 1 4 1 . 0 0 1 4 2 1

32 5 0 0 0 0 1 0 8 9 6 . 9 9 9 2 6 5 2 5 3 . 5 2 0 1 2 4 2 3 4 . 6 8 0 5 1 2 0 . 3 7 6 2 4 5 1 5 . 1 8 6 8 9 5

0 . 0 4 9 0 4 8 0 . 1 2 9 2 1 1 0 . 1 5 7 0 0 7 1 . 0 1 0 1 3 6

33 6 0 0 0 0 1 1 8 1 5 . 1 2 8 6 3 2 2 2 1 . 3 3 1 3 3 2 2 2 7 . 3 3 7 2 4 7 0 . 3 3 9 1 2 0 1 4 . 7 8 8 4 8 3

0 . 0 2 7 6 6 8 0 . 0 4 5 0 3 2 0 . 0 2 8 5 7 1 1 . 0 1 9 7 2 6

34 7 0 0 0 0 1 1 9 9 3 . 9 4 2 1 9 7 2 1 5 . 5 0 6 3 6 1 2 2 6 . 0 6 3 3 0 9 0 . 3 3 2 0 1 8 1 4 . 7 1 8 8 0 6

0 . 0 0 6 0 8 8 0 . 0 0 2 4 8 3 0 . 0 0 0 3 4 1 1 . 0 9 1 3 8 8

35 1 0 0 0 0 0 1 1 9 3 1 . 4 3 2 7 8 6 2 1 7 . 5 4 7 1 7 7 2 2 6 . 5 0 5 6 6 5 0 . 3 3 4 5 1 2 1 4 . 7 4 3 0 2 0

0 . 0 1 2 0 9 7 0 . 0 0 9 2 2 5 0 . 0 0 2 5 3 2 1 . 0 4 5 6 7 8

36 - - - TFV M O N I T O R ( END ) - - - - 37 - - - -

Figure H.3 Example of a part of a process log (time step)

(5)

1 = = = = = = = = = = = = = = = cpu t i m e = = = = = = = = = = = = = = =

2 s u b u b r o u t i n e cpu ( t i m e ) cpu r a t e (%) n u m b e r

3 1 S T A R T 1 . 0 0 0 0 0 0 . 0 0 0 1

4 2 R E A D _ N A M E L I S T 4 4 0 . 0 0 0 0 0 0 . 0 1 8 1

5 3 I N I T I A L I Z A T I O N 1 5 5 8 4 . 0 0 0 0 0 0 . 6 3 1 1

6 4 I N P U T _ C O N S T _ G P V 2 8 7 6 . 0 0 0 0 0 0 . 1 1 7 1

7 5 R E A D _ I N I T I A L _ T R A C E R 3 2 . 0 0 0 0 0 0 . 0 0 1 1

8 6 W R I T E _ T R A C E R _ H E A D E R 1 3 . 0 0 0 0 0 0 . 0 0 1 1

9 7 P R E P A R E _ W O R K _ V A R I A B L E 1 1 8 . 0 0 0 0 0 0 . 0 0 5 1

10 8 M A I N _ L O O P _ S T A R T 3 . 0 0 0 0 0 0 . 0 0 0 1

11 11 P R E P O S T : S E T _ T I M E S T E P 5 8 3 . 0 0 0 0 0 0 . 0 2 4 121

12 12 P R E P O S T : A C T I V A T E _ T R A C E R 6 0 . 0 0 0 0 0 0 . 0 0 2 121

13 21 P R E P O S T : F I N D _ G P V _ I J 2 5 2 7 0 7 . 0 0 0 0 0 1 0 . 2 3 8 121

14 22 P R E P O S T : I N T P _ Z S _ T R A C E R 3 2 6 3 5 . 0 0 0 0 0 1 . 3 2 2 121

15 31 P R E P O S T : F A L L O U T _ J U D G E M E N T 1 6 7 . 0 0 0 0 0 0 . 0 0 7 121

16 32 P R E P O S T : P O S I T I O N _ A D J U S T M E N T 5 1 2 . 0 0 0 0 0 0 . 0 2 1 121

17 33 P R E P O S T : F I N D _ A T M _ I J 8 8 6 9 4 . 0 0 0 0 0 3 . 5 9 3 121

18 40 P R E P O S T : T R A C E R 2 G R I D 9 5 7 5 . 0 0 0 0 0 0 . 3 8 8 121

19 50 O U T P U T _ A T M 6 0 2 3 . 0 0 0 0 0 0 . 2 4 4 121

20 60 I N P U T _ G P V 1 0 8 5 5 2 . 0 0 0 0 0 4 . 3 9 8 120

21 71 PRE : F I N D _ G P V _ K 1 9 0 7 2 . 0 0 0 0 0 0 . 7 7 3 120

22 72 PRE : S E T _ I N T P _ T I M E 8 7 9 . 0 0 0 0 0 0 . 0 3 6 120

23 73 PRE : I N T P _ G P V 1 8 9 9 0 4 9 . 0 0 0 0 0 7 6 . 9 3 6 120

24 99 R U N _ L O N G : D E C A Y 1 7 3 . 0 0 0 0 0 0 . 0 0 7 120

25 110 R U N _ L O N G : W A S H O U T 5 6 2 2 . 0 0 0 0 0 0 . 2 2 8 120

26 120 R U N _ L O N G : R A I N O U T 5 3 . 0 0 0 0 0 0 . 0 0 2 120

27 130 R U N _ L O N G : D R Y _ D E P O S I T I O N 9 6 8 . 0 0 0 0 0 0 . 0 3 9 120

28 140 R U N _ L O N G : H O R I Z O N T A L _ D I F F U S I O N 8 1 5 3 . 0 0 0 0 0 0 . 3 3 0 120

29 150 R U N _ L O N G : V E R T I C A L _ D I F F U S I O N 2 0 0 0 . 0 0 0 0 0 0 . 0 8 1 120

30 200 R U N _ L O N G : S U M _ T E N D E N C Y _ L O N G 8 2 8 . 0 0 0 0 0 0 . 0 3 4 120

31 510 RUN : H O R I Z O N T A L _ A D V E C T I O N 3 7 8 4 . 0 0 0 0 0 0 . 1 5 3 120

32 520 RUN : V E R T I C A L _ A D V E C T I O N 1 3 5 . 0 0 0 0 0 0 . 0 0 5 120

33 530 RUN : G R A V I T A T I O N A L _ F A L L O U T 4 5 2 4 . 0 0 0 0 0 0 . 1 8 3 120

34 600 RUN : S U M _ T E N D E N C Y _ P A R T 6 5 2 . 0 0 0 0 0 0 . 0 2 6 120

35 700 RUN : S U M _ T E N D E N C Y 1 2 1 3 . 0 0 0 0 0 0 . 0 4 9 120

36 810 P O S T : T I M E _ I N T E G R A L 1 5 2 5 . 0 0 0 0 0 0 . 0 6 2 120

37 900 D E A L L O C A T I O N 1 1 5 8 . 0 0 0 0 0 0 . 0 4 7 1

38 - - - -

39 - - t o t a l cpu t i m e - - 2 4 6 8 3 6 3 . 0 0 0 0 0 1 0 0 . 0 0 0 0

Figure H.4 Example of a part of a process log (cpu time)

(6)

11 - - - -

12 ID ( N ) T I M E [ sec ] LAT [ deg ] LON [ deg ] ALT [ m ] S I Z E [ m ]

S I Z E [ phi ] D E N S [ kg / m3 ] M A S S [ kg ] S _ F L A G R _ F L A G

13 1 0 0 0 0 2 5 2 0 . 0 0 0 0 0 0 3 2 . 9 5 1 7 9 2 1 3 1 . 1 4 4 0 7 4 6 9 1 . 0 9 2 7 1 3 0 . 0 0 1 0 9 7 1 1 1

- 0 . 1 3 3 7 0 9 8 6 2 1 2 1 5 . 8 6 4 2 8 6 1 5 1 7 9 . 0 1 7 7 9 6 0 11

14 2 0 0 0 0 1 0 8 0 . 0 0 0 0 0 0 3 2 . 9 0 2 7 2 9 1 3 1 . 0 9 8 3 7 3 7 2 5 . 0 1 9 5 4 1 0 . 0 0 6 5 4 1 0 9 8

- 2 . 7 0 9 5 3 2 7 3 0 1 0 4 1 . 5 3 6 2 6 3 1 5 1 7 9 . 0 1 7 7 9 6 0 11

15 3 0 0 0 0 3 6 0 0 . 0 0 0 0 0 0 3 2 . 8 8 4 0 0 9 1 3 1 . 2 3 8 5 9 1 6 6 8 1 . 3 8 3 9 9 3 0 . 0 0 0 2 3 4 7 3 2

2 . 0 9 0 9 1 3 1 3 2 1 6 4 4 . 0 7 4 8 6 6 1 5 1 7 9 . 0 1 7 7 9 6 1 1

16 4 0 0 0 0 1 0 8 0 . 0 0 0 0 0 0 3 2 . 9 1 0 9 5 8 1 3 1 . 1 0 5 6 3 5 7 3 9 . 5 4 6 1 4 5 0 . 0 0 3 1 4 6 6 4 6

- 1 . 6 5 3 8 1 4 8 5 7 1 0 8 3 . 6 6 5 8 5 7 1 5 1 7 9 . 0 1 7 7 9 6 0 11

17 5 0 0 0 0 3 6 0 0 . 0 0 0 0 0 0 3 2 . 8 8 0 5 0 9 1 3 1 . 2 6 4 0 8 1 1 0 8 7 9 . 6 0 2 3 6 8 0 . 0 0 0 0 4 9 0 4 8

4 . 3 4 9 6 6 7 6 3 3 2 1 2 4 . 2 8 2 1 4 6 1 5 1 7 9 . 0 1 7 7 9 6 1 1

18 6 0 0 0 0 3 6 0 0 . 0 0 0 0 0 0 3 2 . 8 9 7 5 8 5 1 3 1 . 2 5 2 2 5 8 1 1 8 0 9 . 3 9 7 1 8 8 0 . 0 0 0 0 2 7 6 6 8

5 . 1 7 5 6 5 8 1 4 9 2 2 2 9 . 8 6 3 1 3 1 1 5 1 7 9 . 0 1 7 7 9 6 1 1

19 7 0 0 0 0 3 6 0 0 . 0 0 0 0 0 0 3 2 . 9 1 3 6 5 9 1 3 1 . 2 4 7 0 7 0 1 1 9 9 5 . 4 4 8 5 4 7 0 . 0 0 0 0 0 6 0 8 8

7 . 3 5 9 9 2 8 3 5 9 2 3 5 8 . 6 4 6 0 3 8 1 5 1 7 9 . 0 1 7 7 9 6 1 1

20 8 0 0 0 0 1 9 8 0 . 0 0 0 0 0 0 3 2 . 9 3 3 7 1 0 1 3 1 . 1 0 9 9 8 7 6 8 3 . 2 1 7 6 7 6 0 . 0 0 0 7 7 1 5 6 5

0 . 3 7 4 1 3 9 9 8 6 1 2 8 8 . 1 9 4 7 5 5 1 5 1 7 9 . 0 1 7 7 9 6 0 11

21 9 0 0 0 0 7 2 0 . 0 0 0 0 0 0 3 2 . 8 9 2 4 5 0 1 3 1 . 0 8 4 5 4 5 7 3 2 . 6 0 2 2 7 4 0 . 0 0 1 1 1 0 1 4 2

- 0 . 1 5 0 7 4 4 5 2 5 1 2 1 3 . 7 1 7 2 5 4 1 5 1 7 9 . 0 1 7 7 9 6 0 11

22 1 0 0 0 0 0 3 6 0 0 . 0 0 0 0 0 0 3 2 . 8 9 6 6 8 2 1 3 1 . 2 4 8 7 7 2 1 1 9 3 1 . 8 1 5 7 5 6 0 . 0 0 0 0 1 2 0 9 7

6 . 3 6 9 2 4 7 3 3 3 2 3 2 0 . 1 5 2 7 9 7 1 5 1 7 9 . 0 1 7 7 9 6 1 1

23 ID ( N ) T I M E [ sec ] LAT [ deg ] LON [ deg ] ALT [ m ] S I Z E [ m ]

S I Z E [ phi ] D E N S [ kg / m3 ] M A S S [ kg ] S _ F L A G R _ F L A G

24 - - - T R A C E R M O N I T O R ( END ) - - - - 25 - - - - 26 - - - ATM G R I D M O N I T O R - - - -

27 - - - -

28 MAX : T D E P [ kg / m2 ] , G R I D ( S U R F ) = 0 . 1 5 6 7 5 1 8 2 1 8 5 8 9 8 9 263 247

29 MAX : F O U T [ kg / m2 ] , G R I D ( S U R F ) = 0 . 1 5 5 7 5 5 1 7 1 6 2 9 8 7 8 263 247

30 MAX : D D E P [ kg / m2 ] , G R I D ( S U R F ) = 9 . 9 6 6 5 0 2 2 9 1 1 0 8 0 5 4 E - 0 0 4 263 247

31 MAX : W O U T [ kg / m2 ] , G R I D ( S U R F ) = 0 . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 E + 0 0 0 1 1

32 MAX : R O U T [ kg / m2 ] , G R I D ( S U R F ) = 0 . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 E + 0 0 0 1 1

33 MAX : M A X D [ m ] , G R I D ( S U R F ) = 9 . 5 9 1 1 6 8 5 9 2 2 1 4 9 4 9 E - 0 0 2 263 247

34 MAX : C T O P [ m asl ] , G R I D ( S U R F ) = 1 2 0 1 6 . 6 7 1 6 5 8 4 7 3 0 264 247

35 MIN : C B A S E [ m asl ] , G R I D ( S U R F ) = 6 5 9 . 5 1 0 3 1 0 1 0 4 4 2 4 263 247

36 MAX : T C L M [ kg / m2 ] , G R I D ( S U R F ) = 0 . 1 3 8 2 2 4 5 4 8 4 7 5 3 4 5 263 247

37 MAX : A C O N [ kg / m3 ] , G R I D ( 2) = 6 . 9 2 3 3 1 6 6 9 9 3 6 8 3 5 3 E - 0 0 6 263 247

38 MAX : A C O N [ kg / m3 ] , G R I D ( K M A X ) = 9 . 1 0 2 3 2 4 5 4 3 6 5 1 2 2 1 E - 0 0 6 264 247 39 - - - ATM G R I D M O N I T O R ( END ) - - - -

40 - - - - 41 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

42 T I M E S T E P ( E L A P S E T I M E ) = 21 / 120 ( 3 7 8 0 . 0 0 0 0 ) 43 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 44 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 45 T I M E S T E P ( E L A P S E T I M E ) = 22 / 120 ( 3 9 6 0 . 0 0 0 0 ) 46 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 47 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 48 T I M E S T E P ( E L A P S E T I M E ) = 23 / 120 ( 4 1 4 0 . 0 0 0 0 ) 49 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Figure H.5 Example of a part of an ATM log

Figure H.1 Image of MPI parallel computing in the JMA-ATM H.2 実行時間 MPI 並列化におけるプロセス数とトレーサー数の違いによる ATM の実行時間について、気象研究所スーパーコン ピュータシステムで調査した結果 4 を Figure H.2 に示す。プロセス数を増やしても実行時間は頭打ちし、トレーサー 数に応じて最適なプロセス数が変わることに留意する。 MPI 並列化は粒子数を並列化処理しており、粒子数によらな い処理( GPV の読込みなど
Figure H.2 Relation between CPU time and MPI processor number. An example of ATM 6-hour prediction with input GPV of LFM
Figure H.3 Example of a part of a process log (time step)
Figure H.4 Example of a part of a process log (cpu time)
+2

参照

関連したドキュメント

概要 空間分割により並列化された分子動力学法コードの開発、及び並列化効率について調べた。ウィークスケー

• MPI Forum による並列コンピューティン グの規格でありプログラミング言語では ない。 規格に基づいて実装された MPI ライブラ

装し,単純な手法の SIMD 並列化(以下,単純 SIMD 並列 化)と比較してどれだけタスク数を減少させることができ

 

Fortran コンパイラの自動並列化機能とは,コンパイラが Fortran

リング手法が開発されている.ループ並列化手法は大き

本稿では DEM において,マルチカラー接触判定法をノー ド内のスレッド並列化に用い,ノード間の MPI 並列化を行

2 つの問題に対し,それぞれの並列モデルで計測を行い,計算性能を以下に示す(図 5,図 6).まず図