2025年6月4日水曜日

SPH on GPU

DualSPHysics が v5.4 になって数カ月が経過しました。

このVerでは Variable resolution model が実装されています。これはありがたい(と思いながら理屈を読んでいません)。
取り急ぎ解きたい問題がないので、まだ触っていません。が、定期的に新しく発表された文献の内容が取り入れられ保守されているのは、良いコード、チームだと感じます。

そういえば手元の 弾塑性 SPH コードが OpenMP 止まりだったので、そろそろ GPU を使おうと思い立ちました。FP64を潤沢に使える環境ではないので、単精度でも問題ない箇所のみを OpenACC で変更します。Cell-linked list  の作成なら単精度で問題ありません。ドメインが大きくなければ粒子同士の距離計算も問題にならないそうですが、これは完全に理解していないのでひとまず対象外としました。で、そこをOpenACC化。RTX8000ですので、CC75でコンパイル。

動きました。約3倍の速度。まだ効率が悪いのでしょう。が、10日の計算が3,4日で終わるなら上等です。
ひとまず様子を見ましょう。


0 件のコメント:

コメントを投稿