Vengineerの妄想(準備期間)

人生は短いけど、長いです。人生を楽しみましょう!

第11講 ハードウェア・アクセラレーション


日本IBMの石崎さんの東工大のH29年度数理・計算科学特論Cの講座資料:
プログラミング言語処理系の最先端実装技術、第11講 ハードウェア・アクセラレーション

その39頁に、次のようにあります。
引用します。
 ハードウェアアクセラレータとの親和性

 ・Convolution
  - 4重ループで、外側2重は並列実行、内側2重は積和演算でリダクション実行可能
 ・ReLu
  - 並列実行可能な2重ループで、max()を実行
 ・MaxPooling
    - 4重るぷで、外側2重は並列実行、内側2重は最大値を求めるリダクション実行可能
 ・Full connection
  - 2重ループで、外側は並列実行、内側は積和演算でリダクション実行可能

   比較的決まった処理で、並列処理が追いので、

    ハードウェアアクセラレータ向き

  特に、計算量の多いConvolutionを高速化したい

これらをハードウェアにして、CPUが実行しているノード部分とのデータの移動をどうするかが問題なんだよね。

GPGPUで速くなるのは、すべてのノードをGPGPU側で処理できるようなモデルだけだからね。

GPGPUに勝つには、そこができるかどうかなんだろうね。。