Vengineerの妄想

人生を妄想しています。

Intel FPGAでディープラーニング


IWOCL 2017インテルの発表資料


9頁目からの「MAP ARCHITECTURE TO ALGORITHM」って、面白い。

普通はアルゴリズム開発して、その後にアーキテクチャを決めますよね。

11頁目では、ベクター演算をArria 10のDSPでどう実装するのか?
12頁〜16頁目までは、マトリックス演算について。
17頁〜19頁目までは、Systolic Arrayについて。

非常に分かりやすいです。。。

Arria 10のDSPを4個使って、4x4の演算をする。

20頁目以降は、「CREATE SPATIALLY REGULAR ARCHITECTURE」ということで、
Systolic arrayをどのようにFPGAで実装するかと。

PEをのOpenCLの実装もちらっと。

PEを4x4で、Systolic Arrayを実装。。。

PE間は基本的に、OpenCL 2.0のpipe機能で接続していると。。。

30頁目からは、「ADVANTAGEOUS OF ON-DIE MEMORY」では、
内部メモリのM20Kを使って、PEへのデータ供給をする。

37頁目からは、「CONVOLUTIONAL NEURAL NETS ON FPGAS」
41頁目が、Deep Learning Accelerator on FPGAの図。
コレだけ見ても良くわかんなかったが、その前までのPEの実装をよ~く見ていたら、
なんとなく分かってきたような気がした。。。

このスライドだけじゃ、よくわからなかったが、Google君にきいたら、、、
An OpenCL(TM) Deep Learning Accelerator on Arria 10
にもっと詳しく書いてありました。。。

特に「Winogard Transform」の部分。。。。

ReLUとStream Bufferのところに、あるんですよ、Winograd Trans.というキーワード。。。