3.3 計算時間

3.3.1 CPUでの計算時間

OpenMOMの計算時間を以下の環境でテストします。 並列化にはOpenMPを用いています。

計算時間は表3-3-1と図3-3-1の通りです。
40スレッドまで速度の向上が見られます。 SSEとAVXはほぼ同じであり、SIMDなしの約1.5倍速くなります。

表3-3-1 計算時間 (要素数=10000、()内は1スレッドとの速度比)
スレッド数SIMDなし SSE AVX
1289.6秒 (1.0) 145.8秒 (1.0) 120.8秒 (1.0)
2151.2秒 (1.9) 89.5秒 (1.6) 84.9秒 (1.4)
4 77.3秒 (3.7) 47.3秒 (3.0) 45.7秒 (2.6)
10 36.0秒 (8.0) 22.4秒 (6.5) 21.6秒 (5.5)
20 22.5秒 (12.8) 14.2秒 (10.2) 14.7秒 (8.2)
40 15.5秒 (18.6) 12.1秒 (12.1) 10.7秒 (11.2)


図3-3-1 CPUでのスレッド数と計算時間の関係 (要素数=10000)

3.3.2 スパコンでの計算時間

以下のスパコンでのOpenMOMの計算時間は図3-3-2の通りです。 コンパイルオプション等についてはMakefile_nccとMakefile_fccを参考にしてください。 並列化にはOpenMPを用いています。

図からSXでは8スレッドまで、FXでは48スレッドまで速くなります。 すなわちすべてのコアを使用したとき最も速くなり、 そのときの両者の計算時間はほぼ同じです。


図3-3-2 スパコンでのスレッド数と計算時間の関係 (要素数=10000)