2016-11-30 246 views
2

這是關於與GPU的支持(v0.12)Tensorflow/Windows的(本地):GPU支持[無法識別NUMA節點]

雖然一些實例工作在Windows上運行Tensorflow本地(matmul.py)和我可以看到GPU(1.3s)與CPU大的性能差異(4.4s),我得到一個問題一個例子:

式C:\ tf_jenkins \家庭\工作區\釋放贏\設備\ gpu \ os \ windows \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc:586]無法識別/ job:localhost/replica:0/task:0/gpu:0的NUMA節點,默認爲0.您的內核可能不是用NUMA支持構建的。

而另一些人有沒有被加載cuDNN庫中的問題,我的圖書館被正確地找到和加載:

I C:\ tf_jenkins \家庭\工作區\釋放贏\設備\ GPU \ OS \ WINDOWS \ tensorflow \ stream_executor \ dso_loader.cc:128]成功打開CUDA庫cudnn64_5.dll本地

沒有任何人有同樣的問題? 有人能解決嗎? 我可以做些什麼來獲得更多日誌記錄,瞭解發生了什麼問題?

回答

2

雖然TensorFlow在this message is produced報告錯誤,但您可能會忽略它,除非您正在運行多GPU配置,並將不同的GPU連接到不同的NUMA節點。正如comment in the code說:

if (numa_node < 0) { 
    // For some reason the StreamExecutor couldn't get the NUMA 
    // affinity of the GPU. If this is not a multi-socket mobo with 
    // GPUs local to different buses, it doesn't matter. If it is, we 
    // may run into trouble later with data transfer operations. The 
    // trouble may manifest as slower than expected performance, or 
    // outright failures. 
    LOG(ERROR) << "Could not identify NUMA node of " << name 
      << ", defaulting to 0. Your kernel may not have been built " 
       "with NUMA support."; 
    numa_node = 0; 
} 

事實證明,該code to discover NUMA nodes只在Linux上實現的,因爲它使用SYSFS。如果您正在運行帶有多個GPU和NUMA的大型Windows服務器,請通過GitHub issue告知我們,因此我們可以優先添加此支持。