将 nvidia 驱动程序从 384.90 升级到 384.111 后出现 CUDA/cuDNN 错误
Posted
技术标签:
【中文标题】将 nvidia 驱动程序从 384.90 升级到 384.111 后出现 CUDA/cuDNN 错误【英文标题】:CUDA/cuDNN error after upgrading nvidia drivers from 384.90 to 384.111 【发布时间】:2018-06-19 17:28:02 【问题描述】:今天早上,我使用标准更新程序(使用更新管理器)更新了 Mint 18.3 Sylvia(基于 Ubuntu xenial 16.04)上的 nvidia 驱动程序,运行 tensorflow 1.4.1 时出现此错误:
2018-01-10 13:48:39.161422: E tensorflow/stream_executor/cuda/cuda_dnn.cc:385] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2018-01-10 13:48:39.161456: E tensorflow/stream_executor/cuda/cuda_dnn.cc:352] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
2018-01-10 13:48:39.161466: F tensorflow/core/kernels/conv_ops.cc:667] Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(), &algorithms)
我正在使用 cuda 8.0 和 cudnn 7.0
为什么以及如何解决它?
【问题讨论】:
这是一个编程问题(“帮助,apt-get update
破坏了我的 linux!”)?
嗯,CUDA 和 tensorflow 通常用于编程,而不是阅读电子邮件。我在运行我正在处理的项目时遇到了这个异常,我认为在这里分享解决方案是个好主意。有几个关于 cuda/cudnn 安装问题的问题。
【参考方案1】:
调查了一段时间后,我注意到 /usr/lib/nvidia-384 文件夹中有两个断开的链接,仍然指向 384.90 文件。
所以我只是像这样更新了两个链接:
ln -sf libnvidia-ptxjitcompiler.so.384.111 libnvidia-ptxjitcompiler.so.1
ln -sf libnvidia-wfb.so.384.111 libnvidia-wfb.so.1
现在它可以完美运行了。
顺便说一句,我遇到的另一个类似问题是,当我从主要驱动程序版本升级到另一个版本时,例如从 372 升级到 384,忘记更新脚本中的 LD_LIBRARY_PATH。
【讨论】:
以上是关于将 nvidia 驱动程序从 384.90 升级到 384.111 后出现 CUDA/cuDNN 错误的主要内容,如果未能解决你的问题,请参考以下文章