Linux安装CUDA库和开发套件的三种方法

467天前 · Linux 使用 · 939次阅读

CUDA是英伟达显卡适配的计算编程平台,在日常的应用和开发中经常使用,特别是在机器学习领域。
本文总结了三种在Linux系统下安装CUDA的方法。

前提

在安装CUDA软件之前,请先确保(1)你的机器用的是不是nvidia的显卡(如果是AMD的显卡,用不了CUDA);(2)显卡的驱动是否已经打上了 (可以通过 nvidia-smi 命令检查显卡状态和驱动版本号Driver Version)。

假如以上两个条件都满足了,下面我们可以开始安装合适的CUDA版本了。需要注意的是:CUDA的版本选择取决于驱动程序的版本(见下表)。也就是说太老版本的驱动运行不了太新的CUDA.

CUDA版本最低驱动版本GCC推荐版本Intel编译器推荐版本
CUDA 12.1.x>=530.30.0212.22021.7
CUDA 12.0.0>=525.85.0512.12021.6
CUDA 11.8.x>=520.61.05112021
CUDA 11.7.x>=515.48.07112021
CUDA 11.6.x>=510.47.03112021
CUDA 11.5.x>=495.29.05112021
CUDA 11.4.x>=470.82.0110.319.1
CUDA 11.3.x>=465.19.0110.319.1
CUDA 11.2.x>=460.32.0310.319.1
CUDA 11.1 (11.1.0)>=455.3210.319.1
CUDA 11.0 (11.0.3)>=450.51.0610.319.1
CUDA 10>= 440.3310.218.0
CUDA 9>= 396.374.8.517.0
CUDA 8>= 375.264.8.215, 16

安装CUDA

  1. 方法一:通过Linux发行版自带的软件包管理器

以Ubuntu为例,我们可以使用

sudo apt update  
sudo apt install nvidia-cuda-toolkit

来安装CUDA.这种方法比较简便,而且库函数和编译器可执行程序(如nvcc)的路径已经自动配置加载好了。我们可以使用nvcc -V来检查当前CUDA的版本。但是这种方法的缺点在于一般情况下不能选择特定的版本的CUDA版本(但也有例外,比如Pop OS是支持的)。

  1. 方法二:通过nvidia官网的可执行脚本安装

官网的最新版CUDA地址为 https://developer.nvidia.com/cuda-downloads.
老版本CUDA的下载地址为 https://developer.nvidia.com/cuda-toolkit-archive.
CUDA的版本选择按上面的表格来。

我们选择 Linux->合适的处理器架构->发行版名称和版本->runfile(local),下载得到一个.run 文件。这个文件包含了驱动程序和CUDA,我们只需要其中的CUDA.

将这个文件(这边以cuda_11.6.0_510.39.01_linux.run为例)放到普通用户的目录下之后,我们运行:

sh cuda_11.6.0_510.39.01_linux.run --toolkit --override --installpath=/home/USER/cuda/cuda11.6

其中 installpath 是cuda的目标安装目录,USER需要替换成你的用户名。

询问是否接受条款,输入accept

2023-08-12T02:21:34.png

在新页面中用空格键将 Driver 前的X去掉,CUDA Toolkit前的X必须保留,其他的看情况去掉。

2023-08-12T02:44:59.png

然后进入 Options -> Toolkit Options

2023-08-12T02:26:32.png

用空格键将下面这些选项的X去掉,然后 Done 两次 (防止它们被安装到根目录)

2023-08-12T02:27:50.png

回到最开始的页面,Install!

2023-08-12T02:29:39.png

安装完成之后,会显示

===========
= Summary =
===========

Driver:   Not Selected 
Toolkit:  Installed in /home/USER/cuda/cuda11.6/ 
...

并会告诉我们如何配置PATH和LD_LIBRARY_PATH变量。

假如我们需要使用这个CUDA的时候,可以依次运行下面三个命令

export CUDATK=/home/USER/cuda/cuda11.6
export PATH=/home/USER/cuda/cuda11.6/bin:${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/home/USER/cuda/cuda11.6/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

此时假如我们运行 nvcc -V

2023-08-12T02:48:53.png

显示cuda编译器的版本为11.6,说明已经安装成功了。

我们也可以将上面三个命令放入一个bash脚本,在需要用CUDA的时候source一下就可以加载了。

这种安装方法可以在用户目录安装不同版本的CUDA,非常灵活方便。

  1. 方法三:通过miniconda/conda安装CUDA

conda可以在用户目录下创建不同的python环境, 我们可以为不同CUDA版本创建不同的conda环境。
需要注意的是:在conda下面我们需要区分 cudacudatoolkit 这两个包。

cuda 是nvidia频道的包 https://anaconda.org/nvidia/cuda.
cudatoolkit 是 anaconda 频道的包 https://anaconda.org/anaconda/cudatoolkit.
后者cudatoolkit是不包含CUDA编译器的。可以将后者理解为前者的子集。

我们以CUDA 11.6为例,运行

conda create --name cuda-11.6
conda activate cuda-11.6
conda install -y -c "nvidia/label/cuda-11.6.2" cuda

其中版本号 11.6.2 可以在cuda的conda页面查到。
这样安装好之后,我们只需要加载适当的conda环境即可使用了。

总结

本文介绍了三种不同的安装CUDA的方法,其中第二和第三种可以在普通用户目录安装不同版本的CUDA,非常灵活方便。

👍 5

none

最后修改于467天前

评论

贴吧 狗头 原神 小黄脸
收起

贴吧

狗头

原神

小黄脸

目录

avatar

伊藤

43

文章数

6

评论数

8

分类