当前位置: 首页 > news >正文

Linux服务器安装cuda和cudnn实战教程

一、查看系统配置

1. 查看系统

使用以下命令可以查看 Linux 的系统架构

cat /etc/issue

会输出如下结果:

Debian GNU/Linux 10 \n \l

可以看到系统的版本为 Debian10

2. 查询显卡型号

命令行输入:

nvidia-smi

输出内容如下,可以查看显卡驱动(Driver Version)的版本号为 535.104.12,支持的 CUDA 版本为 12.2 以下

(base) root@7v0ut9u0b2vdl-0:/home# nvidia-smi
Fri Feb 14 09:47:08 2025       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.104.12             Driver Version: 535.104.12   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA A800 80GB PCIe          On  | 00000000:36:00.0 Off |                    0 |
| N/A   31C    P0              46W / 300W |      7MiB / 81920MiB |      0%      Default |
|                                         |                      |             Disabled |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |

二、CUDA 安装

1. 安装依赖包

首先需要安装 Linux 环境缺少的依赖包文件

sudo apt-get update
sudo apt-get install gcc g++
sudo apt install kmod
sudo apt install libxml2

2. 下载CUDA

访问 CUDA Toolkit Archive | NVIDIA Developer 官网,选择 CUDA12.2.0 版本,依次选择,Linux->x86_64->Debian->10->runfile (local)

安装CUDA的方法有好几种,例如deb法,在这里我们主要使用runfile方法来安装runtime CUDA

wget https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda_12.2.0_535.54.03_linux.run

执行上述命令完成下载,如果出现 443,多执行几次。

3. CUDA 安装

sudo sh cuda_12.2.0_535.54.03_linux.run

执行上述命令,键入accept,如果已经安装显卡驱动,则取消掉“Driver”这个选项(在Driver位置键入 enter取消),光标移至Install,按ENTER键完成安装。

[!error] Driver CUDA冲突
问题描述

# sudo cat /var/log/cuda-installer.log 
[INFO]: Driver not installed. 
[INFO]: Checking compiler version... 
[INFO]: gcc location: /usr/bin/gcc 
[INFO]: gcc version: gcc version 8.3.0 (Debian 8.3.0-6) 
[INFO]: Initializing menu 
[INFO]: nvidia-fs.setKOVersion(2.16.1) 
[INFO]: Setup complete 
[INFO]: Installing: Driver 
[INFO]: Installing: 535.54.03 
[INFO]: Executing NVIDIA-Linux-x86_64-535.54.03.run --ui=none --no-questions --accept-license --disable-nouveau --no-cc-version-check --install-libglvnd 2>&1 
[INFO]: Finished with code: 256 
[ERROR]: Install of driver component failed. Consult the driver log at /var/log/nvidia-installer.log for more details. 
[ERROR]: Install of 535.54.03 failed, quitting

解决方案
此时打开一个新的终端窗口,输入

nvidia-smi

如果会显示的话,说明你的电脑已经安装过了driver CUDA,需要在安装选择界面里面取消掉“Driver”这个选项,光标移至Install,按ENTER键完成安装。

到这里,你的电脑里就安装了两个CUDA:第一个 driver CUDA 就是当你输入指令nvidia-smi后显示的信息。第二个CUDA 就是我们通过runfile方法下载的runtime CUDA 12.2.0,此时下载成功的CUDA 11.0的位置在/usr/local/cuda-12.2目录下(注意:此时只是说你下载了CUDA 12.2,但是并不能说你的深度学习实验就可以用它来加速,因此需要配置环境变量,这也是最后一步)

4. 配置CUDA环境变量

终端输入

vim ~/.bashrc

键入 “i” 进入 INSERT模式,可以进行回车操作,复制以下变量,键入“ESC”退出INSERT模式。

#在安装成功后的显示中可以看到cuda的安装位置
export CUDA_HOME=/usr/local/cuda-12.2
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH

按 ESC 退出写入,最后键入:wq即可保存并退出。

终端输入以下命令,使环境变量生效

source ~/.bashrc

5. 验证安装

在终端输入:

nvcc -V

即可显示如下: (如果未显示cuda 12.2,则说明刚才的指令source ~/.bashrc没有立即生效,此时重启电脑,再输入nvcc -V ,若显示如下则成功!!!!)

(base) root@b8dut2v0rsevs-0:/home# nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Jun_13_19:16:58_PDT_2023
Cuda compilation tools, release 12.2, V12.2.91
Build cuda_12.2.r12.2/compiler.32965470_0

三、cuDNN 安装

1. cuDNN 下载

进入 cuDNN 9.7.1 Downloads | NVIDIA Developer 官网,依次选择 Linux->x86_64->Tarball->12->deb (network)

wget https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-9.7.1.26_cuda12-archive.tar.xz

2. cuDNN 安装

下载 cuDNN 的压缩包(通常是 .tgz.zip 文件),解压并将文件复制到 CUDA 安装目录中:

tar -xvf cudnn-linux-x86_64-9.7.1.26_cuda12-archive.tar.xz
sudo cp cudnn-linux-x86_64-9.7.1.26_cuda12-archive/include/cudnn*.h /usr/local/cuda-12.2/include
sudo cp cudnn-linux-x86_64-9.7.1.26_cuda12-archive/lib/libcudnn* /usr/local/cuda-12.2/lib64
sudo chmod a+r /usr/local/cuda-12.2/include/cudnn*.h /usr/local/cuda-12.2/lib64/libcudnn*

