抄録/ポイント:
抄録/ポイント
文献の概要を数百字程度の日本語でまとめたものです。
部分表示の続きは、JDreamⅢ(有料)でご覧頂けます。
J-GLOBALでは書誌(タイトル、著者名等)登載から半年以上経過後に表示されますが、医療系文献の場合はMyJ-GLOBALでのログインが必要です。
階層型行列(H行列)は,N個の要素間のN×N個の相互関係を表す密行列の圧縮表現の一つである。本研究では,H行列の生成およびH行列ベクトル積のMPI/OpenMPハイブリッド並列化を,動的負荷分散を用いて行った。H行列の生成は,小行列(葉行列)への行列の区分けと,各葉行列の要素計算により行われる。後者は葉行列単位のタスク並列化が可能だが,各コアにタスク集合を静的に割り当てる実装では,各タスクの計算負荷を正確には見積もれないこと,および全体に対する負荷割合が大きなタスクの存在により十分な負荷均衡が得られない。そこで,MPIおよびOpenMPの2レベルの階層型マスタワーカ方式による動的タスク割り当てを行い,さらにOpenMPレベルでは大きなタスクにプロセス内の全スレッドを割り当てることで負荷を均衡化した。H行列ベクトル積でも同様のタスク並列化が可能だが,タスクのプロセス間移動のコストが大きいため,MPIレベルでは葉行列生成を担当したプロセスに引き続きその葉行列に関する部分計算を静的に割り当て,OpenMPレベルでのみ生成処理と同様の動的タスク割り当てを行った。生成処理の負荷均衡化の結果,この方式でプロセス間においても良好な負荷均衡が得られる。表面電荷法による係数行列生成およびその行列に対する行列ベクトル積を例題として性能評価を行った結果,32プロセス×8スレッドによる並列実行では,従来の負荷見積もりに基づく静的割当手法に対して,H行列生成では3.4倍,H行列ベクトル積では2.5倍の性能が得られた。(著者抄録)