通过运行文件安装安装 cuda 工具包和 cuda 示例后(单独安装的 nvidia 驱动程序 - NVIDIA 二进制驱动程序 - 来自 nvidia-340(开源)的 340.76 版本))
运行 ./deviceQuery 后我有这个:
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
cudaGetDeviceCount returned 30
-> unknown error
Result = FAIL
nvidia-smi 给了我这个:
+------------------------------------------------------+
| NVIDIA-SMI 340.76 Driver Version: 340.76 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 780 Ti Off | 0000:01:00.0 N/A | N/A |
| 37% 35C P8 N/A / N/A | 287MiB / 3071MiB | N/A Default |
+-------------------------------+----------------------+----------------------+
那么问题是哪个 nvidia 驱动程序可以满足 CUDA 设置?
据我所知,ubuntu 14.04.2 没有 xordg/edgers nvidia 驱动程序?
?
答案1
我nvidia-331
在 Ubuntu 14.04.2 上使用来自官方 Ubuntu 存储库包中的 Nvidia 驱动程序。
最近,驱动程序包中发生了一些变化,CUDA 停止工作,症状是第一次与 CUDA 相关的操作中出现错误 30(“未知错误”)。
经过一些调试后,我发现问题出在缺少 nvidia_uvm 内核模块。检查它是否已加载:
$ lsmod | grep nvidia
nvidia_uvm 34855 0
nvidia 10744943 84 nvidia_uvm
drm 303102 2 nvidia
如果没有加载,请检查您是否安装了适当的包,对于 331 版本,它是nvidia-331-uvm
:
sudo apt-get install nvidia-331-uvm
但这还不够:nvidia_uvm 不能以直接的方式加载(例如通过运行modprobe nvidia_uvm
),您需要以 root 身份运行程序(一次,然后将加载模块并且不再需要 root 权限),或者(推荐)安装nvidia-modprobe
包并重新启动:
sudo apt-get install nvidia-modprobe
答案2
经过大量阅读,我让 CUDA 6.5 在配备 NVIDIA GeForce GT525M 图形处理器和集成英特尔显卡的 Ubuntu 14.04 上运行。
按Ctrl++打开终端Alt。F1
sudo service lightdm stop
sudo killall Xorg
现在安装显卡驱动程序。我不得不使用 CUDA 运行文件附带的 nvidia 340.29 驱动程序。如果您有集成的英特尔显卡,则必须使用该--no-opengl-files
选项。
sudo ./NVIDIA-Linux-x86_64-340.29.run --no-opengl-files
在安装结束时,不要让 Nvidia 重新配置 Xorg 配置文件。
之后,加载 Nvidia 模块:
sudo modprobe nvidia
然后您可以安装 CUDA 工具包和示例:
sudo ./cuda-linux64-rel-6.5.14-18749181.run
sudo ./cuda-samples-linux-6.5.14-18745345.run
重新启动并从系统设置 -> 软件和更新中的“其他驱动程序”部分验证是否已选择“手动安装的驱动程序”。现在您可以构建和测试,deviceQuery
它应该可以正常工作而不会出现错误。
这Nvidia CUDA Linux 入门指南详细讨论了所有这些。