各種計算機基本性能調査

平成２6度第4四半期
目次
1.はじめに
2.SR16000システム
2.1 massless 計算
2.2 反復計算
2.2.1 対称問題
2.2.2 非対称問題
2.3 姫野ベンチ
3.E5-2660 システム
3.1 反復計算
3.1.1 対称問題
3.1.2 非対称問題
3.2 姫野ベンチ
3.3 N対問題
3.4 rump’s 例題
3.5 行列積
3.6 QDR積

1.はじめに今四半期でのテーマは以下の4項目(1)ファインマン積分で赤外発散を扱う場合,反復回数が多くなり計算に時間がかかったり数値表現の制限で計算が出来なかったりする場合がありその回避策としてmasslessにして計算する方法があり、これまでの測定結果のまとめと、その意味について考察しています。
(2)GPGPU及びMICアーキテクチャーの効果を見るために倍精度演算で対称行列の反復解法の効果をみました。この過程で,いままで4倍精度超の演算精度を必要とした非対称行列の反復法が4倍精度演算で行う方法が見つかり,合わせてその効果をまとめました。
(3)倍精度と拡張倍精度の差異とアクセラレータの効果を見るためにN対問題を使用した効果をまとめました。
(4)GPGPUでは単精度演算が倍精度より効果があるため,元は単精度演算であった姫野ベンチでその効果を調べまとめました。

これまでのSR16000/M1 システムと、アクセラレー
タ,E5-2670,Phi5110Pシステムに加え,E5-2660システムを使用しました。X5570は1CPUとの比較のため,またe5430はE5-2660システムの並列用プログラム及びオブジェクト作成に使用しています。
尚,他の問題にかんしては適宜最適と思われるGPGPUなどを使用しています。

2 SR16000システム
2.1 massless 計算
扱った問題は
1 1 x1 x  y

1I     2 dzdydx D  xz  y(1  x  y  z)
0 00D11log( 2 )
4倍精度演算 , 分点数1024の、二重指数型積分法
ひとつの に対して ,   算法で 45回反復。
1ノード 64smpで実行時間 526秒
a 2 a 115のによる計算から I  2  a0
を求めます。比較的大 きな に対する結果を次ページに示しました 。

ramda=10^{-16}~10~[-30}a2=4.00000344724677645844034046757416
a1=3.99861407619387554668745765583265
a0=-12.2639453402406000000000000020020
ramda=10^{-31}~10~[-45}a2=4.00000099577869056434484930528836
a1=3.99939509233538395973479843855165
a0=-12.3269905127989999999999999759162
ramda=10^{-46}~10~[-60}a2=4.00000041264201279800645140064705
a1=3.99966395945103743579061852729121
a0=-12.3581962818229999999999999796046
ramda=10^{-61}~10~[-75}a2=4.00000019676625921874246419452751
a1=3.99979490092391388668793381657374
a0=-12.3781474808740000000000001848136
ramda=10^{-76}~10~[-90}a2=4.00000014459869220092907590162562
a1=3.99983240900972265003642249066011
a0=-12.3848690023040000000000001603800
rambda=10^{-91}~10^{-105}
a2=4.00000003694782985017339116664484
a1=3.99996494892422507975597908036244
a0=-12.4154587133217526000000000000001

理論的にはη  0でa 2   4, a 1   4
a0   5 2
π  4  12.44934067........
3

2.2 反復計算
2.2.1 対称問題
ポアソン方程式u  f (), u  0 ()  [0,1]  [0,1]  [0,1]N  200  200  200
収束判定値: 共役残差10 12u  sin( x ) sin( y) sin( z)f  3   2  sin( x ) sin( y) sin( z)反復回数
サイズ 200*200*200
adi法
sor2
sor3
bcg
cg
cgs
scg
bicgs
cgsilucgsmilgpbicg
cgsm
cgsmm

34195
141799
4275
704
690
640
621
495
272
241
445
288
306

