新粘性制御法による超並列ビット演算流体シミュレーション手法の開発
Development of a Fluid Simulation Approach by Massively Parallel Bits-operations with a New Viscosity Control Method
松岡 浩 (東北大学電気通信研究所)
Hiroshi Matsuoka
大規模並列ベクトル計算機上において高速計算性能を効率よく発揮できると考えられる“格子ガス法超並列計算手法”について,有限長円柱の後流に発生する3次元うずの数値シミュレーションを行い,既に先行研究で得られている実験結果やナビエ・ストークス解法によるシミュレーション結果等と比較することにより,実用的な大規模問題への適用可能性を評価する.
特に,これまで自主開発してきた超並列ビット演算による格子ガス法流体シミュレーションコードに対して,仮想粒子の衝突規則を変化させることによって格子点数を増やさずに流体粘性を変化させる新しい粘性制御法を組み込み,粘性が非常に小さい場合の高レイノルズ数大規模問題をどこまでシミュレーション可能かその限界を追求する.
1ベクトルプロセッサあたり16384個の格子点に関する計算を一括実行できる超並列ビット演算法の効率を上げ,模擬可能な流体現象のRe数領域の上限をのばす.
流体実験やナビエ・ストークス解法による数値シミュレーション研究の蓄積が進んできた「有限長円柱の後流に発生する3次元渦」の模擬計算を行い,無矛盾を確認する.
格子ガス法における仮想粒子の衝突規則を変化させることで格子点数を増加させずに高Re数化を実現できる新しい粘性制御法を組み込み,高Re数化の限界に挑戦する.
平成22年度は,3年計画の初年度であり,4. 今年度当初の計画1) および2) に示した研究計画に沿って,
当グループで自主開発中の格子ガス法シミュレーションコードでは,個々の格子点に関する一連のデータ処理を1ビット幅で実行できる.このため,SX-9や地球シミュレータのようなベクトル処理プロセッサでは,1回のベクトル命令発行で,64ビット/ワード×256ワード/命令=16384ビット/命令のデータが処理されることから,16384個の格子点に係る計算を1CPUで並列パイプライン的に一括実行できる.このような多数の格子点に関する計算を同一のプロセッサさらには同一のノードで実行できることは,プロセッサ間通信またはノード間通信の相対的頻度を減らせる点でも有利である.今回,上記シミュレーションコードに,流体粘性を小さく制御する新しい方法のひとつとして「多段2体衝突法」を組み込むとともに,コード内の記述を見直して並列化効率の向上を図った.その結果,72ノード(576CPU)で約92.8%の並列化効率を得た.これは,格子ガス法計算モデルが超並列計算に向いていることをこれから示しいくための第1歩としては,満足できる値だと考えている.
なお,本コードを利用して試行的に行った有限長円柱後流の模擬計算からは,23年度から実施する予定の模擬計算におけるパラメータ設定値の適切な範囲を把握できた.また,本コードに付与した相関係数の算出機能を動作させることで,相関係数のオーダーを把握できた.これによって,粘性の変化をモニターできることを期待している.
※年度当初の研究計画を全て達成した場合を100%として数値で示してください. 複数の目標があった場合は, それぞれについて達成度を数値で示してください.
※計画的に計算機資源を利用できているか, 状況を記載してください.
平成22年末までに,グループ全体で2568ノード時間積の利用(22年度の利用可能資源量2600ノード時間積の約98.8%)を終えており,利用は順調に推移している.
※ベクトル化, 並列化チューニング等, 計算機資源を有効利用するために行ったこととその効果を記載してください.
初歩的なことであるが,上記の「多段2体衝突法」を組み込む際に,その都度必要になる乱数をその都度発生させるとベクトル化が崩れるが,1段上のループでまとめて発生させることによってベクトル化を保持することができた.