概要
chainerでGPUを使ってCNNをする際に,以下のようなWarningが出てきました.
PerformanceWarning:
The best algo of conv fwd might not be selected due to lack of workspace size (8388608)
実行自体は問題ないのですが,Warningが出るのは気持ちが悪いので修正方法を探しました.
実行環境
- chainer version 7.7.0
- CUDA 11.0
- cuDNN 8.0
原因
同じような問題に遭遇している方がいらっしゃいました.
chainerでTensorcoreを使って学習の高速化
どうやらcuDNNがGPUのメモリ(workspace)を確保する際にサイズが不足していることが原因らしいです.
解決策
解決するには以下のようにworkspaceのサイズを設定することで,必要なメモリサイズを確保してあげれば良いそうです.
ws_size = 256 * 1024 * 1024 # 256MB
chainer.cuda.set_max_workspace_size(ws_size)
この例の場合256MBを確保しています.
確保するサイズを調整することによっていづれPerformanceWarningが出なくなります.
私の場合は512MBを確保したらPerformanceWarningが出なくなりました.
参考記事
chainerでTensorcoreを使って学習の高速化
chainer.backends.cuda.set_max_workspace_size
ChainerでTensorコア(fp16)を使いこなす
後書き
他の複数の環境では出たことがなかったので環境依存なんですかね?