ubuntu安装并切换多个版本的cuda

1.背景

租用的服务器,里面安装的cuda版本是cuda10.1,需要配套的tensorflow-gpu在1.13.1以上,我之前用的是cuda9.0,cudnn7.6.0,tensorflow-gpu=1.8
ubuntu安装并切换多个版本的cuda

不想再修改实验代码,所以就打算安装多版本的cuda

2.安装

先去cuda官网下载需要的cuda版本
https://developer.nvidia.com/cuda-toolkit-archive
ubuntu安装并切换多个版本的cuda
我下载的是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

ubuntu安装并切换多个版本的cuda

我们安装了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

ubuntu安装并切换多个版本的cuda

上一篇:Docker学习记录- Mac 操作系统上安装Docker


下一篇:delphi cxgrid 使用方法