エントランスへはここをクリック   


3次元流体数値計算プログラム
のCPU浮動小数点
演算速度比較
青山貞一 Teiichi Aoyama 環境総合研究所顧問
掲載月日:2013年9月 独立系メディア E−wave


●3次元流体計算プログラムによる速度比較

 Linpack、Whetstone、Crystal Mark などのベンチマークテストは、いずれも浮動小数点倍精度実数演算を計測するベンチマークテストです。

 ※  但し、Crystal Markのベンチマーク計測ソフト

 当然のこととして、ベンチマークテストの結果は、私たちの科学技術計算実務に大いに参考になります。演算速度が速いほうが原発事故時シミュレーションで有利となるからです。
 
 そこで、各種のCPUを私たちが原発事故時シミュレーションなどで使っている実際の流体力学の有限差分計算当てはめたときにどうなるかが重要となります。

 そこで私たちは、主なCPUを対象に、同一の流体力学の有限差分計算プログラムをRunさせた場合の数値(秒数)を計測してみました。このプログラムは、原発事故時シミュレーションで使用しているプログラムの一部です。

 ここで特に注目すべきは、並列処理とコア数の関係です。

◆CPU別の速度比較

 ここでは実際に3次元流体数値計算に使っているプログラムについて、一本のプログラムを動かす場合、二本のプログラムを同時に動かす場合、そして四本のプログラムを同時に動かす場合を計算し、計算時間を秒数で計測してみました。

 なお、プログラムは特定風向、特定風速時のx、y、z 3次元グリッドで構成した風場を計算するもので、通常1風向2000回計算するところを100回分計算したときの秒数を計測するようにしました。


SuperAir3D NPP システムの数値計算中の画面例
出典:環境総合研究所(東京都目黒区)

 以下は計算結果を示すログの例です。

