在ubuntu安装cuda10.1和cudnn。
我在安装cuda过程中遇到了好多问题,我电脑装的是双系统,几天前,我还把自己的ubuntu系统给搞坏了,不得不重装系统,害。。。
重装系统后,我又继续尝试多次,折腾了好几天终于成功的把cuda10.1和cudnn安装上了,哈哈哈!
我的成功安装步骤如下:
安装前准备
CUDA的主要用途是深度学习,和GPU有关,而目前主流的深度学习框架Tensorflow2最高支持CUDA 10.1,因此本文讲解在Ubuntu 20.04系统上安装CUDA 10.1的主要过程。
首先要查看你的NVIDIA显卡驱动是否支持cuda10.1版本。
在终端执行以下命令:
nvidia-smi
NVIDIA-SMI has failed because it couldn’t communicate with the NIVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
则需要装驱动:
ubuntu安装驱动的教程链接(亲测有效)
如果 CUDA Version: … 这里的版本号大于等于10.1(我的是10.2),就可以安装cuda10.1.
关键点:gcc降级
因为Ubuntu20.04自带的gcc版本为9.3,而cuda10.1不支持gcc-9,因此要手动安装gcc-7,命令如下:
sudo apt-get install gcc-7 g++-7
安装完gcc-7,系统中就存在两个版本的gcc,因此要设置默认的gcc,命令如下:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1
此命令可以通过update-alternatives设置gcc各版本的优先级,优先级最高的为系统默认版本,可以用下述命令显示其优先级:
sudo update-alternatives --display gcc
设置默认的g++也是如此:
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 1
显示g++优先级:
sudo update-alternatives --display g++
按照官网的安装步骤下载并安装CUDA 10.1
cuda下载的官网链接
你可以根据自己的需求,选择适合的版本。我的ubuntu系统是20.04的,我用的是cuda10.1的。cuda和ubuntu驱动兼容才行!!
我也给cuda_10.1.243_418.87.00_linux.run放到百度网盘里面了
链接: https://pan.baidu.com/s/1zlxtoITCKjDNklLgKqLuRA?pwd=643d 提取码: 643d
如果需要换驱动:
ubuntu安装驱动的教程链接(亲测有效)
CUDA Toolkit 10.1 update2 Archive
在这里插入图片描述如上图所示,推荐选择run文件安装,比较简洁。
10.1版本的
我推荐用axel多线程下载安装包,速度更快, 10表示线程数。
axel -n 10 https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run
安装命令:
sudo sh cuda_10.1.243_418.87.00_linux.run
11.6的版本的
axel -n 10 https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_510.47.03_linux.run
sudo sh cuda_11.6.2_510.47.03_linux.run
输入命令后,耐心等一段时间,几十秒左右,感觉有点慢,估计是因为服务器在国外。
当安装界面启动,选择continue。
然后输入accept,回车。
由于你的系统中已经有了NVIDIA显卡驱动,如果不想安装CUDA 10.1中附带的驱动,移动到Driver选项上,按空格键将该项取消。如下图。
在这里插入图片描述
移动到Install选项,回车,等待安装完成。
输入命令后,耐心等一段时间,下载需要不少时间。
安装完成后,会出现类似这样的提示(这是其他网友的安装报错提示,我自己的忘了复制了,他这个是cuda10.0的报错提示,和cuda10.1的差不多,就版本号不一样)
Installing the CUDA Toolkit in /usr/local/cuda-10.0 ...
Installing the CUDA Samples in /home/jason ...
Copying samples to /home/jason/NVIDIA_CUDA-10.0_Samples now...
Finished copying samples.
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-10.0
Samples: Installed in /home/jason
Please make sure that
- PATH includes /usr/local/cuda-10.0/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-10.0/lib64, or, add /usr/local/cuda-10.0/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-10.0/bin
Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-10.0/doc/pdf for detailed information on setting up CUDA.
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 384.00 is required for CUDA 10.0 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
sudo <CudaInstaller>.run -silent -driver
Logfile is /tmp/cuda_install_2813.log
接下来需要将cuda的目录设置到PATH
需要进入root用户模式。增加相关的环境变量。
(!!注意:不执行sudo su进入root用户模式也行,如果你在这里进入了root模式里面,退出到普通用户模式后,还是需要再重新执行一遍在roo模式下的命令,nvcc -V才能显示出cuda的版本号。)
sudo su
cd ~
sudo gedit .bashrc
在最后面添加或是修改为(cuda10.1版本)
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64:/usr/local/cuda/extras/CPUTI/lib64
export CUDA_HOME=/usr/local/cuda-10.1/bin
export PATH=$PATH:$LD_LIBRARY_PATH:$CUDA_HOME
执行命令使上面的修改生效。在root模式下。
source ~/.bashrc
退出root模式。
exit
输入命令检验cuda环境是否配置好了,大写的V。
nvcc -V
得到终端输出如下,可以看出刚安装上的cuda的版本是10.1。
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243
注:下面的这三行命令不执行也可以。nvcc -V 可以查看cuda的版本就证明cuda安装好了。
cd ~/NVIDIA_CUDA-10.1_Samples/1_Utilities/bandwidthTest
make
./bandwidthTest
OK,cuda10.1安装完成。
记:
跑深度学习安装上CUDA就可以正常使用GPU了!不一定需要安装cuDNN,具体看你的项目需求,我的是安装上CUDA就可以跑我的深度学习项目了,用不到cuDNN。
下载cuDNN
Download cuDNN
打开链接后,网站会要求你登陆,如果没有NVIDIA账号,注册后再登陆。
在这里插入图片描述
选择与CUDA 10.1对应的版本(7.6.5),点开后选择 cuDNN Library for Linux,点击下载。(最好选择 cuDNN Library for Linux 这个文件格式安装比较方便)
我也给cudnn-10.1-linux-x64-v7.6.5.32.tgz放到百度网盘里面了
链接: https://pan.baidu.com/s/1z8_aEFXWBJZsSKM39cm51g?pwd=hugj 提取码: hugj
下载好以后,接着用以下命令安装配置。
tar -zxvf cudnn-10.1-linux-x64-v7.6.5.32.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
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
很感谢以下链接的帮助:
https://blog.csdn.net/feng98ren/article/details/108895582
https://blog.csdn.net/jsjason1/article/details/88087414