2017-04-18 96 views
1

道歉,如果這已在其他地方報道過,我一直在尋找它相當一段時間,沒有成功。Keras + tensorflow + P100:cudaErrorNotSupported = 71錯誤

雖然使用keras + tensorflow一個P100 GPGPU運行簡單MNIST示例(可在github /fchollet/keras/blob/master/examples/mnist_cnn.py),我們遇到的一個問題在keras/tensorflow/CUDA的交集:

 
Using TensorFlow backend. 
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.so.8.0 locally 
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcudnn.so.5 locally 
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcufft.so.8.0 locally 
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcuda.so.1 locally 
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcurand.so.8.0 locally 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties: 
name: Tesla P100-PCIE-16GB 
major: 6 minor: 0 memoryClockRate (GHz) 1.3285 
pciBusID 0000:02:00.0 
Total memory: 15.89GiB 
Free memory: 15.51GiB 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0: Y 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:02:00.0) 
F tensorflow/core/common_runtime/gpu/gpu_device.cc:121] Check failed: err == cudaSuccess (71 vs. 0) 
srun: error: nid02011: task 0: Aborted 
srun: Terminating job step 1262138.0 

我們正在使用keras 2.0 .2,tensorflow 1.0.0。 cuda 8.0.53。 我們似乎在python2.7.12和python3.5.2(keras 1.2和2.0 ...)中都遇到了這個問題

裸張量流runtest運行良好,這導致我們認爲這確實在交叉點keras/tensorflow/CUDA。

同樣的測試可以在各種機器上運行,但與TitanX GPGPU具有相同版本的軟件。

似乎追查這回tensorflow line 121

CUDA error types

 
cudaErrorNotSupported = 71 
This error indicates the attempted operation is not supported on the current system or device. 

我在哪裏解決這個問題旁邊看無能。對於此問題的任何反饋和指導,我將不勝感激。

+2

https://github.com/tensorflow/tensorflow/issues/9080 - 您是否在安裝了CUDA MPS的系統上運行?如果是這樣,可能是問題 – talonmies

+0

非常感謝@talonmies事實證明,這是非常相關的和後期的,當我開始尋找答案之前去stackorverflow。 – vlimant

回答

0

這裏的問題的根本來源似乎是Tensorflow和CUDA MPS服務之間的不兼容問題(請參閱相關的Tensorflow跟蹤問題here)。它應該隻影響使用MPS服務的集羣和大型系統,以提高GPU設備訪問的粒度。

這可能會引起NVIDIA和Tensorflow開發團隊的bug。

[這個答案是從評論組裝並添加爲社區維基條目,以得到它沒有答案的列表爲CUDA標籤]