Linux多版本CUDA安装及切换

Linux多版本CUDA安装及切换

Category
脱坑指南
Tags
Linux
CUDA
Ubuntu
Date
Last updated June 7, 2022

1. Linux安装cuda

1.1 下载CUDA

根据需要选择对应的CUDA Toolkit版本下载
notion image
选择自己对应的操作系统、结构、系统版本等之后,根据命令进行下载:
notion image
如果不知道对应信息可以通过第二点进行查看。推荐下载runfile,可以直接跳到第三点讲解如何安装。

1.2 确认系统版本

选择对应系统的下载教程:
notion image
按照官方文档的指引,确认自己的系统和GPU是否满足条件。

1.2.1 确认GPU

首先确认GPU是否支持CUDA,对照官方列表,通过以下命令查看自己的GPU:
 lspci | grep -i nvidia
notion image

1.2.2 确认Linux系统版本

通过以下命令查看自己的系统版本:
 uname -m && cat /etc/*release
notion image
主要注意以上两个信息,对比文档中给出的表格:
notion image

1.2.3 确认安装gcc

使用CUDA Toolkit进行开发需要gcc编译器,它通常是作为Linux安装的一部分安装的。可通过以下命令确认:
 gcc --version

1.2.4 确认系统有正确的内核头文件和正确的依赖包

文档给出不同Linux系统的安装命令,比如Ubuntu:
 sudo apt-get install linux-headers-$(uname -r)

1.3 Runfile安装

下载好runfile文件之后,根据之前给出的指令进行安装:
 sudo sh cuda_10.1.243_418.87.00_linux.run

1.4 修改环境变量

下一节讲解如何通过软连接进行不同版本cuda之间的切换,在环境变量中只用指向一个软连接的文件夹cuda即可,首先编辑环境变量:
 vim ~/.bashrc
在末尾添加:
 export PATH=$PATH:/usr/local/cuda-10.0/bin  export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
修改之后需要使环境变量生效:
 source ~/.bashrc

1.5 查看cuda安装状态

查看cuda-toolkit是否安装成功:
 nvcc -V
查看显卡驱动运行情况:
 nvidia-smi

2. Linux多版本cuda切换

当我们安装了多个版本的cuda时,可以将每个版本的cuda放在对应版本命名的文件夹cuda-x.x下,在建立一个CUDA的软连接,环境变量的路径直接指向CUDA的软连接,切换CUDA版本时只用删除当前的软连接,再指向需要版本的软连接即可。

2.1 建立软连接

cuda一般安装在 /usr/local/路径下,首先进入该文件夹并建立一个空的cuda文件夹:
 cd /usr/local  sudo mkdir cuda
然后建立软连接,以cuda-9.2为例:
 sudo ln -s cuda-9.2 cuda
查看cuda文件夹下的version.txt文档,里面记录了cuda的版本信息:
 cat cuda/version.txt
notion image
可以通过stat命令查看当前的cuda信息:
 stat cuda
notion image

2.2 切换软连接

查看我们的所有的cuda版本,默认保存在/usr/local路径下:
 cd /usr/local  ls
notion image
这里我安装有三个版本。可以更改symbolic link,使其指向其他版本的cuda,例如10.0:
 rm -rf cuda  ln -s cuda-10.0 cuda
再次查看cuda版本和软连接情况:
notion image
看到已经切换到10.0版本的cuda了。