各種計算機アプリケーション性能比較
平成２6年度第2四半期
目次
1.はじめに
2.各種問題2.1 量子モンテカルロシュミレーション
2.2 3次元積分
2.3 4次元積分
2.4 5,6次元積分
3.rump’s 例題
4.N体問題計算
5.3次元反復法
5.1 対称行列計算
5.2 非対称行列計算
6. インフラテスト計算

1.はじめに今までと少し性質の異なるグラフィックボードが使用できる様になったので従来のアプリケーションで性能比較を実施しました。
主に使用した計算機は以下のものです。
(1)SR16000/M1
プロセッサ:power7
周波数:3.83GHz
１ノード当たり
CPUコア数 32(物理的),64(論理的)理論最大性能 980.48 GFLOPs
メモリ容量 256GB
メモリアーキテクチャー NUMA,(16論理コア単位でflat)
SIMD(Single Instruction Multiple Data)をサポートするVSX機構付き
L3キャッシュ On-Chip 32MB/8コア
演算器/物理コア 乗加算器４つ

(2)GPGPU
GPU カード型番:ATI RadeonHD5870
メモリ: GDDR5, 1 GB, 153.6 GB/s
ホストインタフェース: PCI Express 2.1 x16stream
processing unit: 3200個(演算プロセッサ)
動作周波数: 850 MHzピーク性能(単精度):
5440 Gflops(=3200x2x850MHz)ピーク性能(倍精度):
1088 Gflops(3)グラフィックボード
HOST
E5  2670
キャシュ

2.60GHz

1cpu  8core

20MB

2.6GHz  8  8  166.4GFLOPs

2cpu

2cpu  332.8GFLOPs
Xeon

Ph i5110P

1.053GHz

60コア,4 スレッド/1core
1.053GHz  60  4  4  1010.88GFLOPs

尚,Phi5110Pではオプションの変更で１桁の性能向上が見られたため前四半期の問題も扱っています。
ＧＰＵとして新たにカタログ性能806GFLOPsのW8000,1050GFLOPsのHD7970,HD7980の結果も示しています。
各種問題ではH26年第１四半期の名称をそのまま使用していますので問題の詳細はそちらを見てください。

2.各種問題
2.1 量子モンテカルロシュミレーション
E5-2670

16smp

Phi5110P

240smp(60core)

モンテカルロシュミレーション
精度
6倍精度
8倍精度
10倍精度
DQ(8倍精度)

βU
1020
2020L
6
8109

E5-2670 Phi5110P
実行時間 実行時間(秒)(秒)
448 127.5865 1088.6992
448 261.7628 1762.0854
448 619.8694 3727.0650
448 1961.2144 16287.9011

ループ長がN  100のため, Phi5110Pはその性能が出せていない。
また, E5  2670では演算量の大きいDOループの最適化がSR16000に比べて劣り及び並列化のオーバーヘッドがSR16000に比べて大きい。

参考SR16000 １ノード64smp実行時間6倍精度 24秒,8倍精度42秒,10倍精度91秒

2.2 3次元積分
E5-2670

16smp

Phi5110P

240smp(60core)

4倍精度演算一覧表

boxs  500 2 , t  150 2m e  0.0005, m f  150
  10 30
DD形式

NIEEE754-2008形式

E5-2670
Phi5110P
E5-2670
Phi5110P
実行時間
実行時間
実行時間
実行時間
(秒)
(秒)
(秒)
(秒)
1024
17.4562
10.1315
23.574244.44182048
138.9034
69.7646186.9867 341.4030
4096
1106.8755
551.6485
1477.4764 2697.9128

GPU実行時間 (秒)dd形式C
NHD5870(一面) HD5870(二面) HD7980
HD7970
実行時間
実行時間
実行時間
実行時間
(秒)
(秒)
(秒)
(秒)
1024
1.820935
1.147727
1.122087
1.131348
2048
12.918737
7.007548
8.192639
7.5759784096
99.304728
51.558245
63.584876 58.583659

HD6970

実行時間(秒)

n

1面
1024
2048
4096

2面
1.523832
10.451297
79.616533

3面
0.993770
5.816215
42.191253

0.869986
4.314544
29.643070

４面
0.834303
3.593773
23.456077

4倍精度演算でのDD形式とieee754  2008形式の差は, E5  2670で約30%に比べ, Phi5110Pで 4  5倍と大きい。これはPhi5110Pでsimdが効いていない事が原因と言えます。

