昨日の続きとしてWSLからGPUが使えないか色々試してた.
結論からいうとうまく使えなかった.
$ sudo make (省略) $ ./deviceQuery ./deviceQuery Starting… CUDA Device Query (Runtime API) version (CUDART static linking) cudaGetDeviceCount returned 35 -> CUDA driver version is insufficient for CUDA runtime version Result = FAIL
サンプルコードを動かしたときのエラーメッセージ
エラーメッセージからしてバージョンが悪さしているのは分かるのだが,CUDA Toolkit 10.0/10.2/11.0 の全てで上手く動かないのはよくわからない(GPUはGeForce GTX 1060でLinux ディストリビューションはUbuntu 18.04).
WindowsのコマンドプロンプトからはCUDA Toolkit 10.2でGPUを使うことが出来るのでGPUとToolkitのバージョン相性が悪いことは無いはず.
個人的に一番匂うのは,WSL2にあらかじめ入れておく必要があるNVIDIAドライバ(NVIDIA Drivers for CUDA on WSL)とCUDA Toolkitの相性の問題.
ドライバをダウンロードしてきたときのファイル名が”455.41_gameready_win10-dch_64bit_international”なのでDriver Versionは455.41と予想.
ここで,CUDA Toolkit 10.0/10.2/11.0が対応しているDriver Versionを見てみると(https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html 参照),Driver Version 455.41とCUDA Toolkitとの対応は問題がないことが分かる(というかDriver Version 455だと全てのCUDA Toolkitと対応している?).
こう見るといけてそうだが,CUDA Toolkitをインストールするときにドライバをきちんと除けているかとかが不安(WSL用のNVIDIAドライバを使わないといけないようなので,参考文献[1]に書いてあるように$sudo apt-get install cudaで一気に全部入れるとだめらしい).
まあ准教授にヘルプ出してみたので後日解決するだろう(知らんけど).
参考にさせて頂いたサイト
[1] 「待ってました CUDA on WSL2」, https://qiita.com/ksasaki/items/ee864abd74f95fea1efa,
(最終閲覧日 2020年 8月 11日)
[2] 「CUDA in WSL2を試す」,
https://rigaya34589.blog.fc2.com/blog-entry-1259.html,
(最終閲覧日 2020年 8月 11日)