Thesis or Dissertation プラズマシミュレーションコードrmhdperとAstroGKの並列計算による高速化

宮川, 大和  ,  ミヤガワ, ヤマト  ,  Miyagawa, Yamato

pp.1 - 69 , 2016-03-25 , The University of Electro-Communications
Description
一般的にプラズマシミュレーションの計算には長い時間が必要とされている.そのため大型計算機における並列処理能力が必要とされると同時にシミュレーションコードの最適化が重要となる. 本研究の目的は,オープンソースである磁気流体力学 (Magneto-Hydro-Dynamics: MHD) に関するコードrmhdperおよびジャイロ運動論コードAstroGKについて並列計算を用いた高速化を図ることである.両シミュレーションコードは擬スペクトル法に基づく数値コードであるため,高速フーリエ変換 (Fast Fourier Transform: FFT) を利用している.まず,rmhdper に対してOpenMP によるマルチスレッド並列処理を施して高速化を図った.マシンの最大コア数を利用してマルチスレッド並列処理を行った場合,最大スレッド数が各並列計算領域によって最適なスレッド数とは限らないため,領域ごとのスレッド数を実行時に自動的に調節する自動チューニングシステムを開発した.このシステムを複数のマルチスレッド並列処理領域に利用することで各領域におけるスレッド数が最適化され,自動で最適な並列計算を行うことができるようにした.高速化実験の結果,グリッド数4096×4096の時に初期状態に比べ1ステップあたりの計算時間が11.18秒から2.68秒となり,最大で約76%の時間短縮に成功した.次に,MPIのみによるマルチプロセス並列処理が可能なAstroGKに対し,OpenMPを利用したマルチスレッド並列処理を施し,ハイブリッド並列処理による高速化を図った.OpenMPによる並列処理領域の追加によりリダクション演算にかかる時間が短くなった.また,レイアウト変換にかかる時間も予想していた時間ほどではないが減少した.高速化実験の結果,グリッド数128×128×64×64の時において4096コアを利用した初期状態の実行時間3.029分に比べ,同コア数で1024プロセス4スレッド利用時の実行時間が1.973分となり,最大で約35%の時間短縮に成功した.

Number of accesses :  

Other information