imax=110 jmax=176 KMAX=36
ITR 1 TIME=68.9 DUVW=4.97e+000 ERAVE=3.34e-001 ERMAX=5.03e+000 AT 3 173 34
ITR 2 TIME=77.7 DUVW=3.50e+000 ERAVE=3.17e-001 ERMAX=3.99e+000 AT 107 173 34
ITR 3 TIME=89.4 DUVW=2.26e+000 ERAVE=3.08e-001 ERMAX=3.40e+000 AT 106 173 34
ITR 4 TIME=99.9 DUVW=1.75e+000 ERAVE=3.02e-001 ERMAX=3.02e+000 AT 106 173 34
ITR 5 TIME=111.5 DUVW=3.12e+000 ERAVE=2.96e-001 ERMAX=2.73e+000 AT 106 173 34
ITR 6 TIME=121.1 DUVW=3.18e+000 ERAVE=2.92e-001 ERMAX=2.50e+000 AT 106 173 34
ITR 7 TIME=135.0 DUVW=3.17e+000 ERAVE=2.88e-001 ERMAX=2.32e+000 AT 106 173 34
ITR 8 TIME=146.8 DUVW=2.62e+000 ERAVE=2.85e-001 ERMAX=2.16e+000 AT 106 173 34
ITR 9 TIME=156.2 DUVW=1.71e+000 ERAVE=2.82e-001 ERMAX=2.03e+000 AT 106 174 34
ITR 10 TIME=167.9 DUVW=1.40e+000 ERAVE=2.79e-001 ERMAX=1.98e+000 AT 5 174 34
ITR 11 TIME=182.7 DUVW=2.15e+000 ERAVE=2.77e-001 ERMAX=1.93e+000 AT 5 174 34
ITR 12 TIME=193.4 DUVW=1.83e+000 ERAVE=2.74e-001 ERMAX=1.87e+000 AT 5 174 34
ITR 13 TIME=211.3 DUVW=1.54e+000 ERAVE=2.71e-001 ERMAX=1.81e+000 AT 5 174 34
ITR 14 TIME=223.0 DUVW=2.28e+000 ERAVE=2.69e-001 ERMAX=1.76e+000 AT 5 174 34
ITR 15 TIME=234.6 DUVW=8.00e-001 ERAVE=2.67e-001 ERMAX=1.71e+000 AT 5 174 34
ITR 16 TIME=249.3 DUVW=8.84e-001 ERAVE=2.65e-001 ERMAX=1.66e+000 AT 5 174 34
ITR 17 TIME=263.1 DUVW=6.98e-001 ERAVE=2.63e-001 ERMAX=1.61e+000 AT 5 174 34
ITR 18 TIME=282.1 DUVW=2.43e+000 ERAVE=2.60e-001 ERMAX=1.56e+000 AT 105 174 34
ITR 19 TIME=292.7 DUVW=6.48e-001 ERAVE=2.59e-001 ERMAX=1.51e+000 AT 6 174 34
ITR 20 TIME=306.4 DUVW=7.28e-001 ERAVE=2.57e-001 ERMAX=1.47e+000 AT 6 174 34
ITR 21 TIME=320.2 DUVW=8.22e-001 ERAVE=2.55e-001 ERMAX=1.43e+000 AT 6 174 34
ITR 22 TIME=329.7 DUVW=1.31e+000 ERAVE=2.54e-001 ERMAX=1.38e+000 AT 6 174 34
ITR 23 TIME=343.6 DUVW=1.24e+000 ERAVE=2.52e-001 ERMAX=1.36e+000 AT 59 124 18
ITR 24 TIME=353.1 DUVW=1.80e+000 ERAVE=2.51e-001 ERMAX=1.36e+000 AT 59 124 18
ITR 25 TIME=365.9 DUVW=1.74e+000 ERAVE=2.50e-001 ERMAX=1.36e+000 AT 59 124 18
ITR 26 TIME=375.7 DUVW=1.70e+000 ERAVE=2.48e-001 ERMAX=1.36e+000 AT 59 124 18
ITR 27 TIME=389.7 DUVW=1.88e+000 ERAVE=2.47e-001 ERMAX=1.36e+000 AT 59 124 18
ITR 28 TIME=399.3 DUVW=1.98e+000 ERAVE=2.46e-001 ERMAX=1.36e+000 AT 59 124 18
ITR 29 TIME=416.4 DUVW=7.86e-001 ERAVE=2.44e-001 ERMAX=1.34e+000 AT 59 124 18
ITR 30 TIME=434.4 DUVW=8.08e-001 ERAVE=2.43e-001 ERMAX=1.34e+000 AT 59 124 18
ITR 31 TIME=446.1 DUVW=1.21e+000 ERAVE=2.42e-001 ERMAX=1.35e+000 AT 59 124 18
ITR 32 TIME=458.7 DUVW=8.61e-001 ERAVE=2.41e-001 ERMAX=1.35e+000 AT 59 124 18
ITR 33 TIME=470.2 DUVW=1.84e-001 ERAVE=2.40e-001 ERMAX=1.35e+000 AT 59 124 18
ITR 34 TIME=510.2 DUVW=4.98e-001 ERAVE=2.38e-001 ERMAX=1.35e+000 AT 59 124 18
ITR 35 TIME=529.0 DUVW=6.39e-001 ERAVE=2.37e-001 ERMAX=1.35e+000 AT 59 124 18
ITR 36 TIME=540.5 DUVW=7.34e-001 ERAVE=2.36e-001 ERMAX=1.35e+000 AT 59 124 18
ITR 37 TIME=552.1 DUVW=7.49e-001 ERAVE=2.35e-001 ERMAX=1.35e+000 AT 59 124 18
ITR 38 TIME=563.6 DUVW=3.93e-001 ERAVE=2.35e-001 ERMAX=1.36e+000 AT 59 124 18
ITR 39 TIME=583.4 DUVW=5.48e-001 ERAVE=2.34e-001 ERMAX=1.36e+000 AT 59 124 18
ITR 40 TIME=596.9 DUVW=5.07e-001 ERAVE=2.33e-001 ERMAX=1.35e+000 AT 59 124 18
ITR 41 TIME=612.4 DUVW=7.70e-001 ERAVE=2.32e-001 ERMAX=1.34e+000 AT 59 124 18
ITR 42 TIME=624.0 DUVW=1.29e+000 ERAVE=2.31e-001 ERMAX=1.34e+000 AT 59 124 18
ITR 43 TIME=634.6 DUVW=8.28e-001 ERAVE=2.30e-001 ERMAX=1.35e+000 AT 59 124 18
ITR 44 TIME=646.2 DUVW=1.74e+000 ERAVE=2.30e-001 ERMAX=1.35e+000 AT 59 124 18
ITR 45 TIME=657.8 DUVW=7.67e-001 ERAVE=2.29e-001 ERMAX=1.35e+000 AT 59 124 18
ITR 46 TIME=672.4 DUVW=5.71e-001 ERAVE=2.28e-001 ERMAX=1.34e+000 AT 59 124 18
ITR 47 TIME=691.3 DUVW=9.32e-001 ERAVE=2.27e-001 ERMAX=1.34e+000 AT 59 124 18
ITR 48 TIME=703.0 DUVW=1.04e+000 ERAVE=2.26e-001 ERMAX=1.34e+000 AT 59 124 18
ITR 49 TIME=714.8 DUVW=1.09e+000 ERAVE=2.26e-001 ERMAX=1.35e+000 AT 59 124 18
ITR 50 TIME=724.5 DUVW=1.58e+000 ERAVE=2.25e-001 ERMAX=1.35e+000 AT 59 124 18
ITR 51 TIME=735.0 DUVW=8.72e-001 ERAVE=2.24e-001 ERMAX=1.35e+000 AT 59 124 18
ITR 52 TIME=746.6 DUVW=1.26e+000 ERAVE=2.24e-001 ERMAX=1.35e+000 AT 59 124 18
ITR 53 TIME=759.3 DUVW=1.52e+000 ERAVE=2.23e-001 ERMAX=1.36e+000 AT 59 124 18
ITR 54 TIME=770.7 DUVW=8.53e-001 ERAVE=2.22e-001 ERMAX=1.37e+000 AT 59 124 18
ITR 55 TIME=786.3 DUVW=6.05e-001 ERAVE=2.22e-001 ERMAX=1.34e+000 AT 59 124 18
ITR 56 TIME=803.9 DUVW=3.48e-001 ERAVE=2.21e-001 ERMAX=1.33e+000 AT 59 124 18
ITR 57 TIME=839.5 DUVW=2.96e-001 ERAVE=2.21e-001 ERMAX=1.33e+000 AT 59 124 18
ITR 58 TIME=879.4 DUVW=4.44e-001 ERAVE=2.20e-001 ERMAX=1.32e+000 AT 59 124 18
ITR 59 TIME=895.0 DUVW=4.33e-001 ERAVE=2.19e-001 ERMAX=1.32e+000 AT 59 124 18
ITR 60 TIME=911.7 DUVW=2.58e-001 ERAVE=2.19e-001 ERMAX=1.32e+000 AT 59 124 18
ITR 61 TIME=935.8 DUVW=2.77e-001 ERAVE=2.18e-001 ERMAX=1.32e+000 AT 59 124 18
ITR 62 TIME=957.8 DUVW=2.59e-001 ERAVE=2.18e-001 ERMAX=1.32e+000 AT 59 124 18
ITR 63 TIME=981.8 DUVW=2.37e-001 ERAVE=2.17e-001 ERMAX=1.32e+000 AT 59 124 18
ITR 64 TIME=998.6 DUVW=4.55e-001 ERAVE=2.17e-001 ERMAX=1.32e+000 AT 59 124 18
ITR 65 TIME=1012.4 DUVW=3.57e-001 ERAVE=2.16e-001 ERMAX=1.32e+000 AT 59 124 18
ITR 66 TIME=1028.2 DUVW=6.92e-001 ERAVE=2.16e-001 ERMAX=1.32e+000 AT 59 124 18
ITR 67 TIME=1040.1 DUVW=6.78e-001 ERAVE=2.15e-001 ERMAX=1.32e+000 AT 59 124 18
ITR 68 TIME=1052.7 DUVW=5.14e-001 ERAVE=2.14e-001 ERMAX=1.33e+000 AT 59 124 18
ITR 69 TIME=1068.4 DUVW=2.25e-001 ERAVE=2.14e-001 ERMAX=1.32e+000 AT 59 124 18
ITR 70 TIME=1116.6 DUVW=4.25e-001 ERAVE=2.14e-001 ERMAX=1.32e+000 AT 59 124 18
ITR 71 TIME=1132.7 DUVW=2.51e-001 ERAVE=2.13e-001 ERMAX=1.32e+000 AT 59 124 18
ITR 72 TIME=1156.6 DUVW=1.66e-001 ERAVE=2.13e-001 ERMAX=1.32e+000 AT 59 124 18
ITR 73 TIME=1207.1 DUVW=1.04e-001 ERAVE=2.13e-001 ERMAX=1.31e+000 AT 59 124 18
ITR 74 TIME=1258.5 DUVW=1.33e-001 ERAVE=2.12e-001 ERMAX=1.31e+000 AT 59 124 18
ITR 75 TIME=1284.5 DUVW=2.37e-001 ERAVE=2.12e-001 ERMAX=1.31e+000 AT 59 124 18
ITR 76 TIME=1301.6 DUVW=4.25e-001 ERAVE=2.11e-001 ERMAX=1.31e+000 AT 59 124 18
ITR 77 TIME=1316.5 DUVW=2.43e-001 ERAVE=2.11e-001 ERMAX=1.31e+000 AT 59 124 18
ITR 78 TIME=1335.2 DUVW=1.77e-001 ERAVE=2.10e-001 ERMAX=1.32e+000 AT 59 124 18
ITR 79 TIME=1359.2 DUVW=1.38e-001 ERAVE=2.10e-001 ERMAX=1.31e+000 AT 59 124 18
ITR 80 TIME=1408.5 DUVW=1.80e-001 ERAVE=2.09e-001 ERMAX=1.31e+000 AT 59 124 18
ITR 81 TIME=1428.8 DUVW=1.50e-001 ERAVE=2.09e-001 ERMAX=1.31e+000 AT 59 124 18
ITR 82 TIME=1453.8 DUVW=1.67e-001 ERAVE=2.09e-001 ERMAX=1.31e+000 AT 59 124 18
ITR 83 TIME=1477.9 DUVW=1.36e-001 ERAVE=2.08e-001 ERMAX=1.31e+000 AT 59 124 18
ITR 84 TIME=1504.1 DUVW=1.64e-001 ERAVE=2.08e-001 ERMAX=1.31e+000 AT 59 124 18
ITR 85 TIME=1523.4 DUVW=1.30e-001 ERAVE=2.07e-001 ERMAX=1.31e+000 AT 59 124 18
ITR 86 TIME=1549.2 DUVW=2.71e-001 ERAVE=2.07e-001 ERMAX=1.31e+000 AT 59 124 18
ITR 87 TIME=1566.4 DUVW=2.73e-001 ERAVE=2.06e-001 ERMAX=1.31e+000 AT 59 124 18
ITR 88 TIME=1583.0 DUVW=1.28e-001 ERAVE=2.06e-001 ERMAX=1.31e+000 AT 59 124 18
ITR 89 TIME=1629.7 DUVW=1.70e-001 ERAVE=2.06e-001 ERMAX=1.31e+000 AT 59 124 18
ITR 90 TIME=1652.2 DUVW=1.16e-001 ERAVE=2.05e-001 ERMAX=1.31e+000 AT 59 124 18
ITR 91 TIME=1700.0 DUVW=1.16e-001 ERAVE=2.05e-001 ERMAX=1.31e+000 AT 59 124 18
ITR 92 TIME=1727.5 DUVW=1.16e-001 ERAVE=2.04e-001 ERMAX=1.31e+000 AT 59 124 18
ITR 93 TIME=1751.8 DUVW=5.12e-002 ERAVE=2.04e-001 ERMAX=1.31e+000 AT 59 124 18
ITR 94 TIME=1907.1 DUVW=4.13e-002 ERAVE=2.02e-001 ERMAX=1.31e+000 AT 59 124 18
ITR 95 TIME=2056.9 DUVW=4.06e-002 ERAVE=2.00e-001 ERMAX=1.30e+000 AT 59 124 18
ITR 96 TIME=2206.6 DUVW=3.85e-002 ERAVE=1.98e-001 ERMAX=1.30e+000 AT 59 124 18
ITR 97 TIME=2359.0 DUVW=3.67e-002 ERAVE=1.96e-001 ERMAX=1.30e+000 AT 59 124 18
ITR 98 TIME=2509.7 DUVW=3.51e-002 ERAVE=1.94e-001 ERMAX=1.30e+000 AT 59 124 18
ITR 99 TIME=2659.2 DUVW=3.37e-002 ERAVE=1.92e-001 ERMAX=1.30e+000 AT 59 124 18
I
TR 100 TIME=2812.1 DUVW=3.25e-002 ERAVE=1.90e-001 ERMAX=1.30e+000 AT 59 124 18

 単位は秒、秒数は少ない方が早いことを示しています。

