为啥 Tensorflow 1.11.0 返回 CUDA_ERROR_NOT_SUPPORTED?

Posted

技术标签:

【中文标题】为啥 Tensorflow 1.11.0 返回 CUDA_ERROR_NOT_SUPPORTED?【英文标题】:Why does Tensorflow 1.11.0 return CUDA_ERROR_NOT_SUPPORTED?为什么 Tensorflow 1.11.0 返回 CUDA_ERROR_NOT_SUPPORTED? 【发布时间】:2019-04-18 00:58:20 【问题描述】:

我的机器是Ubuntu 18.04.1 LTS,已经成功安装了CUDA。 $nvcc --version 的输出是

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176

我有两个Tesla K80的GPU,命令nvidia-smi显示:

output of nvidia-smi

我还尝试使用NVIDIA_CUDA-9.0_Samples 中的./deviceQuery 进行测试,其输出如下:

CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 2 CUDA Capable device(s)`

...

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 10.0, CUDA Runtime Version = 9.0, NumDevs = 2
Result = PASS

但是,一旦我从 pip 安装了 Tensorflow GPU version 1.11.0,我就无法打开 Tensorflow 会话。

>>> import tensorflow as tf
>>> sess = tf.Session()

它输出:

2018-11-15 00:13:46.593039: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/quoctin.phan/tools/anaconda/envs/tensorflow_1.11/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1511, in __init__
    super(Session, self).__init__(target, graph, config=config)
  File "/home/quoctin.phan/tools/anaconda/envs/tensorflow_1.11/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 634, in __init__
    self._session = tf_session.TF_NewSessionRef(self._graph._c_graph, opts)
tensorflow.python.framework.errors_impl.InternalError: failed initializing StreamExecutor for CUDA device ordinal 0: Internal: failed call to cuDevicePrimaryCtxRetain: CUDA_ERROR_NOT_SUPPORTED: operation not supported

我尝试重新安装 Tensorflow 1.12.0,但没有任何变化。感谢您的帮助。

【问题讨论】:

【参考方案1】:

您认为您的问题可能与计算能力有关吗? here 中描述了该问题。

您可以在运行 deviceQuery.exe 时检查它们。 Here 是一个关于在 CUDA 包的 windows 发行版上哪里可以找到它的线程。

【讨论】:

我能够解决它。问题是 NVIDIA-SMI 版本和驱动程序版本 (here) 不匹配。谢谢!

以上是关于为啥 Tensorflow 1.11.0 返回 CUDA_ERROR_NOT_SUPPORTED?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 TensorFlow 返回 [[nan nan]] 而不是 CSV 文件中的概率?

为啥 conda 无法在 Windows 上正确安装 tensorflow gpu?

tensorboard文件为啥只能放在c盘

Tensorflow:为啥'pip uninstall tensorflow'找不到tensorflow

为啥 TensorFlow Lite 比桌面版 TensorFlow 慢?

为啥在windows下用不了tensorflow