cuda - 带有 tensorflow 、Windows 的多进程多 GPU

标签 cuda tensorflow gpu cudnn

我对 tensorflow 有点陌生..所以请对我温柔点.. 我在创建第二个在已经工作的 GPU 上加载 tensorflow 的进程时遇到问题。

我得到的错误是:

\cuda\cuda_dnn.cc:385] could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
\cuda\cuda_dnn.cc:392] error retrieving driver version: Permission denied: could not open driver version path for reading: /proc/driver/nvidia/version
\cuda\cuda_dnn.cc:352] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
\kernels\conv_ops.cc:532] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)
\cuda\cuda_dnn.cc:385] could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED

硬件详细信息:

super micro -  4028GR-TRT
8 GPU's 1080 
CUDA: 8 
cudnn: 5.1 
windows: 10 
tensorflow: 0.12.1 / 1.0.1  

我的电脑应该没有问题

windows 7
gpu 1070
cuda 8
cudnn 5.1 
tensorflow 0.12.1

有人可以告诉我为什么在我的电脑上一切正常,但在大型电脑(超微)上却不行?

这可能是 Windows/驱动程序问题吗?

我尝试更新 NVIDIA 驱动程序..没有帮助..

最佳答案

TensorFlow 并不总是擅长与其他进程(包括其自身的其他实例!)共享 GPU。典型的解决方法是使用 %CUDA_VISIBLE_DEVICES% 环境变量来防止两个进程在同一 GPU 上发生冲突。例如:

C:\>set CUDA_VISIBLE_DEVICES=0
C:\>python tensorflow_program_1.py

在另一个命令提示符中,您可以告诉 TensorFlow 使用不同的 GPU,如下所示:

C:\>set CUDA_VISIBLE_DEVICES=1
C:\>python tensorflow_program_2.py

关于cuda - 带有 tensorflow 、Windows 的多进程多 GPU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42888736/

相关文章:

python - 在检查点 Tensorflow 中找不到 key <variable_name>

tensorflow - 如何在 tensorflow 中正确使用批量标准化?

python - pytorch - 使用 'with statement' 内的设备

cuda - 计算 2D 数组 CUDA 的平均值

matrix - 使用cuda乘以数百个矩阵

c - cudaMemcpy 中的参数无效

python - TensorFlow 数据集 .map() 方法不适用于内置 tf.keras.preprocessing.image 函数

c++ - CUDA 驱动 CUmodule

c++ - 是否可以在Visual Studio中分析GPU内存?

python - TensorFlow 似乎不使用 GPU