已安装 Tensorflow-gpu、CUDA 和 cudnn,但发现 GPU 设备但未使用 [重复]

Posted

技术标签:

【中文标题】已安装 Tensorflow-gpu、CUDA 和 cudnn,但发现 GPU 设备但未使用 [重复]【英文标题】:Tensorflow-gpu, CUDA and cudnn installed, however GPU device is found but not utilized [duplicate] 【发布时间】:2017-10-31 07:55:48 【问题描述】: Windows 7 x64 Python 3.5.2 CUDA 工具包 8.0.61 Tensorflow 包:tensorflow-gpu-1.2.0rc0 cudnn 8.0(用于 CUDA 8.0 工具包)

测试:

# Creates a graph.
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
# Creates a session with log_device_placement set to True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
# Runs the op.
print(sess.run(c))

结果:

2017-05-30 13:50:33.021124: I C:\...\gpu_device.cc:906] Found device 0 with properties:
name: NVS 5200M
major: 2 minor: 1 memoryClockRate (GHz) 1.344
pciBusID 0000:01:00.0
Total memory: 1.00GiB
Free memory: 886.41MiB
2017-05-30 13:50:33.022124: I C:\...\gpu_device.cc:927] DMA: 0
2017-05-30 13:50:33.022124: I C:\...\gpu_device.cc:937] 0:   Y
2017-05-30 13:50:33.022124: I C:\...\gpu_device.cc:969] Ignoring visible gpu device (device: 0, name: NVS 5200M, pci bus id: 0000:01:00.0) with Cuda compute capability 2.1. The minimum required Cuda capability is 3.0.
Device mapping: no known devices.
2017-05-30 13:50:33.024124: I C:\...\direct_session.cc:265] Device mappin
g:

MatMul: (MatMul): /job:localhost/replica:0/task:0/cpu:0
2017-05-30 13:50:33.026124: I C:\...\simple_placer.cc:847] MatMul: (MatMul)/job:localhost/replica:0/task:0/cpu:0
b: (Const): /job:localhost/replica:0/task:0/cpu:0
2017-05-30 13:50:33.027124: I C:\...\simple_placer.cc:847] b: (Const)/job:localhost/replica:0/task:0/cpu:0
a: (Const): /job:localhost/replica:0/task:0/cpu:0
2017-05-30 13:50:33.027124: I C:\...\simple_placer.cc:847] a: (Const)/job:localhost/replica:0/task:0/cpu:0
[[ 22.  28.]
 [ 49.  64.]]

我假设我的问题是“忽略具有 CUDA 计算能力 2.1 的可见 gpu 设备。所需的最低 Cuda 能力是 3.0。”因此,我的硬件似乎仅限于 CUDA 2.1,但不清楚 3.0 的要求来自何处。是 CUDA 工具包还是 tensorflow 库?

【问题讨论】:

TF 最初发布时需要计算能力 3.0(用于 GPU 加速)。我无法为您提供 TF 文档的确切链接。此外,CUDA GPU 上的大部分 TF DNN 加速都是通过 does specifically call out the required GPUs as being Kepler or newer 的 cudnn 库实现的,而您的 cc2.x 设备是 Fermi 设备。 cudnn 明确不支持 Fermi GPU。 【参考方案1】:

您可以在安装页面上找到有关 GPU 支持的说明。

具有 CUDA 计算能力 3.0 或更高版本的 GPU 卡。有关受支持的 GPU 卡的列表,请参阅 NVIDIA 文档。

Linux:https://www.tensorflow.org/install/install_linux 窗口:https://www.tensorflow.org/install/install_windows 来源:https://www.tensorflow.org/versions/master/install/install_sources 苹果机:https://www.tensorflow.org/install/install_mac

不过,仍有一些方法可以使用计算能力较低的 GPU。参考this。

【讨论】:

以上是关于已安装 Tensorflow-gpu、CUDA 和 cudnn,但发现 GPU 设备但未使用 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

具有多个cuda版本的系统上的tensorflow-gpu安装问题

安装TensorFlow-gpu

Tensorflow-gpu 问题(CUDA 运行时错误:设备内核映像无效)

cuda8.0如何安装TensorFlow-gpu?

win10安装CUDA CUDNN tensorflow-gpu

Anaconda 安装Tensorflow-gpu 版本详细教程