|
●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 ITR 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.617GFLOPS 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次元流体計算ではそれほのパーフォーマンスが得られないと推察されます。 。 |