NVIDIA-SMI ha fallito perché non poteva comunicare con il driver NVIDIA. Assicurarsi che l’ultimo driver NVIDIA sia installato e in esecuzione

Ho appena installato CUDA in un notebook come questo:

sudo apt-get install cuda 

Come detto qui .

La compilation wokrs va bene ma quando provo a eseguire ho avuto il seguente problema: errore CUDA su file.cu:128 code = 35 (cudaErrorInsufficientDriver) “cudaStreamCreate (& (stream [i]))”

La mia versione di 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 

Informazioni sulla scheda grafica:

 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) 

Ho anche installato VirtualGL, bumblebeenvidia, primus, freeglut3-dev. Seguendo questo .

Quando provo a eseguire qualcosa su bumblebee ho capito: optirun glxspheres64

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

driver nvidia non funziona.

 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. 

Sembra che la versione nvidia 375 sia installata ma non riesco a farla funzionare.

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

E alcune informazioni del guidatore.

 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 

Penso che possa esserci qualche problema con la versione del driver:

 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 

Cosa mi manca?

Ho disabilitato Secure Boot e ha funzionato abbastanza bene.

@ rod-smith ha risposto a un’altra domanda più specifica spiegando come farlo, in pratica è una configurazione di configurazione, ma ha anche scritto un buon articolo su come farlo qui .

Se il tuo nvidia-smi non è riuscito a comunicare ma hai installato il driver così tante volte, prime-select .

  1. Esegui prime-select query per ottenere tutte le opzioni possibili, dovresti vedere almeno nvidia | intel nvidia | intel
  2. Scegli prime-select nvidia .
  3. Se si dice che nvidia is already selected , selezionarne uno diverso, ad esempio prime-select intel , quindi tornare a nvidia prime-select nvidia
  4. Riavvia e controlla nvidia-smi