23. FPGAが奇数行か偶数行かを識別する回路
データ要素の計算順序を決めるため
回路規模は非常に小さい
FPGAあたりに1つのNOTゲート
位置情報の取得
22
Bottom row
FPGAs
Row 1:
odd row FPGAs
Row 2:
even row FPGAs
Row 3:
odd row FPGAs
FPGA
NOT
FPGA
NOT
FPGA
NOT
FPGA
NOT
0
1
0
1
FPGA
NOT
FPGA
NOT
FPGA
NOT
FPGA
NOT
0
1
0
1
FPGA
NOT
FPGA
NOT
FPGA
NOT
FPGA
NOT
0
1
0
1
FPGA
NOT
FPGA
NOT
FPGA
NOT
FPGA
NOT
0
1
0
1
25. FPGA(A)をMasterと定義
Master以外のFPGAはMasterから送信される信号に同期
Master以外のFPGAは同期信号を受信するまで計算をストール
同期信号は,Masterがα +β の周期で生成
α :1イテレーションのためのステンシル計算に処理に要するサイクル数
β :各FPGAのクロックのばらつきを吸収するためのマージン
FPGAアレーの同期機構の仕組み
24
α
FPGA A
FPGA B
FPGA C
FPGA D
stall
synchronize synchronize
α α
stall stall
β β β
(Master)
26. 同期信号を受信したマスター(FPGA A)以外のFPGAノードは,左方向と下
方向に同期信号を送信
同期信号は数十サイクルの幅をもつ波形
送受信ミスの防止対策
受信するFPGAでは,この同期信号が数サイクル連続して1となる場合に,同
期信号の受信とする
FPGAアレーの同期機構の実装
25
FPGA D
FPGA B
FPGA C
FPGA A FPGA A
FPGA B
FPGA C
FPGA D
α β
α β