Fork me on GitHub

ubuntu22.0.4下CUDA12.1和cuDNN8.9.1的安装

CUDA
命令查找地址:https://developer.nvidia.com/cuda-downloads
Terminal(快捷键Ctrl+Alt+t)里输入一下命令:

wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda_12.1.0_530.30.02_linux.run

sudo sh cuda_12.1.0_530.30.02_linux.run

马上显示一个问题,Do you accept the above EULA?(accept/decline/quit):
输入:accept

然后会有一个CUDA Installer 的多项选择,如果装过了Driver则回车改选项去掉,默认选择CUDA Toolkit、CUDA Demo、CUDA Documentation。
接着,移动到Install安装。

接下来配置环境变量:
vim ~/.bashrc

export PATH=$PATH:/usr/local/cuda-12.1/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.1/lib64

Vim 中按Esc 再按:,输入wq               (wq的意思是write and quit) 

 

刷新文件

source ~/.bashrc

输入nvcc-V

验证安装

cuDNN
官网(https://developer.nvidia.com/cudnn-downloads)登陆注册,下载对应版本的deb文件。

sudo dpkg -i cudnn-local-repo-ubuntu2204-8.9.1.23_1.0-1_amd64.deb

 

报错:

The public cudnn-local-repo-ubuntu2204-8.9.1.23 GPG key does not appear to be installed. To install the key, run this command: sudo cp /var/cudnn-local-repo-ubuntu2204-8.9.1.23/cudnn-local-E7A7D88D-keyring.gpg /usr/share/keyrings/

按照提示,你需要安装 cuDNN 仓库的 GPG 密钥。运行以下命令来安装密钥:

sudo cp /var/cudnn-local-repo-ubuntu2204-8.9.1.23/cudnn-local-E7A7D88D-keyring.gpg /usr/share/keyrings/

然后,你可以更新包列表:

sudo apt update

安装完 GPG 密钥后,接下来需要安装 cuDNN 包。运行以下命令来安装 cuDNN:

sudo apt install libcudnn8 libcudnn8-dev

只安装 libcudnn8libcudnn8-dev: 通常,libcudnn8libcudnn8-dev 已经包含了大部分需要的功能,而 libcudnn8-doc 只是附带的文档包。你可以跳过 libcudnn8-doc 包,直接安装 libcudnn8libcudnn8-dev

 

如果一切顺利,安装完成后,cudnn_version.h 文件应该会出现在 /usr/include/ 目录下。你可以通过以下命令检查安装:

cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
 
但有的时候
cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
 
就是出不来结果,我们可以简单配一个环境,我这里是pytorch,用以测试
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import torch
 
def check_cuda():
    cuda_available = torch.cuda.is_available()
    print(f"CUDA 可用: {cuda_available}")
 
    if cuda_available:
        device_count = torch.cuda.device_count()
        print(f"CUDA 设备数量: {device_count}")
 
        for i in range(device_count):
            device_name = torch.cuda.get_device_name(i)
            print(f"设备 {i}: {device_name}")
 
        current_device = torch.cuda.current_device()
        print(f"当前使用的设备索引: {current_device}")
        print(f"当前使用的设备名称: {torch.cuda.get_device_name(current_device)}")
    else:
        print("CUDA 不可用,请检查以下几点:")
        print("1. 是否安装了NVIDIA GPU驱动。")
        print("2. 是否安装了与PyTorch版本匹配的CUDA Toolkit。")
        print("3. 是否正确配置了环境变量。")
 
        # 检查 cuDNN 是否可用
        cudnn_available = torch.backends.cudnn.is_available()
        cudnn_version = torch.backends.cudnn.version()
 
        print(f"\ncuDNN 可用: {cudnn_available}")
 
        if cudnn_available:
            print(f"cuDNN 版本: {cudnn_version}")
        else:
            print("cuDNN 不可用,请检查以下几点:")
            print("1. 是否正确安装了 cuDNN。")
            print("2. 是否安装了与 CUDA 版本兼容的 cuDNN 版本。")
 
    # 检查 cuDNN 是否可用
    cudnn_available = torch.backends.cudnn.is_available()
    cudnn_version = torch.backends.cudnn.version()
 
    print(f"\ncuDNN 可用: {cudnn_available}")
 
    if cudnn_available:
        print(f"cuDNN 版本: {cudnn_version}")
    else:
        print("cuDNN 不可用,请检查以下几点:")
        print("1. 是否正确安装了 cuDNN。")
        print("2. 是否安装了与 CUDA 版本兼容的 cuDNN 版本。")
 
 
if __name__ == "__main__":
    check_cuda()

  

 
 
posted @   z_s_s  阅读(569)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示