2016-05-31 178 views
0

我在Tesla K80上用CUDA 7.5和CUDNN v5運行Tensorflow 0.8。一切都很好,但兩個設備無法訪問對方。Tensorflow支持特斯拉K80

下面列出了警告日誌。謝謝。

I tensorflow/core/common_runtime/gpu/gpu_init.cc:59] cannot enable peer access from device ordinal 0 to device ordinal 2 
I tensorflow/core/common_runtime/gpu/gpu_init.cc:59] cannot enable peer access from device ordinal 0 to device ordinal 3 
I tensorflow/core/common_runtime/gpu/gpu_init.cc:59] cannot enable peer access from device ordinal 1 to device ordinal 2 
I tensorflow/core/common_runtime/gpu/gpu_init.cc:59] cannot enable peer access from device ordinal 1 to device ordinal 3 
I tensorflow/core/common_runtime/gpu/gpu_init.cc:59] cannot enable peer access from device ordinal 2 to device ordinal 0 
I tensorflow/core/common_runtime/gpu/gpu_init.cc:59] cannot enable peer access from device ordinal 2 to device ordinal 1 
I tensorflow/core/common_runtime/gpu/gpu_init.cc:59] cannot enable peer access from device ordinal 3 to device ordinal 0 
I tensorflow/core/common_runtime/gpu/gpu_init.cc:59] cannot enable peer access from device ordinal 3 to device ordinal 1 
+0

是的,你應該可以在K80上使用Tensorflow。您顯示的警告是K80插入的系統配置的結果,並非特定於K80 GPU或Tensorflow。 NVIDIA提供了示例代碼(例如simpleP2P,p2pBandwidthLatencyTest,deviceQuery),它們都提供了有關係統的P2P(對等訪問)功能的各種信息。 –

+0

謝謝你的幫助。我嘗試運行simpleP2P測試,它顯示2個GPU不能彼此訪問p2p。你知道爲什麼它沒有在我的機器上啓用嗎?以下是我的環境信息。謝謝。 ubuntu 14.04,Tesla K80,驅動程序版本:352.39。 – Brian

+0

這取決於您的系統,即主板和系統BIOS。看看Hopobcn提供的答案。如果您有像這樣建議的雙插槽主板上安裝這些GPU,則某些GPU將無法與其他GPU直接通信(p2p)。但是如果不知道您擁有哪個特定的主板以及GPU插入的插槽,則無法給出確切的答案。 –

回答

6

我敢打賭,你有一些多插槽的配置,像這樣的:

Two K80 from different PCIe root complex

各自K80是不共享相同的PCIe根聯合體。 然後,允許從GPU0到GPU1的點對點訪問,但是從GPU0到GPU2/GPU3不允許。

Tensorflow應該能夠檢測到這種系統並在GPU之間執行手動拷貝。

3

是,TensorFlow應該在特斯拉K80 GPU工作(雖然它不是officially tested devices之一)。正如Robert Crovella在his comment中指出的那樣,這些警告消息僅僅表明您的系統未配置爲在各種GPU設備之間進行點對點訪問,但您仍然應該能夠在其上運行TensorFlow。