###前提・実現したいこと
keras+tensorflowでGPUのメモリ全てを使用したい.
###発生している問題
tensorflowのデフォルトの設定はGPUメモリを割り当てられるだけの全てを割り当てるという仕様になっているはずです.
しかし新しく環境設定したGPUマシン(1080Ti ×2)で同様のスクリプトを実行する際に,GPUメモリの一部が割り当てられず(nvidia-smiのmemory usage: 9588MiB / 11264MiB),メモリが足りずにResourceExhoustedErrorが起きてしまいます.
ちなみに正常にスクリプトが動作する1080Tiを一つだけ積んだPCでは,nvidia-smi上の表示では11015MiB/11264MiBという割り当てになっています.
###該当のソースコード
tensorflowが認識しているGPUの情報です.
> from tensorflow.python.client import device_lib > print(device_lib.list_local_devices()) [name: "/cpu:0" device_type: "CPU" memory_limit: 268435456 locality { } incarnation: 9709578925658430097 , name: "/gpu:0" device_type: "GPU" memory_limit: 9273834701 locality { bus_id: 1 } incarnation: 16668416364446126258 physical_device_desc: "device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:03:00.0" , name: "/gpu:1" device_type: "GPU" memory_limit: 9273834701 locality { bus_id: 1 } incarnation: 2094938711079475130 physical_device_desc: "device: 1, name: GeForce GTX 1080 Ti, pci bus id: 0000:04:00.0" ]
nvidia-smi.exeの結果は以下の通りです.
アイドル時 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 385.41 Driver Version: 385.41 | |-------------------------------+----------------------+----------------------+ | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GTX 108... WDDM | 00000000:03:00.0 Off | N/A | | 23% 31C P8 9W / 250W | 285MiB / 11264MiB | 17% Default | +-------------------------------+----------------------+----------------------+ | 1 GeForce GTX 108... WDDM | 00000000:04:00.0 Off | N/A | | 25% 38C P8 9W / 250W | 155MiB / 11264MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 1280 C+G ...mmersiveControlPanel\SystemSettings.exe N/A | | 0 1560 C+G Insufficient Permissions N/A | | 0 4120 C+G ...6)\Google\Chrome\Application\chrome.exe N/A | | 0 4580 C+G C:\Windows\explorer.exe N/A | | 0 5188 C+G ...t_cw5n1h2txyewy\ShellExperienceHost.exe N/A | | 0 5324 C+G ...dows.Cortana_cw5n1h2txyewy\SearchUI.exe N/A | | 1 1228 C+G Insufficient Permissions N/A | | 1 1244 C+G Insufficient Permissions N/A | +-----------------------------------------------------------------------------+ 計算スクリプト実行時 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 385.41 Driver Version: 385.41 | |-------------------------------+----------------------+----------------------+ | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GTX 108... WDDM | 00000000:03:00.0 Off | N/A | | 23% 35C P8 13W / 250W | 9284MiB / 11264MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 1 GeForce GTX 108... WDDM | 00000000:04:00.0 Off | N/A | | 23% 38C P2 55W / 250W | 9146MiB / 11264MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 1280 C+G ...mmersiveControlPanel\SystemSettings.exe N/A | | 0 1448 C ...ers\Administrator\Anaconda3\pythonw.exe N/A | | 0 1560 C+G Insufficient Permissions N/A | | 0 4120 C+G ...6)\Google\Chrome\Application\chrome.exe N/A | | 0 4580 C+G C:\Windows\explorer.exe N/A | | 0 5188 C+G ...t_cw5n1h2txyewy\ShellExperienceHost.exe N/A | | 0 5324 C+G ...dows.Cortana_cw5n1h2txyewy\SearchUI.exe N/A | | 1 1228 C+G Insufficient Permissions N/A | | 1 1244 C+G Insufficient Permissions N/A | | 1 1448 C ...ers\Administrator\Anaconda3\pythonw.exe N/A | +-----------------------------------------------------------------------------+
###環境
OS: Windows10
library: python 3.6, keras 2.0.8, tensorflow-gpu 1.3.0, CUDA8.0 CUDNN6.0
###補足&試したこと
まずtensorflow側の問題なのかそれともCUDAなどのGPU周りの設定等の問題なのかを切り分けるために色々Web上の情報などを参考にしましたが結局分からず仕舞いといったところです.
他のサービスがGPUメモリの一部を既に予約してしまっている可能性が一番濃厚だと思ったのですが,Memory Usageを見てもメモリのほとんど全てを使っているという感じはありません.
Insufficient Permissionも怪しく思い,PIDからプロセスを割り出したところ,dmw.exeなどの細々としたものでした.
GPUメモリがきちんとフルに割り当てられない原因について何か分かる方がいれば教えていただけると嬉しいです.
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。