38
科科科科科科科科科科科科 科科科科科科科科科科科科科科 科科科科 科科科科 a) 科科科科 b) Farhad Mehdipour a) 科科科科 a) 科科科科 a) a) 科科科科 b) 科科科科科科科科科科科 1

科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

  • Upload
    avi

  • View
    46

  • Download
    0

Embed Size (px)

DESCRIPTION

科学技術計算を対象とした 大規模再構成可能データパスの 性能評価. 片岡 広志 a) , 本田宏明 b) , Farhad Mehdipour a ) , 井上 弘士 a) , 村上和 彰 a). a) 九州 大学 b) 九州先端科学技術 研究所. 背景. PowerXcell を 搭載したスーパーコンピュータ 「 Roadrunner 」. スーパーコンピュータ 「 TSUBAME 」. アクセラレータボード 「 CSX 600 」. - PowerPoint PPT Presentation

Citation preview

Page 1: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

1

科学技術計算を対象とした大規模再構成可能データパスの

性能評価

片岡広志 a) ,本田宏明 b) , Farhad Mehdipoura) ,

井上弘士 a) ,村上和彰 a)

a) 九州大学b) 九州先端科学技術研究所

Page 2: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

2

背景• High Performance Computing (HPC) 分野では汎用プ

ロセッサ (GPP) を集積したスーパコンピュータが広く利用されている

• GPP の演算性能を補うための種々のアクセラレータ– PowerXcell, ClearSpeed, GPGPU, GRAPE-DR, etc.– 同性能の GPP と比べて、省スペース,低消費電力

http://www.clearspeed.com/

スーパーコンピュータ「 TSUBAME 」http://it.nikkei.co.jp/

アクセラレータボード「 CSX 600 」

http://www.top500.org/system/9485

PowerXcell を搭載したスーパーコンピュータ「 Roadrunner 」

Page 3: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

3

大規模再構成可能データパスとその課題(LSRDP: Large Scale Reconfigurable Data Path)

• アクセラレータではメモリウォール問題が深刻化– 高い演算性能に比例した大きな要求メモリバンド

• 要求メモリバンド幅を抑え、かつ高い演算性能を実現するアクセラレータ (LSRDP) の提案 

•  課題: LSRDP に対する性能評価

Page 4: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

4

研究の目的

• ベンチマークとなるアプリケーションに対し, LSRDP の性能を定量的に評価する

– 3 種類のアプリケーションを対象

– 性能モデル式 + サイクルアキュレートなシミュレータでの実行時間の見積もり

– 汎用プロセッサ単体性能との比較

– 性能を決定するボトルネックの解析

Page 5: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

5

目次

• 背景• 大規模再構成可能データパス• 性能評価

– 評価対象アプリケーション– 評価実験

• おわりに

Page 6: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

大規模再構成可能データパスの概要

主記憶

• 再構成可能なデータパス• 多数の FPU• 再構成可能なネットワーク

(ORN)• 入出力にストリームバッ

ファ (SB) を搭載

• 特徴• 計算コストの高い部分を

データフローグラフ (DFG)化して直接マッピング

• パイプライン処理によりDFG 部分を加速実行

• 主記憶上に整列されたデータをバースト転送により入力

汎用プロセッサ

(GPP :General Purpose

Processor)

ORN

: : : :

ORN : Operand Routing Network

...FPU FPU FPUFPU

...FPU FPU FPUFPU

...FPU FPU FPUFPU

LSRDP

: : : ... :SB

SMAC入力データ 3

入力データ 2

入力データ 1

6

Page 7: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

7

・・・・・・・

データ依存

A = B + C;

D = A - E;

データ依存

DFG の直接マッピングによる効果

プログラム

スカラープロセッサload R0, [B]load R1, [C]add R2, R0, R1store R2, [A]

load R3, [A]load R4, [E]sub R5, R3, R4store R5, [D]

・・・

・・・・

・・・・・

LSRDP

Read Mem.

Write Mem.

Read Mem.

Write Mem.

B C

EA

D

・・・メモリアクセス回数を削減可

Read Mem.

Page 8: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

8

LSRDP を用いたプログラム実行の流れ

LSRDPGPP

