計算時間は伝搬経路ごとに以下のようになります。
それぞれの記号の意味と、大きな問題での代表的なオーダーは以下の通りです。
前節の通り、多重反射波前処理以外の計算時間は受信点の数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-2に計算時間の内訳を示します。
反射波と回折波が大部分を占めることがわかります。
図2-7-2 計算時間の内訳(16スレッド、図2-7-1と同条件)