陽解法
odd-even法（注）
初期値はx (i )  1 .0

cgs , cgsilu, cgsmilは収束しないのでx ( i ) : ( 0 ,1 ) の一様乱数値

cgsm

は cgsilu

を , cgsmm

並列化して初期値x ( i )  1 . 0 としたもの。

.

は cgsmilを対称行列実行時間一覧表(秒)プログラム名は解法に3dを付加(3次元と言う意味で)プログラム 32smp
64smp
d3sor318.4587
15.9792
d3sor2285.6998
300.2200
d3adi
291.1860
281.3099
d3bcg
12.9068
13.1204
d3cg
7.84687.7593d3cgs
14.0279
15.7210d3scg
9.191011.4737
d3bicgs
10.2689
11.7728
d3cgsilu
60.3351
61.4112d3cgsmil
53.750353.3771
d3gpbicg
13.3188
12.8016d3cgsm
27.0258
27.2273
d3cgsmm
34.3474
42.1951

SOR法のodd-ｅｖｅｎ法は反復解法と同等の効果が得られます。

2.2.2非対称問題
対称問題で前処理付きcgs法の並列化の改善により,反復法が収束する事になったので、非対称問題をbcg法と同じ条件で4倍精度演算で性能測定を実施しました。

問題は 3次元ポアソン方程式
u
 f
x
領域[0,1]  [0,1]  [0,1]u  R

解析解 u ( x , y, z)  e xyz  sin( x )  sin( y)  sin( z)
非対称問題。
解法
bcg( biconjugategradient ) 法

R  100, nx  ny  nz  129
cgs(conjugategradientsquare) 法R  100, nx  ny  nz  129
収束判定値は共役残差 10 12
初期値 u ( x , y, z)  0非対称行列反復計算一覧表(秒)サイズ

129*129*129

解法
bcgcgs

反復回数 64smp
316
4.16781427.4054

参考cgs改善前

サイズ

113*113*113

精度
6倍精度
8倍精度

反復回数 64smp
281 29.1450
217 33.5245

不完全ＬＵ分解付きcgs法の並列化の改善効果が良く見られています。

2.3 姫野ベンチ

サーバーおよびアクセラレータとの比較用にすべて単精度演算で実行しました。

姫野ベンチ性能測定結果
SR16000 1ノード,単精度(MFLOPs)
サイズ
small
middle
large

32smp
64smp
32553
20912
42886
37962
36198
33964

このプログラムはsmt=off の効果がでています。

3. E5-2660システム
反復計算,姫野ベンチはSR16000と同じ条件の問題を扱っています。またN対問題
では,倍精度演算と拡張倍精度演算を扱っています。これは,micアーキテクチャーのものとの比較で,コンパイラはe5430で並列化オブジェクトを作成しています。
また場合により,32smpと16smpで性能差がでていますので,その値も掲載します。
3.1 反復計算
扱った問題での反復回数はSR16000と同じなので,反復回数は省略しました。

3.1.1 対称問題
対称行列実行時間一覧表(秒)プログラム名は解法に3dを付加(3次元と言う意味で)プログラム 16smp
d3sor381.5021d3sor21523.1281
d3adi
774.8730
d3bcg
41.5801
d3cg
20.9102d3cgs
37.1193d3scg
24.6104
d3bicgs
25.8810d3cgsilu
92.6816d3cgsmil
81.9387
d3gpbicg
30.8516d3cgsm45.3634
d3cgsmm
73.743832smp
85.1895
1658.2993
1005.3324
38.4800
19.2947
34.902023.961724.5952
93.9379
82.9746
33.7076
42.8455
62.3460

d3cgs,d3cgsilu,d3cgsmilは収束しないので初期値を変更していますのであくまで、参考データです。

3.1.2非対称問題

非対称行列反復計算一覧表(秒)サイズ

129*129*129

