TensorFlow的./configure在哪里,以及如何启用GPU支持? [英] where is the ./configure of TensorFlow and how to enable the GPU support?
问题描述
在Ubuntu上安装TensorFlow时,我想将GPU与CUDA一起使用.
When installing TensorFlow on my Ubuntu, I would like to use GPU with CUDA.
但是我在官方教程中停了下来:
这./configure
到底在哪里?或者我的源代码树的根在哪里?
Where exactly is this ./configure
? Or where is my root of source tree.
我的TensorFlow位于此处/usr/local/lib/python2.7/dist-packages/tensorflow
.但是我仍然没有找到./configure
.
My TensorFlow is located here /usr/local/lib/python2.7/dist-packages/tensorflow
. But I still did not find ./configure
.
编辑
我已经根据 Salvador Dali的答案找到了./configure
.但是在执行示例代码时,出现以下错误:
I have found the ./configure
according to Salvador Dali's answer. But when doing the example code, I got the following error:
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
I tensorflow/core/common_runtime/local_device.cc:25] Local device intra op parallelism threads: 8
E tensorflow/stream_executor/cuda/cuda_driver.cc:466] failed call to cuInit: CUDA_ERROR_NO_DEVICE
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:86] kernel driver does not appear to be running on this host (cliu-ubuntu): /proc/driver/nvidia/version does not exist
I tensorflow/core/common_runtime/gpu/gpu_init.cc:112] DMA:
I tensorflow/core/common_runtime/local_session.cc:45] Local session inter op parallelism threads: 8
找不到cuda设备.
The cuda device cannot be found.
答案
在此处中查看有关如何启用GPU支持的答案.
See the answer about how did I enable GPU support here.
推荐答案
-
第一个问题的答案:已根据此处找到答案
./configure
.它位于tensorflow
的源文件夹下,如此处所示.Answer to first question:
./configure
has already been found according to the answer here. It is under the source folder oftensorflow
as shown here.第二个问题的答案:
实际上,我有GPU
NVIDIA Corporation GK208GLM [Quadro K610M]
.我还安装了CUDA
+cuDNN
. (因此,以下答案是基于您已经使用正确的版本正确安装了CUDA 7.0+
+cuDNN
的.)问题是:我已经安装了驱动程序,但是GPU无法正常工作.我通过以下步骤使其工作:Actually, I have the GPU
NVIDIA Corporation GK208GLM [Quadro K610M]
. I also haveCUDA
+cuDNN
installed. (Therefore, the following answer is based on you have already installedCUDA 7.0+
+cuDNN
correctly with the correct versions.) However the problem is: I have driver installed but the GPU is just not working. I made it working in the following steps:起初,我这样做
lspci
并得到:At first, I did this
lspci
and got:01:00.0 VGA compatible controller: NVIDIA Corporation GK208GLM [Quadro K610M] (rev ff)
此处的状态为修订版.然后,我做了
sudo update-pciids
,然后再次检查lspci
,并得到了:The status here is rev ff. Then, I did
sudo update-pciids
, and checklspci
again, and got:01:00.0 VGA compatible controller: NVIDIA Corporation GK208GLM [Quadro K610M] (rev a1)
现在,Nvidia GPU的状态正确为 rev a1 .但是现在,
tensorflow
尚不支持GPU.下一步是(我安装的Nvidia驱动程序是版本nvidia-352
):Now, the status of Nvidia GPU is correct as rev a1. But now, the
tensorflow
is not supporting GPU yet. The next steps are (the Nvidia driver I installed is versionnvidia-352
):sudo modprobe nvidia_352 sudo modprobe nvidia_352_uvm
以便将驱动程序添加到正确的模式.再次检查:
in order to add the driver into correct mode. Check again:
cliu@cliu-ubuntu:~$ lspci -vnn | grep -i VGA -A 12 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK208GLM [Quadro K610M] [10de:12b9] (rev a1) (prog-if 00 [VGA controller]) Subsystem: Hewlett-Packard Company Device [103c:1909] Flags: bus master, fast devsel, latency 0, IRQ 16 Memory at cb000000 (32-bit, non-prefetchable) [size=16M] Memory at 50000000 (64-bit, prefetchable) [size=256M] Memory at 60000000 (64-bit, prefetchable) [size=32M] I/O ports at 5000 [size=128] Expansion ROM at cc000000 [disabled] [size=512K] Capabilities: <access denied> Kernel driver in use: nvidia cliu@cliu-ubuntu:~$ lsmod | grep nvidia nvidia_uvm 77824 0 nvidia 8646656 1 nvidia_uvm drm 348160 7 i915,drm_kms_helper,nvidia
我们发现显示了
Kernel driver in use: nvidia
并且nvidia
处于正确模式.We can find that the
Kernel driver in use: nvidia
is shown andnvidia
is in correct mode.Now, use the example here for testing the GPU:
cliu@cliu-ubuntu:~$ python Python 2.7.9 (default, Apr 2 2015, 15:33:21) [GCC 4.9.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import tensorflow as tf >>> 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) >>> sess = tf.Session(config=tf.ConfigProto(log_device_placement=True)) I tensorflow/core/common_runtime/local_device.cc:25] Local device intra op parallelism threads: 8 I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:888] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero I tensorflow/core/common_runtime/gpu/gpu_init.cc:88] Found device 0 with properties: name: Quadro K610M major: 3 minor: 5 memoryClockRate (GHz) 0.954 pciBusID 0000:01:00.0 Total memory: 1023.81MiB Free memory: 1007.66MiB I tensorflow/core/common_runtime/gpu/gpu_init.cc:112] DMA: 0 I tensorflow/core/common_runtime/gpu/gpu_init.cc:122] 0: Y I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: Quadro K610M, pci bus id: 0000:01:00.0) I tensorflow/core/common_runtime/gpu/gpu_region_allocator.cc:47] Setting region size to 846897152 I tensorflow/core/common_runtime/local_session.cc:45] Local session inter op parallelism threads: 8 Device mapping: /job:localhost/replica:0/task:0/gpu:0 -> device: 0, name: Quadro K610M, pci bus id: 0000:01:00.0 I tensorflow/core/common_runtime/local_session.cc:107] Device mapping: /job:localhost/replica:0/task:0/gpu:0 -> device: 0, name: Quadro K610M, pci bus id: 0000:01:00.0 >>> print sess.run(c) b: /job:localhost/replica:0/task:0/gpu:0 I tensorflow/core/common_runtime/simple_placer.cc:289] b: /job:localhost/replica:0/task:0/gpu:0 a: /job:localhost/replica:0/task:0/gpu:0 I tensorflow/core/common_runtime/simple_placer.cc:289] a: /job:localhost/replica:0/task:0/gpu:0 MatMul: /job:localhost/replica:0/task:0/gpu:0 I tensorflow/core/common_runtime/simple_placer.cc:289] MatMul: /job:localhost/replica:0/task:0/gpu:0 [[ 22. 28.] [ 49. 64.]]
如您所见,GPU被利用.
As you can see, the GPU is utilized.
这篇关于TensorFlow的./configure在哪里,以及如何启用GPU支持?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!