WRFはNCAR(米国大気研究センター)などが開発している,世界的に広く用いられている次世代のメゾスケール数値予測システムで,
デスクトップPC,PCクラスタ,スパコンにいたるまで幅広い環境で利用されています.

株式会社オーティビーではWRFをインストールした並列計算システムを全国販売しております.


WRFによる並列計算


WRF(Weather Research and Forecast)モデルはNCAR(米国大気研究センター)などが開発している次世代のメゾスケール数値予測システムです.
実際の気象予報に利用されているだけでなく,集中豪雨のような自然災害,都市部のヒートアイランド現象,化学物質の拡散などに関する研究などに広く用いられています.

WRFは広範囲・高解像度の予測を行うために大きな計算能力を必要とすることからOpenMP,MPI,OpenMP+MPIといったさまざまな並列計算が行えるようなソフトウェアアーキテクチャになっています. そのため,マルチコアCPUを利用できるスタンドアロンのPCからスパコンのような大規模なクラスタまで,さまざまなプラットフォームで利用されています.

また,GPUを使った高速化などに関しても進んでおり,さまざまな計算モデルに対してGPUを利用できるようになることも期待されています.

 

GNU,インテルコンパイラによるベンチマーク

WRF User Pageで公開されているCase Studies(http://www2.mmm.ucar.edu/wrf/OnLineTutorial/CASES/index.html)のデータを使用し,
GNUコンパイラとインテルコンパイラを使って実行時間の違いを測定しました.

ここでは,Default January 2000 caseとSingle Model Domain Case (Hurricane Katrina)の結果を紹介します.
マシンには4コアCPUを搭載したデスクトップPCを使い,シングルコアとOpenMP並列(smpar)でコンパイルしたWRFにより計算を行っています.

計算環境
WRF version WRF 3.6 (バグフィックスパッチ適用)
CPU Intel core i5 4670 @ 3.40GHz 4core
Memory DDR3 1600MHz 8GB(1 channel)
OS CentOS 6.5
GNUコンパイラ GNU 4.4.7 20120313 (gcc, gfortran)
インテルコンパイラ version 14.0.2 (icc, ifort)

GNUコンパイラについてはconfigureファイル中の最適化オプションは変更していません.
インテルコンパイラについてはコンパイラのバグが原因でconfigureファイル中の最適化オプション-O3が使えないために
-O2に変更しています.その他の最適化を行うオプションなどは変更していません.


以下のグラフはそれぞれの問題に対するGNUとIntelコンパイラでコンパイルした場合の実行時間のグラフになります.

グラフの縦軸は実行時間を表しており,低いほど良い結果であるといえます. データは各コンパイラにおけるシリアルバージョンと
OpenMP並列バージョンになります.



WRF 数値流体シミュレーション 気象モデルのベンチマーク結果イメージ WRF 数値流体シミュレーション 気象モデルのベンチマーク結果イメージ

どちらのケースに対しても,GNUコンパイラでコンパイルするよりもインテルコンパイラでコンパイルを行った方が実行時間が
短くなっていることがわかります.
インテルコンパイラによる高速化の効果はシリアルで1.8倍程度,OpenMPで1.4倍になっています.GNUコンパイラからインテルコンパイラに
変更することによって40%程度計算時間が短縮
されるということになりますので, 大規模な領域を対象にする場合や格子点数を増やす場合など,
計算時間が長くなる場合には特にメリットが大きいと言えます.

次にそれぞれのコンパイラに関してシリアルとOpenMPでの計算時間を比較します.CPU 4コアを使用した場合,GNUコンパイラの場合では2.5倍程度,
インテルコンパイラの場合で2.0倍程度と,どちらのコンパイラも並列化したときの速度向上があまり良くありません.
このような低い並列化効率の原因は,メモリバンド幅が小さい,また問題サイズが小さいためと推測されます.
メモリ帯域を確保して,より計算量の多い問題を解く場合には並列化効率が改善するのではないかと思われます.

今回計算した2つのケースでは,アグレッシブな最適化をしない場合にインテルコンパイラを使用することでGNUに比べ
て数10%高速化されました. このような高速化の効果はハード,OS,コンパイルオプションなどに依存して変わってきますが,
コンパイラを変えることも手軽な高速化の手段の一つとして有効であると言うことができます.


 

 
ハードウェア:
 
スタンドアローンPC  (OTB製サーバ等
 
MPIクラスター (OTB製
   
 
コンパイラ:GNU,インテルコンパイラに対応します.当社はインテル ソフトウェア開発製品の販売代理店です.
   
 
システム構築: OTBで行います.可視化ソフトなどの周辺ツールについてもご相談承ります.
   
  お見積はOTB社のWEBページからご希望PCモデルをご選択し"WRF"と付記しご送信下さい.


 

 

   (C)Copyright OTB Transnational Inc. 2014 All rights reserved.