@対象CPU:Core i7 3770, 343GHz, 4コア, 4スレッド, 64Bit, 8GB
Whetstone: 92.28GFLOPS
CrystalMark: 68.935GFLOPS

AIR3D プログラム1つ同時:1168秒
AIR3D プログラム2つ同時:1282秒
AIR3D プログラム4つ同時:1520秒

A対象CPU:Core i5 3550, 3.3GHz, 4コア, 4スレッド, 64Bit, 8GB
Whetstone: 52.46GFLOPS
CrystalMark: 65.269GFLOPS

AIR3D プログラム1つ同時:1198秒
AIR3D プログラム2つ同時:1355秒
AIR3D プログラム4つ同時 1611秒

B対象CPU:Core i5 2500K, 3.4GHz, 4コア, 4スレッド, 64Bit, 8GB
Whetstone: 78GFLOPS
CrystalMark: 63.264GFLOPS

AIR3D プログラム1つ同時 1311秒
AIR3D プログラム2つ同時:1543秒
AIR3D プログラム4つ同時:2013秒

C対象CPU:Core i5 750, 2.67GHz, 4コア, 4スレッド, 64Bit, 8GB
Whetstone: 33.19GFLOPS
CrystalMark: 46.507GFLOPS

AIR3D プログラム1つ同時: 1411秒
AIR3D プログラム2つ同時: 1640秒
AIR3D プログラム4つ同時: 1918秒

