Rod*_*lfo 49 nvidia cuda nvidia-optimus bumblebee drivers
我刚刚在这样的笔记本中安装了 CUDA:
sudo apt-get install cuda
Run Code Online (Sandbox Code Playgroud)
就像这里说的。
编译工作很好,但是当我尝试运行时,我遇到了以下问题:file.cu:128 code=35(cudaErrorInsufficientDriver)“cudaStreamCreate(&(stream[i]))”的CUDA错误
我的 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
Run Code Online (Sandbox Code Playgroud)
显卡信息:
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)
Run Code Online (Sandbox Code Playgroud)
我还安装了 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.
Run Code Online (Sandbox Code Playgroud)
英伟达驱动不工作。
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.
Run Code Online (Sandbox Code Playgroud)
看起来 nvidia 375 版本已安装,但我无法使其正常工作。
whereis nvidia
nvidia: /usr/lib/nvidia /usr/share/nvidia /usr/src/nvidia-375-375.66/nvidia
Run Code Online (Sandbox Code Playgroud)
还有一些司机信息。
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
Run Code Online (Sandbox Code Playgroud)
我认为这可能是一些驱动程序版本问题:
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
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
小智 26
如果您nvidia-smi无法通信,但您已多次安装驱动程序,请检查prime-select。
prime-select query以获取所有可能的选项。你至少应该看到nvidia | intel.prime-select nvidia。nvidia is already selected,选择一个不同的,例如prime-select intel,然后切换回 nvidiaprime-select nvidianvidia-smi。小智 22
您可能想要安装 cuda 工具包。使用以下命令进行安装。
sudo apt install nvidia-cuda-toolkit
Run Code Online (Sandbox Code Playgroud)
安装完成后,重启机器。nvidia-smi应该管用。
w-s*_*sky 15
马库斯的解决方案引导我找到了更好的解决方案。所以它与安全启动有关,但没有必要停用。
要解决此问题,只需执行 3 个步骤:通过使用附加驱动程序工具选择 X.Org 停用 Nvidia 驱动程序,重新启动,然后激活 Nvidia 驱动程序,重新启动并在安全启动中注册密钥。
通常,当您使用附加驱动程序工具激活 Nvidia 驱动程序时,系统会要求您输入安全启动的(新)密码。重新启动后,PC 会跳转到安全启动设置,并要求您注册新的 MOK 密钥,必须使用相同的密码进行确认。之后,驱动程序将访问 Nvidia 卡并开始工作。
小智 10
由于我无法对上面@Rodolfo 的回答发表评论(没有足够的声誉),我正在添加一个新答案。
在我的机器上,我必须根据我的操作系统配置安全启动。我有一个运行 Ubuntu 18.04 的华硕主板,并尝试使用打包的 NVIDIA 驱动程序安装 NVIDIA CUDA 10.1 Update 2。我遇到了与上述相同的问题。事实证明,安全启动被设置为 Windows UEFI 模式。将其更改为其他操作系统为我修复了它。