解法
bcgcgs16smp 32smp
75.5405 54.6095
77.4960 59.7968

解法による有意な実行時間の差は見られません。

3.2 姫野ベンチ
姫野ベンチ性能測定結果
E5-2660 性能一覧表(MFLOPs)
サイズ
small
middle
large

16smp
32smp
30261
25576
22612
18908
16567
19745

メモリサイズが小さい程性能が良くなっています。
メモリサイズが大きくなると,16smpより32smpの性能が良くなっています。

3.3 N体問題

nbody 倍精度 E5-2660 実行時間一覧表(秒)n
反復回数 16smp
20smp
32smp
1000 10000 13.886804 12.592505 16.027013
4000
625 4.678481
5.600622
6.890157
10000
100 4.015434
5.6571193.514142
nbody 拡張倍精度 E5-2660 実行時間一覧表(秒)n
反復回数 16smp
20smp
32smp
1000 10000 20.689309 17.050437 22.766498
4000
625 18.469659 15.652377 18.045990
10000
100 11.161288 15.834282 14.011398
演算量の目安は500GFLOP
倍精度ではN=10000で32smpがもっとも速くなる。
拡張倍精度ではN=10000では16smpが最も速い。またN=1000,4000では20smpがもっとも速くなる。

3.4 rump’s例題
E5-2660 rump's 例題実行時間一覧表
100,000,000回実行の実行時間(実行時間:秒)
smp数

拡張倍精度*2 6倍精度
6倍精度
8倍精度
8倍精度
cc
Fc
F
1
27.61538.20533.16296.05778.723213.852
19.391
16.62648.81539.56847.24810.081
8.607
25.221
20.414
8
4.315
5.367
4.643
13.54610.986
16
3.038
3.729
3.517
7.131
8.288
32
2.257
3.562
2.755
7.803
6.412

拡張倍精度*2 及び6倍精度FORTRANで32smpの場合の性能が良い。

3.5 行列積
E5-2660 行列積計算一覧表
倍精度,実行回数1000回
N=4800GFLOPs

smp数

4.741
9.341
17.72333.55341.1431248
16N=9600
GFLOPssmp数

40.59961.71449.63761.16851.01150.269101620
32
64128

smp数

倍精度は16smp
多倍長で演算量が多くなると32smpの性能が良い。

N=19200
GFLOPs61.1011657.750
32多倍長行列積

実行時間(秒)

N=240,1000回
精度
6倍精度
8倍精度
10倍精度

32smp
46.8526
92.3489209.8599

N=480,1000回
精度
6倍精度
8倍精度
10倍精度

16smp
49.6151
88.7324
222.2432
実行時間(秒)

16smp
32smp
339.5063
317.6178
733.6308
638.1059
1730.1052
1507.8917

3.6 QDR積
E5-2660 QDR積一覧表
N=240,1000回実行時間(秒)

dd形式
精度
32smp
16smp
6倍精度
77.135459.8233
8倍精度
121.4598
126.9355
10倍精度
307.0269
326.7449
ieee形式
default
精度
32smp
16smp
32smp
16smp
6倍精度
208.4963
216.7321
190.2673
228.1730
8倍精度
231.5800
274.8962
218.7897
272.2514
10倍精度
328.2482
386.7758
309.1260
366.2028
N=480,1000回

実行時間(秒)

dd形式
精度
32smp
16smp
6倍精度
422.5261
463.3007
8倍精度
913.2564
1044.0123
10倍精度
2304.2786
2614.7962
ieee形式
default
精度
32smp
16smp
32smp
16smp
6倍精度
1471.1889
1700.1501
1428.9876 1683.5883
8倍精度
1749.0418
2163.3999 1637.8647
2122.1884
10倍精度
2459.6270
3009.1390
2327.1777 2973.8502

dd形式ではN=240では16smp,N=480では32smpの性能が良い。
ieee形式では32smpの性能が良い。