我之前安装CUDA,会导致重启后卡在登入页面。查询了很多资料后,终于安装成功了。以下记录了我的安装过程。
0. 安装gcc和make
sudo apt-get install gcc
sudo apt-get install make
1. 禁用 Nouveau 驱动
Nouveau 是Linux 为 Nvidia 开发的开源驱动,会和手动安装的 Nvidia 驱动冲突,所以需要先禁用。
-
检查 Nouveau 是否在运行:
lsmod | grep nouveau
若无输出,说明已经禁用 -
若有输出,则要修改 /etc/modprobe.d/blacklist.conf 文件:
sudo gedit /etc/modprobe.d/blacklist.conf在文件末尾加入
blacklist nouveau
options nouveau modeset=0保存后执行
sudo update-initramfs -u
sudo reboot重启成功后再输入
lsmod | grep nouveau
若无输出,说明禁用成功
2. 安装Nvidia驱动
-
检测你的NVIDIA图形卡和推荐的驱动程序的模型:
ubuntu-drivers devices -
安装推荐的驱动后重启
sudo ubuntu-drivers autoinstall
sudo reboot -
重启成功后,执行
ls /dev/nvidia*
若出现/dev/nvidia0, /dev/nvidiactl 等文件夹。说明安装成功。
3. 安装CUDA Toolkit
-
首先查看你的 Nvidia 驱动的版本:
cat /proc/driver/nvidia/version根据自己的版本选择合适的 CUDA 版本
官方连接:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
我的是435所以我选择CUDA 10.1
-
下载 CUDA Toolkit
https://developer.nvidia.com/cuda-toolkit-archive -
得到.run拓展名的文件后, 执行
sudo sh <.run的文件名> --no-opengl-libs
(我的是 sudo sh cuda_10.1.243_418.87.00_linux.run --no-opengl-libs)注意若不加 --no-opengl-libs 会导致重启后循环登入的问题。因为NVIDIA显卡的OpenGL会库覆盖Intel显卡的库。
执行这条命令后会出现交互界面,输入 accept,然后选择需要安装的项目。注意取消勾选安装驱动(取消第一个X),因为我们已经安装过 Nvidia 驱动了。
4. 设置环境变量
-
执行
sudo gedit /etc/profile在最后两行加入
export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}(cuda-10.1是我安装的版本,你们需要看看自己/usr/local/下面的是什么)
-
重启,检查环境变量是否设置成功
执行 nvcc -V
若输出你的cuda的版本,说明成功
5. 编译 CUDA 提供的 Samples
-
编译Samples:
cd ~/NVIDIA_CUDA-10.1_Samples
make -j8 -
编译成功后,文件会存放在NVIDIA_CUDA-10.1_Samples/bin 里。设置路径:
cd ~/NVIDIA_CUDA-10.1_Samples/bin/x86_64/linux/release/运行可执行文件:
./deviceQuery
等等若运行成功,就大功告成了。