D対象CPU:Core i5 750, 2.67-3.2GHz, 4コア, 4スレッド, 32Bit, 4GB
Whetstone: 35.44GFLOPS
CrystalMark: 50.099GFLOPS

AIR3D プログラム1つ同時: 1115秒
AIR3D プログラム2つ同時: 1315秒
AIR3D プログラム4つ同時: 1532秒

E対象CPU:Core i5 550, 2.4GHz, 2コア, 4スレッド, 64Bit, 4GB
Whetstone: 35.44GFLOPS
CrystalMark: 45.833GFLOPS

AIR3Dプログラム 1つ同時:1914秒
AIR3Dプログラム 2つ同時: 2150秒

AIR3D プログラム4つ同時: 4243秒

F対象CPU:Core i5 540, 3.1GHz, 2コア, 4スレッド, 32Bit, 4GB
Whetstone: 33.38GFLOPS
CrystalMark: 36.617GF
LOPS
AIR3Dプログラム 1つ同時:2250秒
AIR3Dプログラム 2つ同時:2504秒
AIR3D プログラム4つ同時:4929秒

G対象CPU:AMD Athlon II X2 245, 2.90GHz, 2コア, 2スレッド, 32Bit, 2GB
Whetstone: 18.34GFLOPS
CrystalMark: 22.343GFLOPS

