大規模再構成可能データパスにおける 実行前処理削減方式の検討
DESCRIPTION
大規模再構成可能データパスにおける 実行前処理削減方式の検討. ○片岡広志 a) , 本田宏明 b) , Farhad Mehdipour a) , 井上弘士 a) , 村上和彰 a) a) 九州大学、 b) ISIT. 発表の流れ. 背景 提案 手法 性能評価実験 おわりに. 研究背景. PowerXcell を 搭載したスーパーコンピュータ 「 Roadrunner 」. NVIDIA 「 Tesla S1070 」. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/1.jpg)
大規模再構成可能データパスにおける実行前処理削減方式の検討
○ 片岡広志 a) ,本田宏明 b) ,Farhad Mehdipour a) ,
井上弘士 a) ,村上和彰 a)
a) 九州大学、 b) ISIT
1
![Page 2: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/2.jpg)
発表の流れ
• 背景• 提案手法• 性能評価実験• おわりに
2
![Page 3: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/3.jpg)
研究背景• High Performance Computing (HPC) 分野では汎用プロ
セッサ (GPP) を集積したスーパコンピュータが主流– 背景: GPP の低コスト化– 方針: GPP の低い演算性能をプロセッサ数で補う
• 「 GPP+ アクセラレータ」方式も注目されている– アクセラレータ:演算性能を重視したハードウェア
• 多数の演算器の並列演算– GPP は演算負荷が高い処理をアクセラレータに実行させる– 例: PowerXcell, ClearSpeed, Tesla, GRAPE-DR, FPGA, etc.
3http://www.top500.org/system/9485
PowerXcell を搭載したスーパーコンピュータ「 Roadrunner 」
3http://www.elsa-jp.co.jp/products/hpc/tesla/s1070/index.html
NVIDIA 「 Tesla S1070 」
![Page 4: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/4.jpg)
大規模再構成可能データパスの提案(LSRDP: Large-Scale Reconfigurable Data-Path)
• アクセラレータではメモリウォール問題が深刻化– 多数の並列演算によるメモリプレッシャーの増加
• メモリバンド幅の有効利用が重要– (GPU では ) メモリのマルチバンク・マルチポート化– 一方,単一ポートからの連続アクセスでもメモリバンド幅の有効利用
は可能
444
大規模再構成可能データパスの提案– ストリーム処理方式
連続アクセス限定のメモリアクセス方式 DRAM のバースト転送機能を用いメモリバンド幅を有効
利用– 2D-array 型演算器によるデータパス方式の利用
演算器間の直接データ転送 メモリアクセス回数を削減しメモリウォール問題の影響を低減
![Page 5: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/5.jpg)
PE PE
PE PE PE
...
PE PE PE PE...
.
.
.
.
.
.
.
.
.
PE PE
ORN
...
...
Streaming Memory AccessContoller (SMAC)
ORN
Operand Routing Network (ORN)
SMAC
I/ O port
Main Mem.
GPP
ORN
... FUTU
TU TUFP
TUTU TU
FUTU
TU TUFP
TUTU TU
PE
LSRDP の動作
5
ソースコード
大規模データパスの再構成主記憶上データの再配置loop;
ループボディ end
・・・
・・・LSRDP が主記憶から連続アクセスで読み出せるように入力データを生成
![Page 6: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/6.jpg)
Heat Poi Vib ERI0
1
2
3
4
5
6
再構成通信再配置LSRDPストールLSRDP演算GPP
LSRDP の実行における問題点
6
•再配置時間が支配的• GPP を用いて主記憶へのランダムアクセスにより実行
LSRDP 実行時間
GPP 実行時間
実行時オーバーヘッド
実行時間(GPP 単体による実行時間で正規化 )
性能向上のためには再配置時間の削減が必要
※ 評価環境については後述
![Page 7: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/7.jpg)
発表概要
• 目的– 再配置 ( 実行前処理 ) 時間の削減
• 手法– プログラム作成時にデータ構造を変更– GPP を用いずに再配置を実行
• LSRDP を用いて再配置を実行• 重複化専用ハードウェアを SMAC 上に導入し再
配置処理を削減
7
![Page 8: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/8.jpg)
発表の流れ
• 背景• 提案手法
– 従来の再配置手法– データ構造の変更– データの重複作成
• 性能評価実験• おわりに
8
![Page 9: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/9.jpg)
従来の再配置手法 (1/4)
再構成loop n
入力ストリーム用データ生成 LSRDP 計算
(DFG : a(n+1)[i] = a(n)[i-1] + a(n)[i] + a(n)[i+1] + a(n-1)[i])
出力ストリームデータの書戻しend
LSRDP 向けコード
PE PE
PE PE PE
...
PE PE PE PE...
.
.
.
.
.
.
.
.
.
PE PE
ORN
...
...
Streaming Memory AccessContoller (SMAC)
ORN
Operand Routing Network (ORN)
SMAC
I/ O port
Main Mem.
GPP
ORN
... FUTU
TU TUFP
TUTU TU
FUTU
TU TUFP
TUTU TU
PE
Main Mem.
...a(n)[1] a(n)[i+M]a(n)[0]a(n-1)[1]a(n-1)[0] ...a(n-1)[i+M]a(n-1)[]: a(n)[]:
計算対象の配列はメモリ上離れた箇所に分散保持
9
![Page 10: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/10.jpg)
従来の再配置手法 (2/4)
PE PE
PE PE PE
...
PE PE PE PE...
.
.
.
.
.
.
.
.
.
PE PE
ORN
...
...
Streaming Memory AccessContoller (SMAC)
ORN
Operand Routing Network (ORN)
SMAC
I/ O port
Main Mem.
GPP
ORN
... FUTU
TU TUFP
TUTU TU
FUTU
TU TUFP
TUTU TU
PE
Main Mem.
...a(n)[1] a(n)[i+M]a(n)[0]a(n-1)[1]a(n-1)[0] ...a(n-1)[i+M]a(n-1)[]: a(n)[]:
... a(n-1)[i+M] a(n)[i+M]a(n)[0]a(n-1)[0] a(n)[1]a(n-1)[1]X(n)[]:
LSRDP 計算の入力順に並び変えた入力用データ配列 X[] の生成GPP により主記憶へのランダムアクセスを行う必要あり
再構成loop n
入力ストリーム用データ生成 LSRDP 計算
(DFG : a(n+1)[i] = a(n)[i-1] + a(n)[i] + a(n)[i+1] + a(n-1)[i])
出力ストリームデータの書戻しend
LSRDP 向けコード
10
![Page 11: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/11.jpg)
... a(n-1)[i+M] a(n)[i+M]a(n)[0]a(n-1)[0] a(n)[1]a(n-1)[1]X(n)[]:
... a(n+m-1)[] a(n+m)[]a(n+m)[0]a(n+m-1)[0] a(n+m)[1]a(n+m-1)[1]X(n+m)[]:
従来の再配置手法 (3/4)
PE PE
PE PE PE
...
PE PE PE PE...
.
.
.
.
.
.
.
.
.
PE PE
ORN
...
...
Streaming Memory AccessContoller (SMAC)
ORN
Operand Routing Network (ORN)
SMAC
I/ O port
Main Mem.
GPP
ORN
... FUTU
TU TUFP
TUTU TU
FUTU
TU TUFP
TUTU TU
PE
Main Mem.
LSRDP 計算により X(n)[] から X(n+m)[] が生成X(n)[] の読み込みと X(n+m)[] の書き込みの際に連続アクセス可能
再構成loop n
入力ストリーム用データ生成 LSRDP 計算
(DFG : a(n+1)[i] = a(n)[i-1] + a(n)[i] + a(n)[i+1] + a(n-1)[i])
出力ストリームデータの書戻しend
LSRDP 向けコード
11
![Page 12: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/12.jpg)
従来の再配置手法 (4/4)
PE PE
PE PE PE
...
PE PE PE PE...
.
.
.
.
.
.
.
.
.
PE PE
ORN
...
...
Streaming Memory AccessContoller (SMAC)
ORN
Operand Routing Network (ORN)
SMAC
I/ O port
Main Mem.
GPP
ORN
... FUTU
TU TUFP
TUTU TU
FUTU
TU TUFP
TUTU TU
PE
Main Mem.
...a(n+m)[1] ...a(n+m)[0]a(n+m-1)[1]a(n+m-1)[0] ......a(n+m-1)[]: a(n+m)[]
... a(n+m-1)[] a(n+m)[]a(n+m)[0]a(n+m-1)[0] a(n+m)[1]a(n+m-1)[1]X(n+m)[]:
X[] から a[] への書戻しGPP により主記憶へのランダムアクセスを行う必要あり
再構成loop n
入力ストリーム用データ生成 LSRDP 計算
(DFG : a(n+1)[i] = a(n)[i-1] + a(n)[i] + a(n)[i+1] + a(n-1)[i])
出力ストリームデータの書戻しend
LSRDP 向けコード
12
![Page 13: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/13.jpg)
データ構造の変更
• 従来方式ではプログラム実行時に入力ストリームを生成
• 本手法ではプログラム作成時にストリーム処理を意識したデータ構造を作成
13
Main Mem.
...a(n)[1] a(n)[i+M]a(n)[0]a(n-1)[1]a(n-1)[0] ...a(n-1)[i+M]a(n-1)[]: a(n)[]:
... a(n-1)[i+M] a(n)[i+M]a(n)[0]a(n-1)[0] a(n)[1]a(n-1)[1]X(n)[]:
![Page 14: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/14.jpg)
…
…
…
データ構造の変更による問題点
PE PE
PE PE PE
...
PE PE PE PE...
.
.
.
.
.
.
.
.
.
PE PE
ORN
...
...
Streaming Memory AccessContoller (SMAC)
ORN
Operand Routing Network (ORN)
SMAC
I/ O port
Main Mem.
GPP
ORN
... FUTU
TU TUFP
TUTU TU
FUTU
TU TUFP
TUTU TU
PE
Main Mem.
X(n)[]:
X(n+m)[]:
入力4,出力2のDFG 計算
計算結果 X(n+m)[] を再び入力データとして使用する際,更新されていないデータが存在する
14
![Page 15: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/15.jpg)
…
…
データの重複化による入力ストリーム向けデータ構造の再生成
PE PE
PE PE PE
...
PE PE PE PE...
.
.
.
.
.
.
.
.
.
PE PE
ORN
...
...
Streaming Memory AccessContoller (SMAC)
ORN
Operand Routing Network (ORN)
SMAC
I/ O port
Main Mem.
GPP
ORN
... FUTU
TU TUFP
TUTU TU
FUTU
TU TUFP
TUTU TU
PE
Main Mem.
X(n)[]:
X(n+m)[]:
入力4,出力2のDFG 計算
• データを両隣からコピー(データの重複化)することで入力ストリーム向けデータ構造を再生成
• GPP を使用すると多数のランダムアクセスが発生LSRDP を用いる方式重複化専用 HW を導入する方式
15
![Page 16: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/16.jpg)
…
LSRDP を用いたデータの重複化(1/2)
PE PE
PE PE PE
...
PE PE PE PE...
.
.
.
.
.
.
.
.
.
PE PE
ORN
...
...
Streaming Memory AccessContoller (SMAC)
ORN
Operand Routing Network (ORN)
SMAC
I/ O port
Main Mem.
GPP
ORN
... FUTU
TU TUFP
TUTU TU
FUTU
TU TUFP
TUTU TU
PE
Main Mem.
重複化前
データ重複用 DFG
…重複化前
LSRDP再構成
• LSRDP にてデータ重複処理を行うためにデータ重複用 DFG で再構成
16
![Page 17: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/17.jpg)
…
LSRDP を用いたデータの重複化(2/2)
PE PE
PE PE PE
...
PE PE PE PE...
.
.
.
.
.
.
.
.
.
PE PE
ORN
...
...
Streaming Memory AccessContoller (SMAC)
ORN
Operand Routing Network (ORN)
SMAC
I/ O port
Main Mem.
GPP
ORN
... FUTU
TU TUFP
TUTU TU
FUTU
TU TUFP
TUTU TU
PE
Main Mem.
重複化前
メモリに対する連続アクセスが可能
…重複化後
入力4,出力4の重複生成用 DFG による処理
17
![Page 18: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/18.jpg)
専用ハードウェアによるデータの重複化
PE PE
PE PE PE
...
PE PE PE PE...
.
.
.
.
.
.
.
.
.
PE PE
ORN
...
...
Streaming Memory AccessContoller (SMAC)
ORN
Operand Routing Network (ORN)
SMAC
I/ O port
Main Mem.
GPP
ORN
... FUTU
TU TUFP
TUTU TU
FUTU
TU TUFP
TUTU TU
PE
controller
input_dataバッファ
バッファ
18
…
Main Mem.
重複化前
…
重複化後
ピンク部分のみ重複化に必要 ⇒ 空白部分を圧縮して保存可能
⇒ 入出力時の転送データ量を削減
![Page 19: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/19.jpg)
提案手法のまとめ特徴 利点 欠点
従来方式 ・プログラム実行中に再配置を実行
・メモリへの多数のランダムアクセスにより実行時間が長い
データ構造の変更+ データの重複化
・プログラム作成時にデータ構造を変更・再配置を LSRDPを用いてストリーム処理により実行
・連続メモリアクセスのみでLSRDP を実行可能
・必要なメモリ領域が増加・重複化用 DFG による処理が必要
データ構造の変更+ 重複化専用ハードウェアの導入
・プログラム作成時にデータ構造を変更・重複化専用ハードウェアにより再配置処理を削減
・連続メモリアクセスのみでLSRDP を実行可能・転送データ量を削減
・ストリームデータの重複パターンに対応した HW の機能が必要
19
![Page 20: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/20.jpg)
発表の流れ
• 背景• 提案手法• 性能評価実験• おわりに
20
![Page 21: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/21.jpg)
性能評価実験• 評価環境
– GPP : Simple Scalar を用いて実行時間を計測– LSRDP :性能モデル式とパラメータから実行時間を
算出※ 性能モデル式は予稿を参
照
• 評価ベンチマーク– 2 変数 2階偏微分方程式の差分法計算
• 振動方程式 (Vib) ,熱伝導方程式 (Heat)
対象モデル LSRDP 利用 データ構造の変更
データの重複化
gpp_only - - -naive ✔ - -pack+dup ✔ ✔ DFG (LSRDP)
pack+hw ✔ ✔ 重複化専用 HW
21
![Page 22: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/22.jpg)
評価環境
22
PE PE
PE PE PE
...
PE PE PE PE...
.
.
.
.
.
.
.
.
.
PE PE
ORN
...
...
Streaming Memory AccessContoller (SMAC)
ORN
Operand Routing Network (ORN)
SMAC
I/ O port
Main Mem.
GPP
ORN
... FUTU
TU TUFP
TUTU TU
FUTU
TU TUFP
TUTU TU
PE
PE : Processing ElementFP : Floating Point unitTU : data Transfer Unit
• GPP– 動作周波数: 3.2GHz– ISA : PISA– 4way out of order スーパースカラ
• Main Memory– メモリバンド幅: 102.4GB/s
• LSRDP– サイズ:幅 48 ,高さ 35– 隣接行間接続数: 9– 動作周波数: 80GHz
• 演算器スループット: 2.5GFLOPS / PE
– 再構成時間: 30,000cc
• 追加 HW– 動作周波数: 80GHz
ジョセフソン接合
超伝導ループ
磁束量子Single Flux QuantumSuperconductivityloop
Josephson junctionジョセフソン接合
超伝導ループ
磁束量子
ジョセフソン接合
超伝導ループ
磁束量子
ジョセフソン接合
超伝導ループ
磁束量子Single Flux QuantumSuperconductivityloop
Josephson junction
追加HW
![Page 23: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/23.jpg)
naive
pack+dup
pack+hw
naive
pack+dup
pack+hw
Heat Vib
00.050.10.150.20.25
再構成通信再配置LSRDPストールLSRDP演算GPP
実行時間: gpp-only で正規化( 性能: [GFLOPS])
0.24(8.0)
0.84(1.7)
0.01(104.9)
実験結果
0.018(109.2)
0.009(210.0)
0.13(11.5)
23
![Page 24: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/24.jpg)
実験結果
•pack+dup- naive と比較して再配置を削減-Vib において LSRDP 演算、 LSRDP ストールが増加
•pack+hw- naive と比較して再配置、 LSRDP ストールを削減
naive
pack+dup
pack+hw
naive
pack+dup
pack+hw
Heat Vib
00.050.10.150.20.25
再構成通信再配置LSRDPストールLSRDP演算GPP
0.24(8.0)
0.84(1.7)
0.01(104.9)
0.018(109.2)
0.009(210.0)
0.13(11.5)
実行時間: gpp-only で正規化( 性能: [GFLOPS])
DFG を用いてLSRDP で実行
24
![Page 25: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/25.jpg)
考察• pack+dup : naive と比較して Vib において LSRDP
演算, LSRDP ストールが増加– 重複作成のために naive よりも演算性能が低い DFG を実装
• naive と同じ DFG ではデータ重複用 DFG を用いても重複が作成不可能
• pack+hw : naive と比較して再配置、 LSRDP ストールを削減– 再配置処理そのものを削減– LSRDP ストール削減率 Heat : 40% , Vib : 67%
• naive の再配置処理における重複データが多いほど高い効果
• 実効効率 : Heat の pack+hw モデルで 5%– 原因
• DFG の演算器利用効率: 52%• LSRDP への 1 入出力あたり 6 サイクルのストールが発生
25
![Page 26: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/26.jpg)
発表の流れ
• 背景• 提案手法• 性能評価実験• おわりに
26
![Page 27: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/27.jpg)
おわりに• まとめ
– LSRDP における実行前処理の削減方式を検討• プログラム作成時にデータ構造を変更• GPP を用いずに再配置を実行
–少数のメモリアクセスポートを前提としたアクセラレータにおける高性能化の可能性を示した
• 今後の課題– 実効性能の向上
• 演算性能 / 入出力数の高い DFG の探索
27
![Page 28: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/28.jpg)
ご清聴ありがとうございました
28
![Page 29: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/29.jpg)
LSRDP へのプログラム実装(1/3)(振動方程式差分法計算)
loop n loop i a(n+1)[i] = a(n)[i-1] + a(n)[i] + a(n)[i+1] + a(n-1)[i] endend
オリジナルコード: GPP で計算
loop n (mn スキップ ) loop i (mi スキップ )
a(n+1)[i] = a(n)[i-1] + a(n)[i] + a(n)[i+1] + a(n-1)[i] a(n+1)[i+1] = a(n)[i] + a(n)[i+1] + a(n)[i+2] + a(n-1)[i+1] …
a(n+2)[i] = a(n+1)[i-1] + a(n+1)[i] + a(n+1)[i+1] + a(n)[i] a(n+2)[i+1] = a(n+1)[i] + a(n+1)[i+1] + a(n+1)[i+2] + a(n)[i+1] … endend
mi
mn
ループアンローリングされたコード
i と n についてループアンローリング入力: a(n)[], a(n-1)[]出力: a(n+mn)[]
29
![Page 30: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/30.jpg)
LSRDP へのプログラム実装(1/3)(振動方程式差分法計算)
loop n (mn スキップ ) loop i (mi スキップ )
a(n+1)[i] = a(n)[i-1] + a(n)[i] + a(n)[i+1] + a(n-1)[i] a(n+1)[i+1] = a(n)[i] + a(n)[i+1] + a(n)[i+2] + a(n-1)[i+1] …
a(n+2)[i] = a(n+1)[i-1] + a(n+1)[i] + a(n+1)[i+1] + a(n)[i] a(n+2)[i+1] = a(n+1)[i] + a(n+1)[i+1] + a(n+1)[i+2] + a(n)[i+1] … endend
mi
mn
ループアンローリングされたコード
30
![Page 31: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/31.jpg)
LSRDP へのプログラム実装(2/3)(振動方程式差分法計算)
loop n (mn スキップ ) loop i (mi スキップ )
endend
ループアンローリングされたコード
入力: a(n-1)[], a(n)[]
出力: a(n+m-1)[], a(n+m)[]
ループアンローリングされた差分法計算をデータフローグラフ( DFG )化しLSRDP にマッピング
LSRDP への入出力データ順: In : a(n-1)[i], a(n)[i], a(n-1)[i+1],a(n)[i+1], …
Out : a(n+m-1)[i], a(n+m)[i], a(n+m-1)[i+1], a(n+m)[i+1], …
LSRDP へのマッピング結果:
主記憶上で LSRDP への入出力順にデータを並び変え,主記憶への連続アクセスを可能とする必要がある⇒入力ストリーム生成(データ再配置)31
![Page 32: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/32.jpg)
LSRDP へのプログラム実装(2/3)(振動方程式差分法計算)
LSRDP への入出力データ順: In : a(n-1)[i], a(n)[i], a(n-1)[i+1],a(n)[i+1], …
Out : a(n+m-1)[i], a(n+m)[i], a(n+m-1)[i+1], a(n+m)[i+1], …
LSRDP へのマッピング結果:
主記憶上で LSRDP への入出力順にデータを並び変え,主記憶への連続アクセスを可能とする必要がある⇒入力ストリーム生成(データ再配置)
再構成loop n
入力ストリーム生成 LSRDP 計算 (差分法計算 ) 出力ストリームデータの書戻しend
LSRDP 向けコード
32
![Page 33: 大規模再構成可能データパスにおける 実行前処理削減方式の検討](https://reader035.vdocuments.site/reader035/viewer/2022081511/56812bf5550346895d906c3a/html5/thumbnails/33.jpg)
Vertical vs. Horizontal DFG Decomposition
Loop N Reconfiguration Loop M LSRDP pipeline calc. End LoopEnd Loop
Original
33
Loop n ( > N) Reconfiguration Loop M LSRDP pipeline calc. End LoopEnd Loop
Vertical Decomp.
Loop N Reconfiguration Loop M 1st LSRDP pipeline calc. End LoopEnd LoopLoop N Reconfiguration Loop M 2nd LSRDP pipeline calc. End LoopEnd Loop
Horizontal Decomp.
33