首先要注意的是cuda的不同版本对显卡得驱动是有要求的。不同版本的cuda都对应有一个最低的显卡驱动版本。驱动可以向下兼容cuda的各个版本,下面有个表可以参考。
所以说,只要你的驱动版本足够高,装cuda时就可以不用管驱动了。由于cuda的本地安装包里面是自带驱动的,此时安装cuda时就要注意别选择安装驱动。但是,
若你的显卡驱动比你要安装的cuda所要求的驱动版本要低,此时有两个选择,第一个是先安装一个高版本的驱动再安装cuda。第二个是驱动与cuda一起安装。我选择的
是第二种方法,具体过程可以参考博客https://blog.csdn.net/qlulibin/article/details/78714596 。
要注意的点是1. 在禁用nouveau驱动时会使用到vi编辑器编辑,在编辑时按下Insert键,可以见到窗口左下角有“Insert”字样,表示当前为插入编辑状态,这下就可以正常编辑了,
编辑完后按下Esc键便可以推出编辑模式,直接输入:wq就可以保存并退出。记住这":"再输入时要按下shift键的。
2.在安装过程中要注意的点是选择要不要更新你的驱动。如果你是要装多个版本的cuda,并且电脑现有驱动版本低的可以先选择安装高版本的cuda,因为其里面 带的驱动版本是
最高的那个,可安装这个高版本的cuda时选择安装一下驱动,剩下的低版本的cuda在安装时就不要选择更新驱动就好了。
在装好cuda后需要配置一下环境变量,在终端输入
$ sudo gedit /etc/profile
然后在打开的文件中末尾输入如下:
export PATH=/usr/local/cuda-x.x/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-x.x/lib64\
${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
注意把上面的cudax.x改为你对应的版本号。配置好环境变量后需要重启电脑。在终端使用 nvcc -V,若是能输出cuda的版本信息就是成功了。
在装所有的cuda有还需要装一下cudnn,去后面这个网址下载cuda对应的cudnn版本就好,下载前没帐号的需要注册帐号https://developer.nvidia.com/rdp/cudnn-download
下载完后先解压,在解压cuDNN的时候,如果用归档管理器打开解压报错:Could not create the hard link file:///home/%我的用户名%/cuDNN/cuda/lib64/-libcudnn_static.a ,此时在命令行中包所在的目录下运行即可解压。
tar zxvf cudnn-10.2-linux-x64-v8.0.2.39.tgz
注意改一下包的名字。解压过后在当前目录打开终端,使用如下命令,若是你安装有多个cuda,在安装不同版本的cudnn时,将上面代码中的cuda改为cuda-x.x就行。这样便完成了cudnn的安装。
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
到此为止算是完成了cuda的所有安装。之后强烈建议下载anaconda来管理环境。
分割线------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
我在某一天开机时突然遇到了循环登录的问题(分辨率变低了,登录后屏幕会黑一下之后又回到登录界面)。出现循环登录的情况可能是多种原因导致的,但是由于我这分辨率变低了,所以这是显卡驱动的原因。这里需要填一下上安装cuda自带驱动的一些坑。
CUDA安装包里的显卡驱动,尽管它确实在多数情况下能让CUDA正常运行起来,但是这一版本的显卡驱动在安装的时候不会注册dkms模块,这就导致一旦更新了linux内核,重启机器后显卡驱动再次和内核不兼容,图形界面桌面进不去,CUDA用不了,深度学习训练推理都罢工。而手动从nvidia官网下载的显卡驱动(standalone版本),是带有dkms注册支持功能的。在此倡议:Ubuntu系统下,请不要安装CUDA安装包里的显卡驱动,请到nvidia官网手动下载.run格式的显卡驱动,手动下载安装。
首先使用Ctrl+Alt+F1 进入 tty1 模式,下面需要做的事是就是卸载驱动,然后重新安装一个驱动(我不久前刚好是在nvidia官网下了一个高版本驱动的),参考https://www.jianshu.com/p/c8403b417641。
但当时使用他里面的驱动卸载命令没卸载掉驱动,我使用的 sudo /usr/bin/nvidia-uninstall 就可以了。其他的按照上面的那篇文章就行。