主页 > IT业界  > 

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

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 developer.download.nvidia /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 developer.download.nvidia /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博客

标签:

Linux服务器安装cuda和cudnn实战教程由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Linux服务器安装cuda和cudnn实战教程