大規模分子動力学フレームワークの開発と複雑流体への応用
【研究キーワード】
分子動力学法 / 並列化 / ロードバランシング / 計算物理 / 複雑流体 / ハイパフォーマンス・コンピューティング / コード自動生成
【研究成果の概要】
近年の計算機は階層化、複雑化が進んでおり、その性能を活用するためのプログラム開発労力は大きくなっている。特に問題となるのが、年々増え続けるSIMD幅への対応と、分散メモリ環境における並列化効率である。富岳は512ビットのSIMD幅を持つアーキテクチャを持ち、64ビットの倍精度実数8要素同時に計算することができる。しかし、そもそもループ長が短い短距離分子動力学法において、このSIMD幅を活用できるかどうか、データレイアウトはどのようなものが良いかは非自明であった。そこで富岳における短距離分子動力学法コードの性能を調べるため、Lennard-Jonesポテンシャルの力の計算カーネルのベンチマークを行った。他のアーキテクチャでは大きな差が出やすいAoS/SoAのデータ構造の違いは、富岳では大きな差として現れなかった。「京」の場合と同様に作用反作用を用いない最適化が有効であり、計算量が2倍になるかわりに、計算時間が40%程度となった。その結果、ピーク性能比は4.8倍となったが、これは実アプリにおけるピーク性能比の向上率にほぼ等しい。また、超並列環境におけるロードバランシングアルゴリズムについて検討を行った。ロードバランシングアルゴリズムとして広く用いられているGlobal Sort法では、全粒子情報を一度まとめる必要があるため、大規模計算ではメモリ枯渇の恐れがある。そこで、局所的な情報をもとに負荷を調整する手法として、ボロノイ分割による領域分割アルゴリズムを検討した。液滴系について性能を調査したところ、Global Sort法ではほぼ理想的な負荷バランスが実現しているのにたいして、ボロノイ分割アルゴリズムではそれより3%程度効率が落ちるにとどまり、超並列環境において、省メモリと高性能を両立できる見通しを得た。
【研究代表者】
【研究種目】基盤研究(C)
【研究期間】2021-04-01 - 2026-03-31
【配分額】3,770千円 (直接経費: 2,900千円、間接経費: 870千円)