AIR3Dプログラム 1つ同時:2359秒
AIR3Dプログラム 2つ同時:2857秒

H対象CPU:Pentium E6500, 2.94GHz, 2コア, 2スレッド, 32Bit, 2GB
Whetstone: 21GFLOPS
CrystalMark: 21.21GFLOPS
AIR3Dプログラム 1つ同時:2448秒
AIR3Dプログラム 2つ同時:3048秒
AIR3D プログラム4つ同時:5568秒


プログラム数別・CPU別の秒数

◆プログラム1つの場合のベンチマーク
AIR3D プログラム1つ同時:1115秒 750(32bit) 1.00
AIR3D プログラム1つ同時:1168秒 3770    1.048
AIR3D プログラム1つ同時:1198秒 3550    1.074
AIR3D プログラム1つ同時:1311秒 2500K   1.222
AIR3D プログラム1つ同時:1411秒 750(64bit) 1.265
AIR3Dプログラム 1つ同時:1914秒 550     1.717
AIR3Dプログラム 1つ同時:2250秒 540     1.926
AIR3Dプログラム 1つ同時:2359秒 Athlon    2.018
AIR3Dプログラム 1つ同時:2448秒 E6500   2.196

◆プログラム2つの場合のベンチマーク
AIR3D プログラム2つ同時: 1282秒 3770    1.00 
AIR3D プログラム2つ同時: 1316秒 750(32bit) 1.026
AIR3D プログラム2つ同時: 1355秒 3550    1.057 
AIR3D プログラム2つ同時: 1543秒 2500K   1.203
AIR3D プログラム2つ同時: 1640秒 750(64bit) 1.279
AIR3Dプログラム 2つ同時: 2150秒 550     1.677
AIR3Dプログラム 2つ同時: 2504秒 540     1.953
AIR3Dプログラム 2つ同時: 2857秒 Athlon    2.238
AIR3Dプログラム 2つ同時: 3048秒 E6500   2.378

