linux服务器ubuntu16.04安装NVIDIA驱动,cuda和cuDNN
最近实验室刚买的服务器,安装NVIDIA驱动过程中遇得到坑。查看了不少的资料,记录下我的安装过程。(第一次写博客,写不好勿喷)
当然,在开始之前,我们得去官网下载我们的显卡驱动。
这里是我在官网找到p100显卡的驱动
NVIDIA官网下载驱动链接:(https://www.nvidia.cn/Download/index.aspx?lang=cn)
安装NVIDIA显卡驱动
我们首先需要禁用ubuntu自带的NVIDIA驱动nouveau
1、 禁用nouveau
打开终端输入命令行:
sudo gedit /etc/modprobe.d/blacklist.conf
在打开的文件底部加上这么两句
blacklist nouveau
options nouveau modeset=0
执行,再输入
sudo update-initramfs -u
执行完,重启电脑,查看nouveau被禁用
终端输入
lsmod | grep nouveau
如果没有返回,说明已经禁用,如下图
2.、 安装NVIDIA显卡驱动
打开终端卸载旧版本NVIDIA驱动,输入
sudo apt-get remove --purge nvidia*
cd进入你驱动文件所在文件夹位置给驱动run文件赋予权限:
sudo chmod a+x NVIDIA-Linux-x86_64-440.64.run
用自己的下载的驱动名称代替上面的
开始安装显卡驱动
sudo ./NVIDIA-Linux-x86_64-440.64.run -no-x-check -no-nouveau-check -no-opengl-files
这里一定需要禁用openl,否则重新开机就会出现循环登录的问题,很坑!!!被这个搞半天,心态崩裂。
剩下一路yes就ok了。
安装完成后,在终端输入nvidia-smi
来看一下,是否安装成功,如果没有请仔细查看我刚才说的,重复一下,注意细节,如果成功的话就是以下界面。
到这里驱动的安装就完成了。下面接着安装cuda
安装cuda
首先一样需要去官网下载电脑对应的版本,安装版本需要和当前驱动版本对应,这个视自己需要版本而定。
官网下载地址:(https://developer.nvidia.com/cuda-downloads?target_os=Linux)
下面开始安装cuda(还是有坑,需要注意)
1、再次检查是否禁用了nouveau
终端输入:
lsmod | grep nouveau
如果没有输出就是禁用了
2、开始安装:首先cd 到 runfile 文件保存的路径,进行安装,例如cd Downloads, Downloads是你保存cuda文件的地方
继而在终端输入
sudo sh cuda_10.1.168_418.67_linux.run --no-opengl-libs
用自己cuda版本名字替换上面的
这里如果没有–no-opengl-libs,那么重启后登录界面将再次开始循环登录(坑!!!)
后面会跳出选项,输入accept
进入下一步,出现一个这样的界面
第一行[x]按一下变成[],否则又重新开始安装驱动, 回到起点,所以第一行请选择取消,剩下都可以保留,然后通过install安装开始安装。
安装完成以后,在终端输入
ls /dev/nvidia*
重启后,再次输入以下命令,此时应该会出现
/dev/nvidia0 /dev/nvidiactl /dev/nvidia-uvm
说明安装成功。
3、设置环境变量,写入 /etc/profile 文件
终端输入:
sudo vim ~/.bashrc
在最后加入两行(64位系统为lib64,32位系统为lib)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/lib64
export PATH=$PATH:/usr/local/cuda-10.2/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.2
保存后面退出(如何保存?首先输入i,进入插入模式,将上面二行写在文件尾部,再输入:wq,即可保存退出)
重启 检查环境变量是否设置成功
验证驱动版本
cat /proc/driver/nvidia/version
验证CUDA Toolkit
nvcc -V
4、编译 cuda 提供的 samples
cd /home/xxx/NVIDIA_CUDA-10.1_Samples
make
此过程可能需要几分钟,看电脑好坏了。
等待一段时间,编译 成功后,二进制文件会存放在 NVIDIA_CUDA-10.1_Samples/bin 中,
执行下面的二进制文件,看是否成功
cd /home/lxxx/NVIDIA_CUDA-10.1_Samples/bin/x86_64/linux/release
再输入
./deviceQuery
如果result=pass表示成功
安装cuDNN
cuDNN安装 ,首先下载下图安装包
首先解压缩下的cudnn压缩包文件
tar -xzvf cudnn-10.1-linux-x64-v7.tgz
执行安装,其实就是拷贝头文件和库文件并给予权限
依次输入
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 /usr/local/cuda/lib64/libcudnn*
验证安装是否成功
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
如果显示以下界面,则成功
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 4
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
#endif /* CUDNN_VERSION_H */
这就是此次的安装的全过程,如果遇到不成功的地方,重复以上对应操作,注意细节,遇到问题(坑)需要查很多资料才能找到问题所在,需要耐心,大家一起努力,如果觉得有用就点个赞吧,谢谢。
这篇知乎文章给了我很大的帮助,在此表示十分感谢:
(https://zhuanlan.zhihu.com/p/124292857)