目次

2.7 OpenMPによる並列計算

2.7.1 計算時間の評価式

計算時間は伝搬経路ごとに以下のようになります。

それぞれの記号の意味と、大きな問題での代表的なオーダーは以下の通りです。

2.7.2 OpenMPによる並列計算

前節の通り、多重反射波前処理以外の計算時間は受信点の数NRXに比例し、 多重反射波前処理はNθ2に比例します。
どちらの計算も完全に独立な処理なので、OpenMPを用いるとループの直前に
#pragma omp parallel for
の一行を挿入するだけで並列計算することができます。

図2-7-1にスレッド数を変えたときの計算時間を示します。
スレッド数を増やす計算時間が短縮されることがわかります。 ハイパースレッディングも効果があります。


図2-7-1 スレッド数と計算時間の関係(直接波+反射波+回折波+透過波)
(Nw=6,774、NTX=1、NRX=126,000、Nθ=180、Nref=5)
CPU : AMD Ryzen 7 4800H (8コア16スレッド, 2.9GHz, TB:4.2GHz, L2:4MB, L3:8MB)

2.7.3 計算時間の内訳

図2-7-2に計算時間の内訳を示します。 反射波と回折波が大部分を占めることがわかります。


図2-7-2 計算時間の内訳(16スレッド、図2-7-1と同条件)