2.3

4次元積分S 221 テスト
S 221 (  1,100 ,100 , 0 , 0 ,100 )N  576
演算量
倍精度
4倍精度

GFLOP

SR16000

実行時間(秒)

精度
倍精度
4倍精度

32core64smp
30.395169
24.126208
550.758631
330.429147

E5-2670

16SMP

4568
42187

精度
実行時間(秒)
倍精度
26.9587
拡張倍精度
108.6355
4倍精度
4008.4746
HD5870

実行時間(秒)

精度
倍精度
4倍精度

1面

2面
27.1903453.6240

13.8147232.0790

Phi5110P 実行時間(秒)精度
1smp /core
2 smp/core
3smp/core4smp/core
倍精度
42.0126
27.611623.3237
20.6132
拡張倍精度
335.2602
258.8425
255.4137249.6453
4倍精度
3364.0728
1822.1579
1683.9084
1488.7508
HD6970 実行時間(秒)
精度
倍精度
4倍精度

一面
二面
三面
四面
11.443008
5.923182
4.036383
3.196938
322.827294
162.131639
107.290817
82.046807

グラフィックボード性能比較表
精度
倍精度
4倍精度

HD7970
W8000
HD79809.164966
9.455362
9.963973
267.937949
305.351604
304.181516

倍精度演算に関しては, GPU, GPUホスト
ともにSR160001ノードの性能に匹敵または凌駕しています。
またE5  2670の拡張倍精度は速く, Phi5110P
SR16000の4倍精度に比べれば高速だが,E5  2670に比べては遅い.これは,4smp / core
だが1smp / coreに比べて性能向上率が悪いのが原因です.(simdが効かない)
4倍精度演算ではPhi5110PはSR16000に比べて遅く, 他のGPUはSR16000に比べて非常に速い。

2.4 5,6次元積分
5次元積分は 2ケースで
case1 : laporta

dcase2 : laportaf

6次元積分は3ケースで
case1 : laportagcase2 : laporta

hcase3 : laportaiです。サイズはすべてN  120に統一し演算精度は倍精度演算です。
このため, GPUではSR16000に比べて非常に高速な性能が得られています。

laporta 計算結果一覧表
演算量(N=120)

プログラム
LAPORTA DLAPORTA FLAPORTA GLAPORTA HLAPORTA I

GFLOP
2514
2638
312064243328232896

実行時間一覧表(秒)SR16000
プログラム
LAPORTA DLAPORTA FLAPORTA GLAPORTA HLAPORTA I32core

64smp

E5-2670

HOST16smp

プログラム
LAPORTA DLAPORTA FLAPORTA GLAPORTA HLAPORTA Ic

fortranPhi

240smp(60core)

プログラム
LAPORTA DLAPORTA FLAPORTA GLAPORTA HLAPORTA I

c

8.404
9.841
2223.744
1929.049
2212.909

5.426
6.373
1418.553
1256.823
1408.712

27.75628.2752385.352
2096.437
2467.079

27.62127.9212907.167
2717.488
4071.100

fortran
7.474
7.324
962.356925.742888.431

7.665
7.462
943.418
959.3211063.900

laporta 計算結果一覧表
演算量(N=120)プログラム
LAPORTA DLAPORTA FLAPORTA GLAPORTA HLAPORTA I

GFLOP
2514
2638
312064243328232896

実行時間一覧表(秒)HD5870GPUプログラムLAPORTA DLAPORTA FLAPORTA GLAPORTA HLAPORTA I

一面HD6970

GPU

プログラム
LAPORTA DLAPORTA FLAPORTA GLAPORTA HLAPORTA I

一面

二面
11.27911.4051176.917
1138.444
1213.668

5.868
5.928
589.471568.483
606.803

二面
11.051
11.189998.764966.052
1042.374

四面
5.679
5.765
499.845483.466
521.604

3.138
3.154
346.624
362.633
261.547

laporta

Phi5110P

実行時間(秒)一覧表

プログラム
laporta dlaporta flaporta glaporta hlaporta i

