1.背景
租用的服务器,里面安装的cuda版本是cuda10.1,需要配套的tensorflow-gpu在1.13.1以上,我之前用的是cuda9.0,cudnn7.6.0,tensorflow-gpu=1.8
不想再修改实验代码,所以就打算安装多版本的cuda
2.安装
先去cuda官网下载需要的cuda版本
https://developer.nvidia.com/cuda-toolkit-archive
我下载的是cuda_9.0.176_384.81_linux.run
cd cuda_9.0.176_384.81_linux.run
- 1
进入到cuda_9.0.176_384.81_linux.run文件所在的目录中(前面的cuda_9.0.176代表cuda的版本,后面的384.81代表的对应的NVIDIA驱动的版本)
先执行下面的命令安装相关依赖,
否则会出现Missing recommended library
错误
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
- 1
开始安装
sudo sh cuda_9.0.176_384.81_linux.run
- 1
#直接按q退出协议说明.
accept/decline/quit: accept #接受协议
Install NVIDIA Accelerated Graphics Driver...?
y)es/(n)o/(q)uit: n #已经安装显卡驱动,选择n
Install the CUDA 9.0 Toolkit?
(y)es/(n)o/(q)uit: y #是否安装工具包,选择y
Enter Toolkit Location
[ default is /usr/local/cuda-9.0 ]: #工具包安装地址,默认回车即可
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y #添加链接注意这个连接,如果你不想使用之前安装过的另一个版本的cuda
#要使用新版本的,就选择y,否则这里就建议选n,因为指定该链接后会将cuda指向这个新的版本
Install the CUDA 9.0 Samples?
(y)es/(n)o/(q)uit: y #安装样例
Enter CUDA Samples Location
[ default is /root ]: #样例安装地址默认即可
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
配置cuda的环境变量,修改vim ~/.bashrc
文件,在末尾添加
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
- 1
- 2
- 3
使用
source ~/.bashrc
- 1
使得配置生效
3.多个版本切换
可以在/usr/local/目录下查看自己安装的cuda版本
cd /usr/local/
ls
- 1
- 2
我们安装了cuda10.1,cuda9.0,而cuda是一个软链接,它指向我们指定的cuda版本
在设置环境变量时,使用的是cuda,而不是cuda-10.1和cuda-9.0,主要是方便我们切换cuda版本,不用每次都去设置环境变量的值
stat cuda
- 1
查看cuda,发现文件类型是symbolic link,而指向的目录正是/usr/local/cuda-9.0,当我们想使用cuda-10.1版本时,只需要删除该软链接,然后重新建立指向cuda-10.1版本的软链接即可
sudo rm -rf cuda
sudo ln -s /usr/local/cuda-10.1 /usr/local/cuda