OPENCL版NNPropagatorを開発しました!

OpenCL版NNPropagatorを開発しました!

高速なニューラルネットワークの学習のために,OpenCLを使い学習の高速化をしました.

NNPropagatorの理念に基づき,OpenCL版の実装も,トリッキーな最適化を施したものではなく,アルゴリズムが把握しやすいものになっています.

参考に,私の環境では,後日投稿予定の「CNNでMNIST実装」では,数千倍程度の高速化となりました.OpenCL_Logo

OpenCLとは?

OpenCLとは,マルチコアCPUやGPU、Cellプロセッサ、DSPなどによる異種混在の計算資源を利用した並列コンピューティングのためのクロスプラットフォームなフレームワークです。どんな計算資源でも同一のコードで並列プログラミングをすることができます.OpenCLのカーネルはOpenclC言語というC言語ライクな言語で記述することができ,非常に使いやすいです.

NNPropagatorでの使い方

NNPropagatorでの使い方は,CPU版と比べて一切変化しません.

あたらしい種類の層を追加するときに,OpenCLコードで書く必要があります.

 

 

Posted on