「京」コンピュータを用いたNICAMの単体性能チューニング

書誌事項

タイトル別名
  • Performance Tuning of NICAM on a Single Processor by using the K computer

抄録

NICAM(Nohydrostatic Icosahedral Atomospheric Model) は,正二十面体非静力学大気モデルを採用した,全球を対象とする大気大循環モデルの一つである.従来の大気大循環モデルでは球面調和関数展開によるスペクトル法が主流であるのに対して,NICAM は有限差分法を用いることで超並列による超高解像度が特徴で,複雑なパラメタリゼーションを用いないで積雲等の雲解像が可能である.「京」 開発プロジェクトでは,この NICAM について単体性能から高並列化に至る系統的なチューニングを実施している.チューニングの初期段階では,アプリケーション・コードから主要計算部分を含む独立したコード (カーネル) を抽出し,複雑な処理内容を単純化した上で,単体性能のチューニングを実施する.この際,大気・海洋・雪氷等の気候システムに基づく計算に沿って,流体計算を行う 「力学過程」 と外力項を計算する 「物理過程」 を把握した上でカーネルは抽出される.現在,力学過程からは,水平発散項 (divergence),水平拡散項 (diffusion)、鉛直方向の音波・重力波の陰解法 (divdamp),単調性を保存したリミッタ付き風上差分の発散項 (divergence2 rev),水平勾配項 (gradient),鉛直方向のフラックス収束計算 (flux convergence) の抽出を行った.また,物理過程からは雲微物理 (nsw6) について抽出が完了している.本プロジェクトでは,SPARC64TM VIIIfx が提供するハードウェアモニタ情報 (PA 情報) を用いてボトルネックを推察し,各種最適化をカーネルに適用し検証を行った.またコードチューニングだけでなく,コンパイラの改良もされており,それらを含めた現状について実アプリの特性を交えて報告する.

Nonhydrostatic ICosahedral Atmospheric Model(NICAM) is one of the atmospheric general circulation model(AGCM), describes global climate system on the earth. Traditional AGCMs use spectral transform method with spherical harmonics which requires global communication. On the other hand, the new model uses finite difference method instead of spectral method to achieve fine cloud resolving simulation without parameterized model. Especially neighbour communication between computation nodes is dominant and suitable for massively parallel computation in the model. In development of the K computer, we have been conducting performance tuning of the NICAM as comprehensive system evaluation from a single processor to massively parallel computation. In early the step, the developer makes kernel codes from whole application code in order to simplify the problem. These kernel codes are required to take account of physical significance. Therefore there are dynamical kernel codes, calculation of fluid dynamics; and physical kernel codes, calculation of external force. In this study, we extracted six dynamical kernel codes(divergence, diffusion, divdamp, divergence2_rev, gradient, flux_convergence) and a physical kernel code(nsw6). The experiment results show effect of performance optimization for SPARC64TM VIIIfx architecture with the kernel codes.

収録刊行物

詳細情報 詳細情報について

  • CRID
    1050574047131460224
  • NII論文ID
    170000069136
  • Web Site
    http://id.nii.ac.jp/1001/00080222/
  • 本文言語コード
    ja
  • 資料種別
    conference paper
  • データソース種別
    • IRDB
    • CiNii Articles

問題の指摘

ページトップへ