Ubuntu 16.04 docker 19.03 cuda 11.1 cudnn 8.0.4
进入官网https://developer.nvidia.com/cuda-downloads,选择对应的版本后,下面会出现一行链接,进入这个链接下载runfile,大约2.5G,得到文件cuda_11.1.0_455.23.05_linux.run
参考文章:https://blog.csdn.net/qq_39521554/article/details/82829886 终端中运行:$ lsmod | grep nouveau,如果有输出则代表nouveau正在加载。需要我们手动禁掉nouveau。
Ubuntu的nouveau禁用方法: 在/etc/modprobe.d中创建文件blacklist-nouveau.conf 输入命令:$ sudo vi /etc/modprobe.d/blacklist-nouveau.conf 利用vi编辑器编辑和保存文件) 在文件中输入一下内容: blacklist nouveau options nouveau modeset=0 b、执行: $ sudo update-initramfs –u c、再执行: $ lsmod | grep nouveau 若无内容输出,则禁用成功,若仍有内容输出,请检查操作,并重复上述操作。
参考文章:https://blog.csdn.net/zhiman_zhong/article/details/91491780
sudo sh cuda_***_linux.run先输入accept,看网上说安驱动会出现一些问题,为避免有坑,勾选除了Driver的项。运行完以后会出现WARNING,可以忽略。
这里参考了两篇文章的方法,保险起见两种方法都用了。
第一种方法是修改bashrc这个文件,在终端输入
sudo gedit ~/.bashrc然后会弹出来一个文档,在这个文档的末尾添加下面三句话,修改这个文档应该需要root权限,不然改了等于没改。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64 export PATH=$PATH:/usr/local/cuda-10.0/bin export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.0用su直接切换到root,再执行 source ~/.bashrc
第二种方法参考了文章:https://blog.csdn.net/lihe4151021/article/details/90237681
在终端打开文件,输入
sudo gedit /etc/profile在文件末尾添加下面两行
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}保存文件,并重启。因为source /etc/profile是临时生效,重启电脑才是永久生效。
输入nvcc -V,查看CUDA版本信息
nvcc -V就是需要注册一个账号:https://developer.nvidia.com/rdp/cudnn-archive
根据官网,和CUDA11.1配套的是CUDNN8.0.4 下载下来的是一个tar文件,那么首先需要解压这个文件,解压之后得到一个cuda文件夹,里面有lib64、include还有一个不知道什么用的文档
tar -xvf cudnn-***.tgz将解压缩的文件放入对应cuda项目下
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*一个是官网https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#install-linux给出的验证方法,cudnn里有一个预置的mnist测试程序,我们要做的就是跑一下这个程序:
· Copy the cuDNN sample to a writable path.
$ cp -r /usr/src/cudnn_samples_v7/ $HOME
· · Go to the writable path.
$ cd $HOME/cudnn_samples_v7/mnistCUDNN
· · Compile the mnistCUDNN sample.
$ make clean && make
· · Run the mnistCUDNN sample.
$ ./mnistCUDNN
· If cuDNN is properly installed and running on your Linux system, you will see a message similar to the following:
Test passed!
还有一种方法是查看cudnn版本信息:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2应该会出现安装的版本号,但是我在运行时并没有输出,不知道会不会有影响