研究実績の概要 |
複数GPUを用いた近接相互作用の粒子シミュレーションにおいて、GPU間の動的負荷分散は並列化効率を維持し、大規模シミュレーションを実行可能にするために必須の手法である。昨年度はスライス・グリッド法を用いた GPU 間の動的な負荷分散法により粉体や流体、流体構造連成問題の様々な大規模シミュレーションをGPUスパコン上で可能にした。しかしながら「スライス・グリッド法」による動的負荷分散は256GPU~512GPUを用いた段階で著しく並列化効率が悪化することがわかり、更なる大規模化を阻む大きな原因であることが明らかになった。そこで、本年度はプロトタイプ実装に留まっていた木構造に基づく領域細分化に対するヒルベルトなどの空間充填曲線を用いた階層型の動的負荷分散を、GPUスパコンの分散ノードに搭載されたGPU間の動的負荷分散コードへと拡張させ、GPU間の動的負荷分散法として利用できるようにした。粉体や流体の大規模シミュレーションにおける大幅な並列化効率の向上を試み、弱スケーリングでは従来手法と比べて 42 %の並列化効率の向上させることができ、ヒルベルト空間充填曲線を用いることにより 256台のGPUを用いた段階で 95 %以上の並列化効率を達成することができた。並列化効率が向上する理由としてヒルベルト曲線を用いた場合に32GPUと256GPUの段階で隣接する分割小領域の接続数が変わらないなど空間充填曲線特有の局所性の高さがあることが示された。強スケーリングにおいても、スライス・グリッド法と比較して 2 倍以上の実行性能の向上を達成できた。提案するGPU間の動的負荷分散法を実問題に適用し、社会的に意義の大きい現実問題として10,368個の多数の瓦礫を伴う1億1750万個の解析粒子を用いた大規模土石流シミュレーションを実現できた。本研究成果が関連分野に与える影響は大きいといえる。
|