シストリックアレイ
#Fleeting_Notes
シストリックアレイ(Systolic Array)
systolic は心臓の拍動(systole)に由来し、一定リズムでデータが流れる様子を表している
主に数値計算(とくに行列演算や畳み込み)を規則的な演算素子(PE: Processing Element)を格子状に配置して、データを拍動(systole)のように流しながら処理する並列計算アーキテクチャ
Flynnの分類ではMIMD
複数の命令で複数のデータを扱う方式
Buffer A, Buffer Bからデータが流れてくる図
https://gyazo.com/7def98297aec156410434c032a532e32
ref: Diagram of the systolic-array design. | Download Scientific Diagram
性能面の強み
メモリアクセスが隣接するPEに限られるため局所的
パイプライン化によりスループットが高い
特に強い処理
行列積
畳み込み(CNN)
DP系アルゴリズム(例:Smith–Waterman)
GoogleのTPUは2Dシストリックアレイ
PE間の接続、演算内容をFPGAのように再構成可能なものはCGRAやCGLA
読むと良さそうなもの
A Survey of Coarse-Grained Reconfigurable Architecture and Design: Taxonomy, Challenges, and Applications. 2019-10
シストリックアレイと高速リンクの組み合わせによる 高効率マルチチップシステムの評価. 令和2年3月13日提出:(2020-03-13)
確認用
Q. シストリックアレイ
参考
Caffe Barista: Brewing Caffe with FPGAs in the Training Loop
ChatGPT.iconhttps://chatgpt.com/share/6957a1d7-1458-800d-ad5a-e9ed2b74b021
関連
NPU
メモ
シストリックアレイを作ってみよう(まとめ記事)|にしはる
Google TPUを作ってみる~アーキテクチャ考察編~ #DeepLearning - Qiita
調査用
Google.icon シストリックアレイ(日)
Google.icon Systolic array(英)
Wikipedia.icon
シストリックアレイ - Wikipedia(日)
シストリックアレイ(検索) - Wikipedia(日)
Wikipedia.icon
Systolic array - Wikipedia(英)
Systolic array(検索) - Wikipedia(英)
#Systolic_array