これまで、解析領域の大きさやメッシュサイズによる計算結果への影響を主にお話をさせていただきました。
今回は並列効率についてお話をさせていただきます。
並列効率とは、おおまかにいうと並列数を上げることによって期待する効果と実際に出る効果の比です。100%だと並列性能が高く、低ければ並列性能が出ていないと言えます。また、並列数を上げた結果、もとよりも計算時間がかかってしまうということもありえます。
機能によっては並列処理できないものもありますし、計算処理時間より並列処理のための通信時間が多い場合もあり、必ずしも並列数を上げれば計算速度が上がるわけではありません。
ここでは、並列数性能に大きく寄与する要素数との関係をお話させていただきます。
右図は、横軸に速度倍率を倍率の期待値で除した値、縦軸に1プロセスあたりの要素数をプロットしました。要素数が1プロセスあたりの要素数が1万以上ある場合は期待値に近い速度倍率が出ていて、1万を切ると速度倍率は下がっていくことがわかります。 単相の円柱モデルでは要素数が1プロセスあたりに1万以上ないと計算速度は期待値通りに出ないことがわかります。 ただ、これはモデルや現象により異なり、並列効率が悪い機能もありますので、全ての解析で要素数を1プロセスあたり1万あれば速度倍率が確保できるわけではありません。 また、基準並列数では、モデル2はモデル1の50倍の計算時間がかかり、16並列でもモデル1のほうが計算時間が短いため、規模大きくして並列数を上げればいいということでもないことはご留意されると良いでしょう。