最初发布于https://stackoverflow.com/questions/17527293/cuda-5-5-on-ubuntu-12-04-not-running-on-nvidia-gf-630m
我有一台配备 Nvidia GeForce 630M 显卡的笔记本电脑,运行的是 Ubuntu 12.04。
运行lspci | grep -i nvidia
我得到以下行
01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [GeForce GT 630M] (rev al)
并根据https://developer.nvidia.com/cuda-gpus我的显卡兼容。
编译示例并运行后deviceQuery
我得到以下输出:
CUDA Device Query (Runtime API) version (CUDART static linking)
cudaGetDeviceCount returned 10
-> invalid device ordinal
Result = FAIL
我在网上看到说这个错误是由于我的显卡不兼容。
如果我运行jockey-gtk
检查附加驱动程序,我会得到以下列表
nvidia_current (Enabled)
NVIDIA binary Xorg driver, kernel module and VDPAU library (Not Enabled)
Experimental NVIDIA binary Xorg driver, kernel module and VDPAU library (Not Enabled)
当我选择它时,nvidia_current
我在底部看到一个绿色按钮,This driver is activated but not currently in use
我下载了 CUDA 5.5 的 .deb 包,并按照网站上发布的说明进行操作
编辑
nvidia-smi -a
按照罗伯特在评论中提到的那样运行后,我得到以下输出
NVIDIA: could not open the device file /dev/nvidia0 (Input/output error)
Unable to determine the device handle for GPU 0000:01:00.0: Unknown Error
我怎样才能修复它?
答案1
我和你有同样的问题。这是我为使其正常工作所做的操作:
创建新的模块黑名单
# touch /etc/modprobe.d/nvidia-installer-disable-nouveau.conf
现在将 nouveau 列入黑名单
# echo -e "blacklist nouveau\noptions nouveau modeset=0" > /etc/modprobe.d/nvidia-installer-disable-nouveau.conf
重启你的电脑/笔记本电脑
如果问题仍然存在,请重新安装 NVIDIA 驱动程序,确保您已从以下网址下载最新的 NVIDIA 驱动程序这里。将其保存到任意位置,并使用此命令将其权限更改为可执行
# chmod +x NVIDIA-Linux*
如果你在构建新的 NVIDIA 模块时遇到问题,请使用此命令安装内核头文件
# apt-get update; apt-get install linux-headers-$(uname -r)
现在使用此命令重新安装 NVIDIA
# ./NVIDIA-Linux{your version}