平成22年度 地球シミュレータ利用報告会

新粘性制御法による超並列ビット演算流体シミュレーション手法の開発

発表資料 (1.1MB)

1. プロジェクト名

新粘性制御法による超並列ビット演算流体シミュレーション手法の開発

Development of a Fluid Simulation Approach by Massively Parallel Bits-operations with a New Viscosity Control Method

2. プロジェクト責任者名

松岡 浩 (東北大学電気通信研究所)

Hiroshi Matsuoka

3. プロジェクトの目的

大規模並列ベクトル計算機上において高速計算性能を効率よく発揮できると考えられる“格子ガス法超並列計算手法”について,有限長円柱の後流に発生する3次元うずの数値シミュレーションを行い,既に先行研究で得られている実験結果やナビエ・ストークス解法によるシミュレーション結果等と比較することにより,実用的な大規模問題への適用可能性を評価する.
 特に,これまで自主開発してきた超並列ビット演算による格子ガス法流体シミュレーションコードに対して,仮想粒子の衝突規則を変化させることによって格子点数を増やさずに流体粘性を変化させる新しい粘性制御法を組み込み,粘性が非常に小さい場合の高レイノルズ数大規模問題をどこまでシミュレーション可能かその限界を追求する.

4. 今年度当初の計画

1) 超並列ビット演算法の計算効率向上 : 平成22年度

1ベクトルプロセッサあたり16384個の格子点に関する計算を一括実行できる超並列ビット演算法の効率を上げ,模擬可能な流体現象のRe数領域の上限をのばす.

2) 有限長円柱後流の模擬計算確認 : 平成22年度および平成23年度

流体実験やナビエ・ストークス解法による数値シミュレーション研究の蓄積が進んできた「有限長円柱の後流に発生する3次元渦」の模擬計算を行い,無矛盾を確認する.

3) 新粘性制御法による高Re数状態の模擬 : 平成23年度および平成24年度

格子ガス法における仮想粒子の衝突規則を変化させることで格子点数を増加させずに高Re数化を実現できる新しい粘性制御法を組み込み,高Re数化の限界に挑戦する.

5. 研究計画に沿った利用状況

平成22年度は,3年計画の初年度であり,4. 今年度当初の計画1) および2) に示した研究計画に沿って,

  • 超並列ビット演算法が地球シミュレータ上で効率よく動くよう高度化を行うこと
  • 「有限長円柱の後流に発生する3次元渦」の模擬計算に着手すること
  • 乱流スペクトルコードの高度並列化に着手すること
  • を目指した.
     実際には,当グループで自主開発中の格子ガス法シミュレーションコードについて,新粘性制御法(I)を組み込み,その動作が適切なものであることを確認する作業で,平成22年度の前半を費やした.(←この作業は,数ノードのベクトル計算機で実行できるため,主に東北大学のSX-9を利用.)このため,地球シミュレータL系の本格利用は22年10月から開始した.利用したノード時間積の大部分は,上記①に示した格子ガス法シミュレーションコードの高度化作業であり,上記②の有限長円柱後流の模擬計算についても試行的なものを実行できた.また,上記③の乱流スペクトルコードの高度並列化については,格子ガス法による粘性制御下での乱流スペクトルを分析する際に利用する相関係数の算出機能をシミュレーションコードに付与できた.
     以上のコード改良作業を通じて,平成22年末までに,当グループに割り当てられた利用可能資源量の約98.8%の利用を完了するとともに,7.に示す並列化効率を達成することができ,地球シミュレータの利用は計画どおり推移している.

    6. 今年度得られた成果, および達成度

    成果

    当グループで自主開発中の格子ガス法シミュレーションコードでは,個々の格子点に関する一連のデータ処理を1ビット幅で実行できる.このため,SX-9や地球シミュレータのようなベクトル処理プロセッサでは,1回のベクトル命令発行で,64ビット/ワード×256ワード/命令=16384ビット/命令のデータが処理されることから,16384個の格子点に係る計算を1CPUで並列パイプライン的に一括実行できる.このような多数の格子点に関する計算を同一のプロセッサさらには同一のノードで実行できることは,プロセッサ間通信またはノード間通信の相対的頻度を減らせる点でも有利である.今回,上記シミュレーションコードに,流体粘性を小さく制御する新しい方法のひとつとして「多段2体衝突法」を組み込むとともに,コード内の記述を見直して並列化効率の向上を図った.その結果,72ノード(576CPU)で約92.8%の並列化効率を得た.これは,格子ガス法計算モデルが超並列計算に向いていることをこれから示しいくための第1歩としては,満足できる値だと考えている.
     なお,本コードを利用して試行的に行った有限長円柱後流の模擬計算からは,23年度から実施する予定の模擬計算におけるパラメータ設定値の適切な範囲を把握できた.また,本コードに付与した相関係数の算出機能を動作させることで,相関係数のオーダーを把握できた.これによって,粘性の変化をモニターできることを期待している.

    達成度

    ※年度当初の研究計画を全て達成した場合を100%として数値で示してください. 複数の目標があった場合は, それぞれについて達成度を数値で示してください.

    • 1) 超並列ビット演算法の計算効率向上 100%
    • 2) 有限長円柱後流の模擬計算確認 90%

    7. 計算機資源の利用状況

    計算機資源の利用状況

    ※計画的に計算機資源を利用できているか, 状況を記載してください.

    平成22年末までに,グループ全体で2568ノード時間積の利用(22年度の利用可能資源量2600ノード時間積の約98.8%)を終えており,利用は順調に推移している.

    チューニングによる成果

    ※ベクトル化, 並列化チューニング等, 計算機資源を有効利用するために行ったこととその効果を記載してください.

    初歩的なことであるが,上記の「多段2体衝突法」を組み込む際に,その都度必要になる乱数をその都度発生させるとベクトル化が崩れるが,1段上のループでまとめて発生させることによってベクトル化を保持することができた.