【CUDA】Shared memoryによる行列積の高速化

Shared memoryによる行列積の高速化を試みてみました.
CUDA公式のprogramming guideにも載っている基本課題ですが,
正直,全然(英語が)理解できなかったので,
挫折しかかっていたのですが,

http://www.ccn.yamanashi.ac.jp/~stomo/%E3%82%B5%E3%82%A4%E3%83%88/GPU_matrixMul.html
を参考に結局実装できました.

結果は以下のようになりました.

f:id:yusuke_ujitoko:20160206001437p:plain
OS:Windows7
CPU:Intel Core i7 3.33GHz
GPU:GeForce780Ti

cublasを用いるよりも,自分でカーネルを書いたほうが高速化できるようです.
特に要素数が大きくなってくるとその差が顕著に!