studylog/北の雲

chainer/python/nlp

cupy使ってみる

一ヶ月後にリリース予定のcupyバージョンのChainerを使ってみる。

import cudnnのところでエラー。どうもCuDNN環境が無いと動かない模様でlibcudnn.soを入れたら動きだした。CuDNNのバージョンはv2。


cuda.init()が必要無くなってる。
というかこれがあるとエラーになる。
GPU用の分岐コードが一切いらないのかと思いきやto_gpuは必要っぽい。

速度比較(timeのところ)

PyCUDAを使った現在のmasterバージョン

200/7030800, train_loss = 7.32764196395874, time = 0.24
400/7030800, train_loss = 6.9854559898376465, time = 0.24
600/7030800, train_loss = 6.84650182723999, time = 0.24
800/7030800, train_loss = 6.594701290130615, time = 0.25
1000/7030800, train_loss = 6.653822422027588, time = 0.24

0.24ぐらい GPU使用率はほぼ100%

cupyバージョン

200/7030800, train_loss = 7.274655342102051, time = 0.61
400/7030800, train_loss = 7.116018772125244, time = 0.59
600/7030800, train_loss = 6.802645683288574, time = 0.60
800/7030800, train_loss = 6.4941911697387695, time = 0.59
1000/7030800, train_loss = 6.5105390548706055, time = 0.60

0.60ぐらい GPU使用率は30%ぐらい

まだPyCUDAバージョンに比べると遅いけれど、リリースは一ヶ月後の1.3.0なので気長に待ちたいと思います。