1smp /core 2smp /core 3smp /core 4smp /core
15.894091
8.930061
8.245382
7.477543
15.883854
9.015369
7.781932
7.302511
1567.222350 947.766614 956.547483 893.604456
1475.760124 890.712335 840.753795 794.503370
1682.613524 973.251626 936.788364 908.041320
グラフィックボード性能比較表
実行時間(秒)プログラム
laporta dlaporta flaporta glaporta hlaporta i

HD7970
W8000
HD79807.541418
7.764761
8.173080
7.600745
7.821768
8.249741718.902868 738.792693 745.477537
684.978227 710.901497 745.486218
766.602135 788.137704 834.070693

3.rump’s

例題

rump' s例題とは,四則演算からなる簡単な計算で, 有効ビット数が121ビット以上を要求する計算のため, 多倍長の精度、性能の検証によく使用されるものです。
a  77617.0, b  33096.0
f  333.75b 6  a 2 (11a 2 b 2  b 6  121b 4  2)  5.5b 8
a2ba 2  5.5b 2  1  6024398689


a 2 (11a 2 b 2  b 6  121b 4  2)  5.5b 2  333.75b 6  2より, f  2 a54767
 0.827396059946
2b66192

rump ' s

例題実行結果一覧
100,000,000回実行

実行時間(秒)CFORTRAN
精度
E5-2670 Phi5110P E5-2670 Phi5110P
16smp
240core 16smp
240core拡張倍精度*2 1.949568 2.993835
6倍精度
2.391048 3.373063
2.35453.33678倍精度
5.514834 5.949745
5.39945.864610倍精度
17.7158
15.0406

rump例題実行時間(秒)一覧表
整数演算方式
精度
5倍精度
6倍精度
7倍精度
8倍精度
10倍精度
12倍精度
１４倍精度
16倍精度

E5-2670 Phi5110P
6.765920.3040
8.270624.5392
10.0500
28.9972
12.9452
35.601717.0668
52.6718
25.220578.2484
32.5928 102.1592
39.9565 127.1153

Phi5110Pのthreads/core実行時間(秒)改良版
threads
1234

10倍精度 12倍精度
81.3013 124.3947
60.672392.756257.749486.7546
52.6718
78.2484

DD形式(一般サブルーチン使用)

精度
10倍精度
12倍精度
14倍精度
16倍精度

E5-2670 Phi5110P
16smp
240core15.8159
27.930227.741946.732046.821170.783172.6414 107.0264

E5  2670とPhi5110Pの性能に関しては, DD形式では,8倍精度演算で性能が逆転する。
またDD形式と整数演算方式ではE5  2670において10倍精度演算で性能が逆転しています。
Phi5110Pでは, 最適化オプションで
opt 3とoptsで使用メモリ量が大きく変わるので, 基本的にはopt 3で実行するのが良い。
またレジスタの問題で整数演算方式では演算量が多くなると, 最適化が妨げられる事があります。

4. N体問題計算

粒子数N  1000,4000,10000でタイムステップ数はそれぞれ,10000,625,100として演算量を同じにして(平方根計算あり270GFLOP, なし580GFLOP)
性能を比較.演算は倍精度演算。
N  1000の場合, 並列化オーバーヘッド によりSR16000の性能が勝っているが,N  4000,10000ではGPUの性能が勝っています。

N体問題実行結果一覧表(秒)粒子数=1000,タイムステップ=10000
演算量(ソース)=500GFLOP
SR16000

1ノード

32core64smp
4.73322.6379

E5-2670

最適化
4.7668 OPT3
2.6471 SOPT

16smp

16.0409

各種加速装置実行時間一覧表
GPUHD5870
HD6970HD7970
W8000
HD7980Phi5110P1ボード
２ボード
３ボード
4ボード
(1smp/core) (2smp/core) (3smp/core) (4smp/core)
24.0556
32.9047
30.434242.083952.272964.291141.0905
41.061447.1802
4.21373.18912.82922.6806

N体問題実行結果一覧表(秒)粒子数=4000,タイムステップ=625
演算量(ソース)=500GFLOP
SR16000

1ノード

32core64smp
4.25972.6304E5-2670

最適化
4.3365 OPT3
2.7826 SOPT

16smp

4.6922

各種加速装置実行時間一覧表
GPU
HD5870HD6970HD7970
W8000
HD7980Phi5110P

1ボード
２ボード
３ボード
4ボード
(1smp/core) (2smp/core) (3smp/core) (4smp/core)
4.61265.2407
5.25416.0501
6.86957.72157.89258.04388.78003.1736
1.92311.6821
1.3974