主記憶

Loop      Loop    calculation   End Loop  End Loop

オリジナル GPP コードLoop     データ整列   LSRDP 再構成  計算開始信号( GPP ->

LSRDP )   Loop       LSRDP パイプライン

動作      End Loop 計算終了信号( LSRDP ->

GPP )  データ整列

End Loop

LSRDP 向けコード

Page 9: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

9

LSRDP を用いたプログラム実行の流れ

Loop     データ整列   LSRDP 再構成  計算開始信号( GPP ->

LSRDP )   Loop       LSRDP パイプライン

動作      End Loop 計算終了信号( LSRDP ->

GPP )  データ整列

End Loop

LSRDPGPP

主記憶

Page 10: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

10

LSRDP を用いたプログラム実行の流れ

LSRDPGPP

主記憶

Loop     データ整列   LSRDP 再構成  計算開始信号( GPP ->

LSRDP )   Loop       LSRDP パイプライン

動作      End Loop 計算終了信号( LSRDP ->

GPP )  データ整列

End Loop

Page 11: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

11

LSRDP を用いたプログラム実行の流れ

LSRDPGPP

主記憶

Loop     データ整列   LSRDP 再構成  計算開始信号( GPP ->

LSRDP )   Loop       LSRDP パイプライン

動作      End Loop 計算終了信号( LSRDP ->

GPP )  データ整列

End Loop

Page 12: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

12

LSRDP を用いたプログラム実行の流れ

LSRDPGPP

主記憶

Loop     データ整列   LSRDP 再構成  計算開始信号( GPP ->

LSRDP )   Loop       LSRDP パイプライン

動作      End Loop 計算終了信号( LSRDP ->

GPP )  データ整列

End Loop

Page 13: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

13

LSRDP を用いたプログラム実行の流れ

LSRDPGPP

主記憶

Loop     データ整列   LSRDP 再構成  計算開始信号( GPP ->

LSRDP )   Loop       LSRDP パイプライン

動作      End Loop 計算終了信号( LSRDP ->

GPP )  データ整列

End Loop

Page 14: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

14

LSRDP を用いたプログラム実行の流れ

LSRDPGPP

主記憶

Loop     データ整列   LSRDP 再構成  計算開始信号( GPP ->

LSRDP )   Loop       LSRDP パイプライン

動作      End Loop 計算終了信号( LSRDP ->

GPP )  データ整列

End Loop

Page 15: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

15

性能モデリング

ohLSRDPGPP ETETETET

GPP と LSRDP はオーバーラップ実行しないと仮定

+ 主記憶アクセスに係わるストール時間

理想的な実行時間( 毎クロックサイクル入力データを投入可能 )

+再構成時間 通信時間( シグナル )

整列時間+

LSRDP を利用する際のオーバーヘッド

LSRDP における実行時間

Page 16: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

16

目次

• 背景• 大規模再構成可能データパス• 性能評価

– 対象アプリケーション– 評価実験

• おわりに

Page 17: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

17

対象アプリケーション

• 2 階の定数係数偏微分方程式– 差分方程式

• 1 次元の熱伝導方程式 (Heat)• 2 次元の Poisson 方程式 (Poisson)

• 量子化学分野– 2 電子積分計算( ERI)

Page 18: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

18

熱伝導方程式 (Heat)

• 1 次元の熱伝導方程式

• 差分方程式化

• DFG の接続– x 方向と t 方向に拡大可能

2

