在ubuntu服务器下安装cuda和cudnn(笔记)

目录

[0 引言](#0 引言)

[1 相关环境查询](#1 相关环境查询)

[2 安装cuda](#2 安装cuda)

[2.1 下载并安装](#2.1 下载并安装)

[2.2 安装选项配置](#2.2 安装选项配置)

[2.3 验证安装](#2.3 验证安装)

[3 安装cudnn](#3 安装cudnn)

[3.1 下载](#3.1 下载)

[3.2 解压](#3.2 解压)

[3.3 删除旧版本 cuDNN](#3.3 删除旧版本 cuDNN)

[3.4 复制新文件到 CUDA 目录](#3.4 复制新文件到 CUDA 目录)

[3.5 设置文件权限](#3.5 设置文件权限)

[3.6 创建软链接](#3.6 创建软链接)

[3.7 验证安装](#3.7 验证安装)


0 引言

我在使用服务器的cuda11.8的时候发现cuda不全,但是又没权限去直接修改cuda11.8文件夹,所以在安装完到cuda11.8_full文件夹后,再移植到服务器管理员文件夹下,通过映射修改cuda11.8。

1 相关环境查询

复制代码
(base) ubuntu@xuwei-24506:~/workdir/qita/OSTeC2$ uname -m
x86_64
(base) ubuntu@xuwei-24506:~/workdir/qita/OSTeC2$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:        22.04
Codename:       jammy

2 安装cuda

cuda网址:CUDA Toolkit Archive | NVIDIA Developer

2.1 下载并安装

根据自己的需求选择安装的cuda版本

以下是我选的cuda11.8版本,直接服务器终端运行下载并运行安装

复制代码
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo bash cuda_11.8.0_520.61.05_linux.run

输入accept

2.2 安装选项配置

除工具包外其他的都不要,再选择Options(选项)

选择Toolkit Options(工具包选项)

因为/usr/local/cuda-11.8/里本来就是有的,所以新建的cuda11.8要换个新的文件夹,这里我建了个/usr/local/cuda-11.8_full/

注意:安装前确认你要安装的文件夹是不存在的,可以用ls /usr/local/去确认

后面选择done回去,再install安装

2.3 验证安装

运行代码:

复制代码
/usr/local/cuda-11.8_full/bin/nvcc --version

结果类似于:

复制代码
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0

3 安装cudnn

网址:cuDNN Archive | NVIDIA Developer

3.1 下载

我选的是Linux x86_64 (Tar)手动安装。而Deb的是自动安装,因为不太熟悉,所以没用Deb的。

3.2 解压

下载完后,传到服务器当前文件下,在终端中使用 tar 命令解压 tar.xz 文件:

复制代码
tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz
cd cudnn-linux-x86_64-8.9.7.29_cuda11-archive

3.3 删除旧版本 cuDNN

如果你系统中已经安装了旧版本的 cuDNN,建议删除旧版本文件,避免版本冲突:

复制代码
sudo rm -f /usr/local/cuda-11.8_full/include/cudnn*.h 
sudo rm -f /usr/local/cuda-11.8_full/lib64/libcudnn*

3.4 复制新文件到 CUDA 目录

将新解压的 cuDNN 文件复制到指定的 /usr/local/cuda-11.8_full 目录下:

复制代码
sudo cp include/cudnn*.h /usr/local/cuda-11.8_full/include/ 
sudo cp lib/libcudnn* /usr/local/cuda-11.8_full/lib64/

3.5 设置文件权限

确保正确的权限,确保所有用户可以读取 cuDNN 的头文件和库文件:

复制代码
sudo chmod a+r /usr/local/cuda-11.8_full/include/cudnn*.h /usr/local/cuda-11.8_full/lib64/libcudnn*

3.6 创建软链接

有时你可能需要手动创建符号链接,以确保库版本的一致性。进入 /usr/local/cuda-11.8_full/lib64 目录并创建软链接:

复制代码
cd /usr/local/cuda-11.8_full/lib64 
sudo ln -sf libcudnn.so.8.9.7 libcudnn.so.8 
sudo ln -sf libcudnn.so.8 libcudnn.so

3.7 验证安装

你可以通过查看 cudnn_version.h 文件来验证安装的版本:

复制代码
cat /usr/local/cuda-11.8_full/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

结果类似于:

复制代码
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 9
#define CUDNN_PATCHLEVEL 7
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

/* cannot use constexpr here since this is a C-only file */
相关推荐
乌萨奇也要立志学C++8 分钟前
【Linux】Socket编程UDP Echo 服务器→翻译服务器→多人聊天室
linux·服务器·udp
代码中介商20 分钟前
Linux多线程编程进阶:fork与锁的交互及网络编程入门
linux·运维·服务器
我不是立达刘宁宇28 分钟前
权限提升-前置基础-linux
linux·运维·服务器
IOT.FIVE.NO.130 分钟前
claude code desktop cowork报错解决和记录Workspace..The isolated Linux environment ...
linux·服务器·数据库
TOWE technology33 分钟前
EN32/G2401FCI——32A大功率,24位国标输出的高密度配电方案
linux·服务器·网络·科技·数据中心·pdu·智能pdu
青梅橘子皮9 小时前
Linux---基本指令
linux·运维·服务器
REDcker10 小时前
Linux信号机制详解 POSIX语义与内核要点 sigaction与备用栈实践
linux·运维·php
cui_ruicheng11 小时前
Linux进程间通信(三):System V IPC与共享内存
linux·运维·服务器
蚰蜒螟11 小时前
深入 Linux 内核同步机制:从 futex 到 spinlock 的完整旅程
linux·windows·microsoft
运维全栈笔记11 小时前
Linux安装配置Tomcat保姆级教程:从部署到性能调优
linux·服务器·中间件·tomcat·apache·web