◆プログラム4つの場合のベンチマーク
AIR3D プログラム2つ同時: 1520秒 3770    1.00
AIR3D プログラム2つ同時: 1532秒 750(32bit) 1.008 
AIR3D プログラム2つ同時: 1611秒 3550    1.060 
AIR3D プログラム2つ同時: 1918秒 750(64bit) 1.262
AIR3D プログラム2つ同時: 2013秒 2500K   1.324
AIR3Dプログラム 2つ同時: 4243秒 550     1.677
AIR3Dプログラム 2つ同時: 4929秒 540     2.791
AIR3Dプログラム 2つ同時: 5568秒 E6500   3.366


図  プログラム数別・CPU別の秒数
出典:環境総合研究所 2013.1.10

 上記の結果からわかることは、計算時間は当然のことながらLinpack 値、Whetstone値、Cristal Mark値に反比例して秒数が少ないことがわかりました。

 次に、コア数(スレッド数ではなく)に対応し、Linpack値 、Whetstone値、Crystal Mark値が配分されており、2コアのCPUに4つのプログラムを同時にRunさせた場合には、2つのプログラムの計算に要する時間のちょうど2倍の秒数がかかり並列処理効果がないことが分かりました。

 したがって、4つのプログラムを並行処理させる場合には、4コアCPU以上のCPUが必要なことがわかります。すなわち、科学技術計算では、スレッド数ではなくあくまでコア数が大切となるわけです。


 ところで自宅と研究所でそれぞれ使っている750のCPUですが、自宅のものは32ビットOS,と4GBメモリー、研究所のものは64bitOSと8GBメモリーとなっており、両方とも同じMSIのマザーボードを使っていますが、なぜか32ビットOS,と4GBメモリーの750がLinpack値 、Whetstone値、Crystal Mark値で3770,3550よりも低いのに、少ない秒数となっていました。何度、計測し直しても上記の結果は間違いがありませんが、いまのところ理由はよくわかっていません。
 
 一つ考えられるのは、この3次元流体プログラムをコンパイする際の最適化の方法です。それによりCPUのLinpackやWhetstoneがが高いCPUでもこの3次元流体計算ではそれほのパーフォーマンスが得られないと推察されます。