2 ),(),(

x

tTA

t

txT

x

),(),(*),(*

),(

11

1

jijiji

ji

txTtxTBtxTD

txT

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

( D, B は定数) 差分方程式に対応する DFG

Page 19: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

19

熱伝導方程式のLSRDP システムへの実装

Loop j   Loop i T(xi,tj) End LoopEnd Loop

オリジナル GPP コード

LSRDP 向けコード

LSRDP を再構成Loop j’ (DFG で計算する時間発展分毎 )  データ整列 Loop N LSRDP パイプライン動作 ( 差分方程式の計算 ) End Loop  データ整列End Loop

Page 20: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

20

Poisson 方程式

),(),(),(

2

2

2

2

yxfy

yxu

x

yxu

2D – Poisson 方程式

),(),(),(

),(),(4

),(*)1(

),(

21

)(1

)(

1)(

1)(

)(

)1(

jijin

jin

jin

jin

jin

jin

yxfhyxuyxu

yxuyxu

yxu

yxu

ω is const.

遂次過緩和 (SOR) 法

    を求めるために、          の 4点が必要

),( ji yx ),(),,( 11 jiji yxyx

赤と青の点を交互に求める

Page 21: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

21

DFG の拡大による繰り返し回数の増加 (Poisson)

9+4ノードの入力

中心 1ノードの出力

SOR 式2 回の繰り返し

4+1ノードの入力

中心 1ノードの出力

SOR 式1 回の計算

これに伴い必要な入力数も増加• DFG の拡大により 1度に計算可能な繰り返し回数が増加

Page 22: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

22

Poisson 方程式のLSRDP システムへの実装

Loop Iter Loop i loop j u(xi,yj) End Loop   End LoopEnd Loop

オリジナル GPP コード

LSRDP 向けコード

LSRDP を再構成Loop Iter’ (DFG で計算する繰り返し回数毎 )  データ整列 Loop N LSRDP パイプライン動作 ( 差分方程式の計算 ) End Loop  データ整列End Loop

Page 23: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

23

2電子積分計算のLSRDP システムへの実装

Loop I,J,K,L   LSRDP 再構成  Loop contraction 初期積分計算 End Loop  データ整列   Loop N   LSRDP パイプライン動作       (漸化式計算    部分フォック行列計算 )  End Loop データ整列End Loop

Loop I,J,K,L   Loop contraction 初期積分計算 漸化式計算 End Loop  部分フォック行列計算End Loop

初期積分計算 : 開平逆数,指数,誤差関数計算が含まれる.  => GPP による計算

漸化式計算,部分フォック行列計算: 加減乗算のみ  => LSRDP での計算

オリジナル GPP コード LSRDP 向けコード

Page 24: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

24

評価実験• 実験目的

– GPP 単体と比較してどれほど実行時間が削減できるか• 性能に影響を与える要因の調査

– メモリバンド幅を変更した際の実行時間への影響– DFG サイズを変更した際の実行時間の変化

• 評価方法– サイクルアキュレートなシミュレータ+性能モデル式

• 評価環境

LSRDPGPP

主記憶

3.2GHz 200MHz

メモリバンド幅12.8~ 102.4[GByte/sec]

再構成時間1cc

Page 25: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

25

ベンチマーク DFG のサイズ

DFG 入力 出力 演算数Heat(M) 16 8 168

Heat(L) 32 16 728

Poisson(S) 18 1 33

Poisson(M) 38 1 90

Poisson(L) 66 1 190

ERI 最大 62 最大 18 最大 324

• Heat , Poisson についてはサイズが異なる複数の DFG を準備

•ERI は 1 回の計算で用いる 6 種類の DFG のサイズが一定

Page 26: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

12.8

25.6

51.2

102.

4

12.8

25.6

51.2

102.

4Heat(M) Heat(L)

0

0.1

0.2

0.3

0.4

0.5

0.6再構成通信整列ストール演算GPP

実験結果: Heat

主記憶のメモリバンド幅[GByte/sec]

正規化した実行時間

ベンチマークDFG

• 実行時間を最大で 20%まで削減• 整列時間が支配的• DFG サイズの拡大に従って実行時間が減少

Page 27: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

12.8

25.6

51.2

102.

4

12.8

25.6

51.2

102.

4

12.8

25.6

51.2

102.

4Poisson(S) Poisson(M) Poisson(L)

00.20.40.60.8

11.21.41.61.8

2再構成通信整列ストール演算GPP

実験結果: Poisson

主記憶のメモリバンド幅[GByte/sec]

正規化した実行時間

ベンチマークDFG

• 全ての DFG で実行時間が増加• 整列時間が支配的• DFG サイズの拡大に従って実行時間が増加

Page 28: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

12.8 25.6 51.2 102.4ERI

0

0.05

0.1

0.15

0.2

0.25 再構成通信整列ストール演算

実験結果: ERI

主記憶のメモリバンド幅[GByte/sec]

正規化した実行時間

ベンチマークDFG

• 実行時間を最大で 16%まで削減

• 整列時間が支配的

Page 29: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

29

DFG の特徴と整列時間との関係• DFG サイズの拡大につれて

– Heat :性能向上– Poisson :性能低下  

• 整列時間 ∝ #I/O ( DFG の入出力データ数) ×DFG使用回数

• 整列時間は #I/O と DFG使用回数の積に依存しており DFG サイズとの単純な比例関係にない

DFG #I/O DFG使用回数 積

Heat(M) 24 34916 8.4*10^5

Heat(L) 48 8722 4.2*10^5

Poisson(S) 19 3.0*10^6 5.7*10^7

Poisson(M) 39 2.0*10^6 7.8*10^7

Poisson(L) 67 1.5*10^6 1.0*10^8

なぜ?

Page 30: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

30

目次

• 背景• 大規模再構成可能データパス• 性能評価

– 評価対象アプリケーション– 評価実験

• おわりに

Page 31: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

31

おわりに

• まとめ– LSRDP を利用することで実行時間を最大で

16% 程度まで削減– メモリバンド幅の増加に従いストール時間は

低下– 実行時間の半分以上を整列時間に使用– ベンチマークによって DFG サイズによる実

行時間への影響は異なる• 今後

– 整列時におけるアルゴリズムの探索–新たなメモリ構成の検討

Page 32: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

32

ご清聴ありがとうございました

Page 33: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

33

backup

Page 34: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

34

FPU FPU FPU FPU

FPU FPUFPUFPU

FPU FPU FPU FPU

データ

入力演算 ・・

・・演算データ

出力データ

入力演算 ・・

・・ 演算データ

出力

演算

演算

ORN

ORN

ORN

ORN

データ

入力演算・・

・・ 演算 演算

時間入力データ 4

入力データ 3

空データ入力データ 2

入力データ 1

データ

入力演算 演算

パイプライン動作による演算の推移

CPSY 2008 10/31 34

Page 35: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

35

  分子軌道法計算のボトルネック:

電子反発積分 (ERI)

begin loop IJKL

 

  (IJ,KL) を利用 ( 部分フォック計算 ) end: loop

量子力学的電子反発エネルギー計算

TF

dcbadcba

dccd

baab

m

222/5 expexp2 DCBA

+ 漸化計算 (大量の積和計算)

ERI の初期項計算ERI: (IJ,KL)

Page 36: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

電子反発積分計算表式  ~(pp,pp) までの漸化計算のみの場合 ~

漸化計算のみの場合

入力: 最大 28 個 (計算依存) 出力: 1 ~ 81 個 (計算依存)

)1()0()1()1()1()0()0(

)1()1()1()0()0(

)1()0()1()0()0(

)1()1()0()0(

)1()0()0(

),(),(2

),(),()(2

1),(),(),(

),(),()(2

1),(),(),(

),(),(2

),(),(),(

),()(2

),(),(),(

),(),(),(

ssppssppspspspspspppWQspppQDpppp

ssspssspssppWQssppQCsppp

ssssssssssspWPssspPBsspp

ssssssspWQssspQCspsp

ssssWPssssPAsssp

jijiij

kijlkjilkjilkjiklkji

ijkjikjikjikkji

ijijiiji

ikikikki

iii

(ss,ss)(m)  ならびに種々の係数は入力によって与える

(i,j,k,l = x,y,z): p 関数は 3 成分を持つ

Page 37: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

37

),(),(*),(*),( 111 jijijiji txTtxTBtxTDtxT

DFG の生成 (Heat)

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

N 入力

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

T(i,j+1)

T(i-1,j) T(i,j) T(i+1,j)

+

*

*

+

D

B

M 回時間発展

Page 38: 科学技術計算を対象とした 大規模再構成可能データパスの 性能評価

38

DFG の拡大による入力数の増加(Poisson)

9+4ノードの入力

中心 1ノードの出力

SOR 式2 回の繰り返し

4+1ノードの入力

中心 1ノードの出力

SOR 式1 回の計算

1 DFG で計算可能な繰り返し回数の増加に従って入力数が増加