本篇文章将详细介绍在Linux操作系统中配置CUDA和cuDNN的步骤。通过本教程,您将能够轻松完成CUDA和cuDNN的安装、环境变量配置以及与深度学习框架(如TensorFlow和PyTorch)兼容性测试,从而为您的深度学习项目提供强大的硬件支持。无论您是深度学习的初学者,还是有一定经验的开发者,本篇文章都将帮助您快速搭建起高效的GPU加速开发环境。
1 电脑支持的 CUDA 版本
进入cmd查看当前本机驱动程序支持的 CUDA 版本:
bash
nvidia-smi
如图所示:

我的电脑最高支持cuda11.4版本。
2 cuda和cudnn下载及安装
CUDA 和 cuDNN 都是由 NVIDIA 提供的用于加速计算的工具,但它们的作用和功能有所不同。CUDA 是 NVIDIA 提供的一种并行计算平台和编程模型,旨在利用 NVIDIA GPU 的计算能力进行加速。cuDNN 是基于 CUDA 构建的深度学习加速库,它专门用于加速深度神经网络的训练和推理。
深度学习任务,通常需要同时安装 CUDA 和 cuDNN,确保它们的版本匹配,并能在 GPU 上高效运行深度学习框架。
2.1 cuda下载及安装
cuda下载地址:cuda
2.1.1 选择cuda下载版本

如上图所示,这里根据步骤1你查出来的cuda支持版本决定你要下载的cuda的版本。
如果你想部署的项目对cuda版本有要求,尽量下载与你想要配置项目的cuda版本一致,如下图所示:

如果你想要部署的项目对cuda没有要求,则尽量下载一个高一点版本的cuda,一般cuda有向下兼容的特性。当然,如果内存足够,你可以多下载几个版本的cuda,只需要修改环境变量就可以实现一个电脑多个cuda版本的无缝切换。
2.1.2 选择cuda下载方式
如图所示,因为我电脑最高支持cuda11.4,我这里选择下载cuda11.4,根据你的电脑参数去选择cuda:

选择之后会自动蹦出你要下载的方式:

shell
wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux.run
sudo sh cuda_11.4.0_470.42.01_linux.run
2.1.3 cuda安装(默认安装位置)
使用命令sudo sh cuda_11.4.0_470.42.01_linux.run安装,会出现一下画面:

我这里已经安装了nvidia驱动,所以勾选掉了Driver,至于CUDA Sample、CUDA Demo Suite、CUDA Documentation与CUDA库没有关系,所以也勾选掉了:

如图所示,cuda会自动安装在/usr/local目录下:

2.1.4 cuda安装(指定安装位置)
使用命令sudo sh cuda_11.4.0_470.42.01_linux.run安装,会出现一下画面:
-
选Options回车

-
选Tookit_Options回车

-
选Change Toolkit Install Path回车

-
这里设置成你要安装的路径,然后点回车

然后按照一下步骤安装:



2.1.5 验证是否配置环境变量
shell
nvcc -V
如图所示,这样算是成功:

如果没自动写入环境变量需要手动写入:
shell
# 编辑 .bashrc 文件
sudo apt install vim
vim ~/.bashrc
# 在文件末尾添加以下内容
export PATH=/usr/local/cuda-11.4/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-11.4
# 保存退出(Ctrl+O → 回车 → Ctrl+X),生效配置
source ~/.bashrc
# 再次验证(新开终端也能执行 nvcc -V)
nvcc -V
注意:这里/usr/local/cuda-11.4修改成你安装的cuda库位置,切换cuda环境只需要修改bashrc文件对应的cuda环境即可。
2.2 cudnn下载及安装
2.2.1 cudnn下载
cudnn下载网址:cudnn
如图所示,进去后直接选择与你cuda匹配的cudnn版本,我这里是cuda11.4、Linux所以选这一个:

点击之后,会让输入你的在英伟达官网注册邮箱地址和密码,输入之后就会直接跳转下载。
2.2.2 cudnn安装
下载完成后上传到服务器,找到合适的路径解压缩安装包:

然后使用一下命令解压
shell
tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz
然后将相应文件复制到cuda的安装路径,并修改权限即可,其中cudnn-linux-x86_64-8.9.7.29_cuda11-archive为解压缩后的文件路径,/usr/local/cuda-11.4为cuda的安装路径,按照自己的实际情况替换即可:
shell
sudo cp cudnn-linux-x86_64-8.9.7.29_cuda11-archive/include/cudnn* /usr/local/cuda-11.4/include
sudo cp cudnn-linux-x86_64-8.9.7.29_cuda11-archive/lib/libcudnn* /usr/local/cuda-11.4/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn* /usr/local/cuda-11.4/lib64/libcudnn*
总结
本文完整梳理了Linux系统下CUDA与cuDNN的配置流程:先通过nvidia-smi确认显卡支持的CUDA最高版本,再按需选择匹配的CUDA版本下载安装,可灵活选择默认或自定义安装路径;安装后需通过配置环境变量确保nvcc命令可用;最后下载与CUDA匹配的cuDNN,将其头文件和库文件复制到CUDA目录即可完成部署。核心要点是保证CUDA与cuDNN版本匹配、环境变量配置正确,完成后即可为深度学习框架提供GPU加速支持,适配各类深度学习项目开发需求。