4 つの GPU を備えた aws マシンがあります。
00:03.0 VGA compatible controller: NVIDIA Corporation GK104GL [GRID K520] (rev a1)
00:04.0 VGA compatible controller: NVIDIA Corporation GK104GL [GRID K520] (rev a1)
00:05.0 VGA compatible controller: NVIDIA Corporation GK104GL [GRID K520] (rev a1)
00:06.0 VGA compatible controller: NVIDIA Corporation GK104GL [GRID K520] (rev a1)
私のtheanorcファイルは次のようになります。
[global]
floatX = float32
device = gpu0
[lib]
cnmem = 1
1 つの jupyter ノートブックを開いて theano をインポートすると、次のようになります (これは 1 つの GPU のみを使用していると想定しています)。
Using Theano backend.
Using gpu device 0: GRID K520 (CNMeM is enabled with initial size: 95.0% of memory, cuDNN 5105)
/home/sabeywardana/anaconda3/lib/python3.5/site-packages/theano/sandbox/cuda/__init__.py:600: UserWarning: Your cuDNN version is more recent than the one Theano officially supports. If you see any problems, try updating Theano or downgrading cuDNN to version 5.
ただし、同じマシンで同時に2番目のjupyterノートブックを開くと. 次に、エラーが発生します。
ERROR (theano.sandbox.cuda): ERROR: Not using GPU. Initialisation of device 0 failed:
initCnmem: cnmemInit call failed! Reason=CNMEM_STATUS_OUT_OF_MEMORY. numdev=1
ERROR (theano.sandbox.cuda): ERROR: Not using GPU. Initialisation of device gpu failed:
initCnmem: cnmemInit call failed! Reason=CNMEM_STATUS_OUT_OF_MEMORY. numdev=1
gpu1 を使用するように .theanorc を手動で変更すると、2 番目の jupyter ノートブックは正常に動作します。問題は、.theanorc を構成して利用可能な GPU を取得する方法はありますか?