N体問題実行結果一覧表(秒)粒子数N=10000,タイムステップ=100
演算量(ソース)=500GFLOP
SR16000

1ノード

32core64smp
4.16372.5880E5-2670

最適化
4.5797 OPT3
2.6867 SOPT

16smp

4.5523

各種加速装置実行時間一覧表
GPU
HD5870HD6970HD7970
W8000
HD7980Phi5110P

1ボード
２ボード
３ボード
4ボード
(1smp/core) (2smp/core) (3smp/core) (4smp/core)
2.74801.99173.0483
2.18852.37252.59313.00593.0796
3.24653.17361.86531.56181.3542

5. 3次元反復法
5.1 対称行列計算

演算は倍精度演算.Phi5110PはSR16000の約半分の性能が出ています。
sor

陰解法

並列化

sor 2 陽解法
sor 3

並列化

odd  even

SR16000実行時間(秒)

不可
可

並列化可

プログラム 32core
64smp
反復回数
cg
14.499916.29411104
sor2
233.2875
362.1883
61382
adi
106.03893
171.71387632
sor3
15.3201
16.73171780
sor

523.7610
陰解法なので並列化せず。

4626

反復法グラフィックボードテスト
反復回数と実行時間(秒)プログラム E5-2670
Phi5110P
反復回数
cg
107.7789
45.77091104
sor2
2149.3058
661.9518
61382
adi
917.4382
394.5854
7632
sor3
97.1657
37.0767
1780
sor

806.8850
陰解法なので並列化せず。

4626

5.2 非対称行列計算
反復法性能比較(実行時間：秒)

sr16000 1node
E5-2670
Phi5110P

64smp
16smp
60core240smp

bcg
精度
4倍精度

sr16000
E5-2670
Phi5110P
実行時間 反復回数 実行時間 反復回数 実行時間 反復回数
4.1678316 47.8155
308 92.7816
314

cgs
精度
6倍精度
8倍精度

sr16000
E5-2670
Phi5110P
実行時間 反復回数 実行時間 反復回数 実行時間 反復回数
76.5859288 395.0839
290 568.5634
281
118.5751
217 604.7195
217 747.9113
217

再並列化強化後
cgs
精度
6倍精度
8倍精度

sr16000
E5-2670
Phi5110P
実行時間 反復回数 実行時間 反復回数 実行時間 反復回数29.1450
281 47.6010
278 202.3778
290
33.5245217 70.0802
217 250.8400
217

cgs法ではE5-2670はSR16000の約半分の性能になっています。

整数演算方式では,E5-2670では7倍精度演算,Phi5110Pでは6倍精度演算が最速となっています。

cgsの反復回数と実行時間(秒)E5-2670

16smp

精度
5倍精度
6倍精度
7倍精度
8倍精度

反復回数 実行時間
368
571.8766240
391.0776
217378.2957
217410.6659

Phi5110P 240smp(60core)
精度
5倍精度
6倍精度
7倍精度
8倍精度

反復回数 実行時間
368 1357.8895
240
966.1143
217
971.8785
217 1072.9550(注)-O1 -openmp でないと収束しない。

6. インフラテスト計算
5次元積分を変数変換で3次元積分にして,   10 n (n  16,17,....,30)として,数値積分を行い, 積分値y n が1光子の場合, (log( 2 )) 2 の項を含む,

1M z , M h の場合 log( 2 )の項を含む事
を確認するプログラム.二重指数関数型積分でN  2912, h  0.58 (刻み幅), 変数変換区間[,1  ],   10 200 。
指数部の大きさからcの拡張倍精度変数を2つつなげた演算(指数部15ビット, 仮数部160ビットの演算 )で実施。

インフラテスト結果
case 1

光子

case 2

ウイークボソン ( M z )case 3

ヒッグス粒子x 5570

周波数 2 .93 GHz

E 5  2670

周波数 2 .60 GHz

実行時間(秒)一覧表
粒子

x5570
E5-2670
1smp
16smp
光子
1926287877
ウイークボソン
1935157870
ヒッグス粒子1941907872

E5  2670の性能がカタログ性能比より向上しているのは, x87アーキテクチャー
物理アドレス x 5570 40ビットに対し 46ビット
キャシュメモリ x 5570 8MBに対し 20MBの効果によるものと考えられます。