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

その他試したこと

メモ

多分Dockerに限らず起きる気がする
Dockerを使っていないベタな環境で似たような環境がありますがそちらではこのエラーが出ないので比較したらそちらはNFSがバージョン4でマウントされてました