NVIDIA-SMI失败,因为它无法与NVIDIA驱动程序通信。确保已安装并运行最新的NVIDIA驱动程序


23

我只是将CUDA安装在这样的笔记本中:

sudo apt-get install cuda

就像这里说的。

编译工作正常,但是当我尝试运行时出现以下问题:file.cu:CUDA错误:128代码= 35(cudaErrorInsufficientDriver)“ cudaStreamCreate(&(stream [i]))”“

我的nvcc版本:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61

显卡信息:

lspci | egrep 'VGA|3D'
00:02.0 VGA compatible controller: Intel Corporation Skylake Integrated Graphics (rev 06)
02:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)

我还安装了VirtualGL,bumblebee-nvidia,primus,freeglut3-dev。继

当我尝试在大黄蜂上运行某些东西时,我得到了:optirun glxspheres64

[   41.413478] [ERROR]Cannot access secondary GPU - error: Could not load GPU driver
[   41.413520] [ERROR]Aborting because fallback start is disabled.

NVIDIA驱动程序不起作用。

nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

看起来已安装nvidia 375版本,但我无法使其正常运行。

whereis nvidia
nvidia: /usr/lib/nvidia /usr/share/nvidia /usr/src/nvidia-375-375.66/nvidia

和一些驱动程序信息。

modinfo nvidia_375
filename:       /lib/modules/4.8.0-54-generic/updates/dkms/nvidia_375.ko
alias:          char-major-195-*
version:        375.66
supported:      external
license:        NVIDIA
srcversion:     68751AFD79A210CEFFB8758
alias:          pci:v000010DEd00000E00sv*sd*bc04sc80i00*
alias:          pci:v000010DEd*sv*sd*bc03sc02i00*
alias:          pci:v000010DEd*sv*sd*bc03sc00i00*
depends:        
vermagic:       4.8.0-54-generic SMP mod_unload modversions 
parm:           NVreg_Mobile:int
parm:           NVreg_ResmanDebugLevel:int
parm:           NVreg_RmLogonRC:int
parm:           NVreg_ModifyDeviceFiles:int
parm:           NVreg_DeviceFileUID:int
parm:           NVreg_DeviceFileGID:int
parm:           NVreg_DeviceFileMode:int
parm:           NVreg_UpdateMemoryTypes:int
parm:           NVreg_InitializeSystemMemoryAllocations:int
parm:           NVreg_UsePageAttributeTable:int
parm:           NVreg_MapRegistersEarly:int
parm:           NVreg_RegisterForACPIEvents:int
parm:           NVreg_CheckPCIConfigSpace:int
parm:           NVreg_EnablePCIeGen3:int
parm:           NVreg_EnableMSI:int
parm:           NVreg_TCEBypassMode:int
parm:           NVreg_UseThreadedInterrupts:int
parm:           NVreg_MemoryPoolSize:int
parm:           NVreg_RegistryDwords:charp
parm:           NVreg_RmMsg:charp
parm:           NVreg_AssignGpus:charp

我认为这可能是一些驱动程序版本问题:

dpkg -l | grep nvidia
ii  bumblebee-nvidia                            3.2.1-10                                      amd64        NVIDIA Optimus support using the proprietary NVIDIA driver
ii  nvidia-375                                  375.66-0ubuntu0.16.04.1                       amd64        NVIDIA binary driver - version 375.66
ii  nvidia-375-dev                              375.66-0ubuntu0.16.04.1                       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.66-0ubuntu0.16.04.1                       amd64        NVIDIA OpenCL ICD
ii  nvidia-prime                                0.8.2                                         amd64        Tools to enable NVIDIA's Prime

我想念什么?


如何安装驱动程序?
查理·帕克

遇到相同的错误,所有答案均无效。工作原理很简单:$ reboot now
darthbhyrava

Answers:


14

如果nvidia-smi通信失败,但是已经安装了很多次驱动程序,请检查prime-select

  1. 运行prime-select query以获取所有可能的选项。您至少应该看到nvidia | intel
  2. 选择prime-select nvidia
  3. 如果显示nvidia is already selected,请选择另一个,例如prime-select intel,然后切换回nvidiaprime-select nvidia
  4. 重新启动并检查nvidia-smi

帮助过我。谢谢!
Yaroslav Schubert

嗯,prime-select query甚至没有列出英特尔,我想我现在有2个问题……
Inspi

11

您可能需要安装cuda工具包。使用以下命令进行安装。

sudo apt install nvidia-cuda-toolkit

安装完成后,重新启动计算机。nvidia-smi应该管用。


为我工作!
x0v

这对我
有用

6
它在这里不起作用
Bill Kotsias

2
如果您的cuda> = 10,请不要执行此操作。它将把您的cuda降级到9,这在ubuntu上当前可用,而没有CUDA PPA。
loretoparisi

在做sudo apt-get purge nvidia-*之前,然后上一行修复了与我相关的所有CUDA,并在CUDA 10.1中安装了430驱动程序
Dinari

6

我禁用了安全启动,它工作得很好。

@杆史密斯aswered 另一个问题更具体的解释如何做到这一点,基本上是一个安装配置,但他也写关于如何做到这一点的一个很好的文章在这里


2
它也帮助我使用了NVIDIA驱动程序390!我从没想过可能是因为安全启动
所致

禁用安全启动的UEFI模式已在此处完成。=)不幸的是,它似乎并不适合所有人。
雷南·威廉·普拉多

3

由于我无法评论上述@Rodolfo的答案(信誉不足),因此我添加了一个新答案。

在我的机器上,我必须根据操作系统配置安全启动。我有一个运行Ubuntu 18.04的ASUS主板,并尝试使用打包的NVIDIA驱动程序安装NVIDIA CUDA 10.1 Update 2。我遇到了与上述相同的问题。事实证明,安全启动已设置为Windows UEFI模式。将其更改为其他操作系统已为我修复。


1
谢谢,我不得不禁用Secure Boot在Windows / BIOS自动更新过程中自动重新启用的功能!!!现在,nvidia可以正常工作。
比尔·科西亚斯

您介意解释如何将安全启动更改为“ 其他操作系统”吗?
Inspi

1
@BillKotsias谢谢!:D
马立克

1

对于未来的读者:

我在虚拟机实例上(Google云平台)

而且我正在按照要旨在我的VM上安装Cuda和安装CuDNn

我必须手动上传CuDNn零件。(只要把它放在那里。)

现在,进入错误:

我遇到了这个问题,但是实例的完全重启完成了这项工作。通过完全重启,我的意思是停止实例并再次将其重新打开。

我希望这可以帮助别人。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.