2019年 04月 22日
tiny-dnn アクセラレータの並列度を上げるには?
tiny-dnn アクセラレータは、現状では output channel の数だけ同時に積和演算をしています。
実験で使っている MNIST では最大で 16並列です。もう少し一般的な問題でも数百くらいが限界?
それと比べると、大きな FPGA では DSP をもっとたくさん持っているし、8bit の符号なし乗算は 2MUL/DSP 出来るはず。
そんなわけで、もう一つ並列を作るパラメータが欲しいです。
もちろん、ミニバッチ内のサンプル別に並列を作るのがわかりやすいですが、それだと遊びとしては面白くないのでサンプル内の並列度を高めたい。
フィーチャマップを分割するのだろうけど、大きく分割するのと細かく分割するのとどっちが良いのか…
大きく分割すると、ここに書いてある みたいにハローが必要になるんですね。
細かく分割するのメモリアクセスの効率がよさそうだけど、扱いが難しそう…
by tom01h
| 2019-04-22 23:47