@techreport{oai:ipsj.ixsq.nii.ac.jp:00237585, author = {曽我, 隆 and 細見, 岳生 and 山下, 晃弘 and 伊達, 進}, issue = {24}, month = {Aug}, note = {今日,HPC システムで実行される大規模シミュレーションでは,ノード間では MPI 並列化,ノード内では OpenMPI あるいはコンパイラによる自動並列化によるスレッド並列化,コア内では SIMD 命令によるベクトル化といった多階層並列化が採用される場合がある.本報告では,このような多階層並列化をターゲットとし,ノード間の MPI 通信処理の隠蔽を目的とする,MPI 通信と演算処理を専用スレッドに割り当てるスレッドオーバラップ手法に着目し,スレッド操作のオーバーヘッドを削減する手動スレッドオーバーラップ手法を提案する. また提案スレッドオーバラップ手法を開発者がより簡易的に応用できるよう,スレッドにループを割り当てる始点と終点を決定するプログラム関数 divloop として設計・実装する.本報告の評価では,流体シミュレーションで採用される Poisson 方程式の解法で用いられるヤコビ法に対して,実装した関数 divloop を用いてスレッドオーバラップ手法を適用する.これにより,従来の MPI 通信処理の隠蔽手法より実行時間を削減する効果がえられるかどうかを検証する.その結果,多階層並列化モデルの実行時間の短縮方法としてスレッドオーバーラップが有効であることを示す.}, title = {ヤコビ法ループにおけるスレッドオーバーラップの評価}, year = {2024} }