更新系统动态链接器的缓存,确保系统能够找到新的库文件:

sudo ldconfig /usr/local/cuda-12.2/lib64

[!warning] cuDNN 的多个文件(共享库)不是符号链接
问题描述

(base) root@9i80kippsrhue-0:/usr/local/cuda-12.2/lib64# sudo ldconfig /usr/local/cuda-12.2/lib64
ldconfig: /usr/local/cuda-12.2/lib64/libcudnn_ops.so.9 is not a symbolic link

ldconfig: /usr/local/cuda-12.2/lib64/libcudnn_heuristic.so.9 is not a symbolic link

ldconfig: /usr/local/cuda-12.2/lib64/libcudnn_graph.so.9 is not a symbolic link

ldconfig: /usr/local/cuda-12.2/lib64/libcudnn_engines_runtime_compiled.so.9 is not a symbolic link

ldconfig: /usr/local/cuda-12.2/lib64/libcudnn_engines_precompiled.so.9 is not a symbolic link

ldconfig: /usr/local/cuda-12.2/lib64/libcudnn_cnn.so.9 is not a symbolic link

ldconfig: /usr/local/cuda-12.2/lib64/libcudnn_adv.so.9 is not a symbolic link

ldconfig: /usr/local/cuda-12.2/lib64/libcudnn.so.9 is not a symbolic link

警告表明 cuDNN 的多个文件(共享库)不是符号链接。如果 cuDNN 安装未正确设置,或者在安装过程中未创建预期的符号链接,则可能会发生这种情况。

解决方案
手动为 cuDNN 库创建符号链接,确保它们指向文件的最新版本,因为安装的是 cuDNN 9.7.1 ,因此可以将未链接的库通过下述进行链接。

sudo ln -sf libcudnn_ops.so.9.7.1 libcudnn_ops.so.9 
sudo ln -sf libcudnn_heuristic.so.9.7.1 libcudnn_heuristic.so.9 
sudo ln -sf libcudnn_graph.so.9.7.1 libcudnn_graph.so.9 
sudo ln -sf libcudnn_engines_runtime_compiled.so.9.7.1 libcudnn_engines_runtime_compiled.so.9 
sudo ln -sf libcudnn_engines_precompiled.so.9.7.1 libcudnn_engines_precompiled.so.9 
sudo ln -sf libcudnn_cnn.so.9.7.1 libcudnn_cnn.so.9 
sudo ln -sf libcudnn_adv.so.9.7.1 libcudnn_adv.so.9 
sudo ln -sf libcudnn.so.9.7.1 libcudnn.so.9

再次更新系统动态链接器的缓存,发现不再警告

sudo ldconfig /usr/local/cuda-12.2/lib64

3. 验证安装

检查文件是否正确复制:

ls /usr/local/cuda/include/cudnn*.h
ls /usr/local/cuda/lib64/libcudnn*

运行以下命令检查 cuDNN 版本:

cat /usr/local/cuda-12.2/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

您应该看到类似以下的输出:

(base) root@d120lbmapqp7l-0:/home/deepseek# cat /usr/local/cuda-12.2/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
#define CUDNN_MAJOR 9
#define CUDNN_MINOR 7
#define CUDNN_PATCHLEVEL 1
--
#define CUDNN_VERSION (CUDNN_MAJOR * 10000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

/* cannot use constexpr here since this is a C-only file */

参考文章

cuda和cudnn的安装教程(全网最详细保姆级教程)_cudnn安装-CSDN博客
Ubuntu18.04安装CUDA11.0 Installation failed. See log at /var/log/cuda-installer.log for details. install of driver component failed.-CSDN博客
超详细介绍Ubuntu系统安装CUDA和cuDNN【一站式服务!!!】_ubuntu cuda-CSDN博客

相关文章:

  • (done) MIT6.S081 Interrupts Lecture 学习笔记
  • GPIO及其应用
  • 面试常见问题
  • C++格式讲解
  • 《Operating System Concepts》阅读笔记:p177-p178
  • 专业便捷PDF软件,即开即用
  • 提升系统效能:从流量控制到并发处理的全面解析
  • Linux:进程替换
  • 【漫话机器学习系列】111.指数之和的对数(Log-Sum-Exp)
  • linux--多进程开发(7) 信号、相关函数、信号集及其操作和捕获、SIGCHLD解决僵尸进程
  • Notepad++下载地址【亲测好用】
  • 2025年生成式人工智能应用工程师学习线路
  • 数据库基础(MySQL)
  • 快速上手 Spring Boot:基础使用详解
  • 什么是kube-proxy?
  • 【每日一题 | 2025】2.24 ~ 3.2
  • 题解 | 牛客周赛82 Java ABCDEF
  • Cargo, the Rust package manager, is not installed or is not on PATH.
  • 基于机器学习的图像分类综述
  • 【0005】Python变量详解
  • 微信扫码登录wordpress/优化关键词具体要怎么做
  • 建站公司网站建设/英文网站seo
  • 网站开发工程师/新闻最新消息10条
  • 武汉电脑网站制作公司/百度搜索广告怎么收费
  • 自己做网站生意怎么样/网站优化公司排名
  • 精简网站模板/上海优化公司排行榜