以cuda9.0为例:
安装
首先,下载对应版本的cuda的运行脚本,我下载的是cuda_9.0.176_384.91_linux.run
1) 运行脚本文件
sudo sh cuda_9.0.176_384.91_linux.run
一路确认,选择默认设置即可。但是,需要注意的是,当询问是否安装显卡驱动时,选择no
cuda默认是安装在/usr/local目录下的,可执行文件都存放在bin目录下,需要用到的库放在lib64下。
安装完成后,local目录下出现了名为cuda-9.0的文件夹。由于在安装过程中选择了创建软连接,即创建了cuda目录指向cuda-9.0,故接下来添加路径只需添加cuda的路径即可。这样做,在进行不同版本的cuda切换时会方便很多。
2)安装完成后,编辑bashrc文件:
sudo gedit ~/.bashrc
在文件末尾添加:
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=/usr/local/cuda/lib64
保存关闭文件后,运行
source ~/.bashrc
3)编辑profile文件:
sudo gedit ~/etc/profile
文件末尾添加:
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64
4)编辑cuda.conf文件:
sudo gedit /etc/ld.so.conf.d/cuda.conf
文件中添加
/usr/local/cuda/lib64
保存关闭文件后,执行
sudo ldconfig
安装cudnn
cuda9.0对应的cudnn版本为:cudnn7
1)首先下载cudnn的包
2)将libcudnn_static.a, libcudnn.so.7.0.3复制到 /usr/local/cuda/lib64文件夹下,并且创建软连接libcudnn.so.7指向llibcudnn.so.7.0.3,libcudnn.so指向libcudnn.so.7
sudo ln -s libcudnn.so.7.0.3 libcudnn.so.7
sudo ln -s libcudnn.so.7 libcudnn.so
3)将cudnn.h复制到/usr/local/cuda/include文件夹下
至此为止,我们已经完成了cuda9.0的安装。
卸载
网上很多教程说要运行
sudo apt-get remove cuda
等等一系列命令来卸载cuda,我在自己卸载的时候,发现找不到cuda路径。
其实,cuda的安装目录下,是有卸载脚本的,在/usr/local/cuda/bin目录下。
卸载分两步走:
1)运行卸载脚本
sudo ./uninstall_cuda_9.0.pl
2) 删除安装文件夹
sudo rm -rf cuda
sudo rm -r cuda-9.0
这样就彻底卸载了cuda,再次安装其他版本的时候也不会受到影响。嚯嚯哈哈,是不是超简单啦~.~
使用sudo apt-get remove直接卸载是有一定风险的,如果不能卸载干净,以后再安装的时候可能就会安装失败了。所以,如果担心卸载不彻底,还可以运行
sudo find / -name cuda9*
命令来找到带有cuda9的文件,逐个删除。
不同版本cuda切换
如果在安装时系统环境变量都采用的是软连接的路径,那么切换版本就很简单了。
以cuda8.0和cuda9.0为例,只需要两步就可以完成版本切换了:
1)删除cuda软连接
sudo rm -rf cuda
2)创建软连接指向cuda8.0(或者cuda9.0)
sudo ln -s cuda8.0 cuda
如果系统环境变量是采用了cuda8.0或者cuda9.0的路径,那么就需要再重新修改一下第一部分的三个文件,这里就不再赘述了。
设置完成后,运行
nvcc --version
就可以查看当前cuda版本了