目次

3.3 計算時間

OpenMOMの計算時間を以下の環境で測定します。

計算時間は表3-3-1と図3-3-1の通りです。
SIMDによるベクトル化とOpenMPによる並列化を行っています。
SIMDにより約3倍、OpenMPにより約5倍、全体で約15倍速くなります。

表3-3-1 OpenMOMの計算時間 (要素数=10000、単精度、()内は1スレッドとの速度比)
スレッド数SIMDなし SSE AVX
1182.8秒 (1.0) 75.6秒 (1.0) 65.0秒 (1.0)
2108.1秒 (1.69)43.7秒 (1.73)36.7秒 (1.77)
4 82.8秒 (2.21)24.9秒 (3.04)22.1秒 (2.93)
8 43.8秒 (4.17)15.2秒 (4.99)14.1秒 (4.60)
16 28.4秒 (6.43)14.1秒 (5.37)12.6秒 (5.15)


図3-3-1 OpenMOMの計算時間 (要素数=10000、単精度)

図3-3-2にベンチマーク5000~20000の計算時間を示します。
計算時間は要素数の3乗に比例します。
倍精度の計算時間は単精度の約2.5倍です。


図3-3-2 OpenMOMの計算時間 (AVX、16スレッド)