我今天早上更新了 nvidia 驱动程序,之前的版本是375.26
我机器上最后一个能运行的版本。
现在当我nvidia-smi
它只是无限期地挂起如果我运行tensorflow
代码,它会抛出
E tensorflow/stream_executor/cuda/cuda_driver.cc:509] failed call to cuInit: CUDA_ERROR_UNKNOWN
而如果我运行一个用它编译的愚蠢的 cuda 程序nvcc
就会这样。
当我 时dpkg -l | grep nvidia
,我有:
ii nvidia-375 375.51-0ubuntu1 amd64 NVIDIA binary driver - version 375.51
ii nvidia-375-dev 375.51-0ubuntu1 amd64 NVIDIA binary Xorg driver development files
ii nvidia-modprobe 375.51-0ubuntu1 amd64 Load the NVIDIA kernel driver and create device files
ii nvidia-opencl-icd-375 375.51-0ubuntu1 amd64 NVIDIA OpenCL ICD
ii nvidia-prime 0.8.2 amd64 Tools to enable NVIDIA's Prime
ii nvidia-settings 375.51-0ubuntu1 amd64 Tool for configuring the NVIDIA graphics driver
还有人遇到过这种情况吗?我发现这例如,但没有成功。
编辑
我在 Azure 实例上,这很重要,查看答案。
答案1
这修复了它。这是一个与 Ubuntu 16.04 内核 4.4.0-75 相关的问题,它来自微软对支持请求的答复,如下:
Canonical 似乎最近发布了适用于 Ubuntu 16.04 的内核 4.4.0-75,这对 NC 系列虚拟机上的 Tesla GPU 产生了不利影响。安装 4.4.0-75 会破坏目前建议在这些系统上使用的 NVIDIA CUDA 驱动程序 8.0.61-1 版本,导致 nvidia-smi 不显示适配器,并且 lspci 返回类似于以下内容的错误:
root@pd-nvtest2:~# lspci lspci: Cannot open /sys/bus/pci/devices/2baf:00:00.0/resource: No such file or directory
因此运行apt-get remove linux-image-4.4.0-75-generic
- 这也会安装一个新的内核版本 - 然后update-grub
。
然后重新启动它就可以工作了!