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

我刚刚在这样的笔记本中安装了CUDA:

sudo apt-get install cuda 

就像这里说的那样

编译工作很好,但是当我尝试运行时,我遇到了以下问题:在file.cu:128 code = 35(cudaErrorInsufficientDriver)的CUDA错误“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 

我错过了什么?

我禁用了安全启动,它运行得很好。

@ rod-smith回答了另一个问题更具体的解释如何去做,基本上是一个设置配置,但他也写了一篇关于如何在这里做到这一点的好文章。

如果您的nvidia-smi无法通信但是您已安装驱动程序很多次,请检查prime-select

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