我刚刚在笔记本中安装了 CUDA,如下所示:
sudo apt-get install cuda
就像说的那样这里。
编译工作正常,但当我尝试运行时出现以下问题:
CUDA error at file.cu:128 code=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
。以下这。
当我尝试在 bumblebee 上运行某些东西时,我得到了这个: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
我错过了什么?
答案1
您可能需要安装 cuda 工具包。使用以下命令进行安装。
sudo apt install nvidia-cuda-toolkit
安装完成后,重新启动机器。nvidia-smi
应该可以工作。
答案2
如果您nvidia-smi
无法通信但您已安装驱动程序多次,请检查prime-select
。
- 运行
prime-select query
以获取所有可能的选项。您至少应该看到nvidia | intel
。 - 选择
prime-select nvidia
。 - 如果显示
nvidia is already selected
,请选择其他选项,例如prime-select intel
,然后切换回 nvidiaprime-select nvidia
- 重启并检查
nvidia-smi
。
答案3
答案4
由于我无法对上述@Rodolfo 的回答发表评论(声誉不够),因此我添加了一个新答案。
在我的计算机上我必须配置安全启动根据我的操作系统进行相应的配置。我有一块运行 Ubuntu 18.04 的华硕主板,并尝试使用打包的 NVIDIA 驱动程序安装 NVIDIA CUDA 10.1 Update 2。我遇到了与上述相同的问题。结果,安全启动已设置为 Windows UEFI 模式。将其更改为其他操作系统帮我修好了。