Acabei de instalar o CUDA em um notebook como este:
sudo apt-get install cuda
Como dito aqui .
A compilação funcionou perfeitamente, mas quando tento executar, obtive o seguinte problema: Erro CUDA no arquivo file.cu:128 code = 35 (cudaErrorInsufficientDriver) "cudaStreamCreate (& (stream [i]))"
Minha versão 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
Informações da placa gráfica:
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)
Também instalei o VirtualGL, bumblebee-nvidia, primus, freeglut3-dev. Depois disso .
Quando tento executar algo no zangão, recebi o seguinte: 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 não está funcionando.
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.
Parece que a versão nvidia 375 está instalada, mas não consigo fazer isso funcionar.
whereis nvidia
nvidia: /usr/lib/nvidia /usr/share/nvidia /usr/src/nvidia-375-375.66/nvidia
E algumas informações do motorista.
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
Eu acho que pode ser algum problema de versão do 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
o que estou perdendo?
$ reboot now
.Respostas:
Se você
nvidia-smi
não conseguiu se comunicar, mas você instalou o driver tantas vezes, verifiqueprime-select
.prime-select query
para obter todas as opções possíveis. Você deveria ver pelo menosnvidia | intel
.prime-select nvidia
.nvidia is already selected
, selecione outro, por exemploprime-select intel
, volte para nvidiaprime-select nvidia
nvidia-smi
.fonte
prime-select query
nem listei as informações, acho que tenho 2 problemas agora ...Você pode instalar o cuda toolkit. Usando o seguinte comando para instalá-lo.
Depois que a instalação estiver concluída, reinicie a máquina.
nvidia-smi
Deveria trabalhar.fonte
sudo apt-get purge nvidia-*
antes, a linha acima corrigia tudo o que o CUDA dizia respeito a mim, instalava o driver 430 com o CUDA 10.1Desativei o Secure Boot e funcionou muito bem.
@ rod-smith respondeu outra pergunta mais específica que explica como fazê-lo, basicamente é uma configuração, mas ele também escreveu um bom artigo sobre como fazer isso aqui .
fonte
como não posso comentar a resposta de @ Rodolfo acima (reputação insuficiente), estou adicionando uma nova resposta.
Na minha máquina, tive que configurar o Secure Boot de acordo com o meu sistema operacional. Eu tenho uma placa mãe ASUS executando o Ubuntu 18.04 e tentei instalar o NVIDIA CUDA 10.1 Update 2 com o driver NVIDIA incluído. Eu enfrentei o mesmo problema descrito acima. Como se viu, o Secure Boot foi definido no modo UEFI do Windows. Alterá-lo para outro sistema operacional corrigiu para mim.
fonte
Secure Boot
que foi reativado automaticamente durante uma atualização automática do Windows / BIOS !!! Agora a nvidia funciona bem.Para futuros leitores:
e estou seguindo esta essência para instalar
Cuda
eCuDNn
na minha VM.Eu tive que carregar manualmente a
CuDNn
peça. (Apenas colocando lá fora.)Agora, chegando ao erro:
Eu estava tendo esse problema, mas uma reinicialização completa da instância fez o trabalho. E com a reinicialização completa, quero dizer parar a instância e ligá-la novamente.
Espero que isso ajude alguém.
fonte