NFS上でCUDAが上手く動かない
症状
Nvidia Docker2で作ったコンテナの/homeにNFSマウントした状態でChainerを使うと
1CUDARuntimeError: cudaErrorUnknown: unknown error
と怒られて動かない
解決方法
NFSマウントを外すと上手く動くのでNFSによるものらしい
ので以下のようにNFSのバージョンを明示的に最新の4を指定する
デフォルトだとどうも3でマウントしてるっぽい
1version: "3"
2
3services:
4 sample:
5 build: .
6 tty: true
7 volumes:
8 - nfs:/home
9
10volumes:
11 nfs:
12 driver: local
13 driver_opts:
14 type: nfs
15 o: addr=192.168.1.xxx,hard,rsize=1048576,wsize=1048576,nfsvers=4
16 device: :/home
その他試したこと
- Problem with CUDA 8 with 381.09 drivers on Ubuntu 16.04, GTX 1080Ti
CUDA_CACHE_PATHを指定することで他の場所に作れるらしい
元の位置は~/.nv
変更したがダメだった
投稿者と同じくドライバが384系だったので390系まであげたものの解決せず
メモ
多分Dockerに限らず起きる気がする
Dockerを使っていないベタな環境で似たような環境がありますがそちらではこのエラーが出ないので比較したらそちらはNFSがバージョン4でマウントされてました