nvidia-smi nvcc -V 及 CUDA、cuDNN 安装

news/2025/2/5 0:46:14/

nvidia-smi nvcc -V 及 CUDA、cuDNN 安装

  • 1. 问题缘由
  • 2. 分析
  • 3. CUDA Driver API 安装
    • 3.1 Software & Updates
    • 3.2 官网下载
  • 4. CUDA Runtime API 安装
  • 5. 安装 cuDNN
    • 5.1 cuDNN下载
  • 6. 一点点小注意事项

1. 问题缘由

之前查找 CUDA 版本时都是直接使用的 nvidia-smi 指令,可以看到当前的 CUDA 版本是 12.0。
在这里插入图片描述

这时在使用 PyTorch 的时候,默认安装的与该 CUDA 相同版本的 PyTorch。

但是后面在编译程序的时候,问题就出现了程序内会报 CUDA_TOOLKIT_ROOT_DIR not found or specified 的错误,有些摸不着头脑。

然后就发现使用 nvcc-V 命令查看的时候,是找不到 CUDA 的。
在这里插入图片描述

2. 分析

这是因为 CUDA 有两种 API:运行时的 API 和驱动 API,即所谓的 Runtime API 与 Driver API。nvidia-smi 的结果除了有 GPU 驱动版本型号,还有 CUDA Driver API 的型号,即上面的 12.0。

nvcc-V 的结果是对应 CUDA Runtime API。而这时的 CUDA Runtime API 还没有安装。

3. CUDA Driver API 安装

3.1 Software & Updates

如果想更新或安装 nvidia-smi 上的 CUDA 版本,最简单的方式是直接打开 Software & Updates,点击 Additional Drivers
在这里插入图片描述
选择一个驱动版本即可。

3.2 官网下载

在官网下载能看见更直观的 CUDA 版本:https://www.nvidia.cn/geforce/drivers/
在这里插入图片描述

选择对应的显卡款式安装即可。

4. CUDA Runtime API 安装

  1. 命令行键入 nvidia-smi 可以看到系统支持的最大CUDA版本,如果没有就不用管。因为上面截图过了这里就不放截图了。因为上面显示版本为 12.0,所以这里安装的 CUDA 最大版本应该是 12.0。
  2. 在英伟达官网找到想要安装的 CUDA 版本:https://developer.nvidia.com/cuda-11.1.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal

在这里插入图片描述
3. 依照上面流程,输入:

sudo sh cuda_11.1.0_455.23.05_linux.run

  1. 键入accept:
    在这里插入图片描述

  2. 注意,这个步骤如果前面安装了 Driver,即步骤1内显示了版本时,这里不要安装 Driver,否则这里的 CUDA 会安装失败;如果步骤1未安装,这里可以勾选。(这里我的.run软件不小心删了,拿的别人的,所以除了版本均一致)
    在这里插入图片描述

  3. 安装成功后,打开.bashrc 或 .zshrc,写入以下信息:

    export PATH=$PATH:/usr/local/cuda/bin
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
    export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
    
  4. 用 source 更新以下环境或重新打开一个终端,命令行输入 nvcc -V,显示下面内容就是成功了:
    在这里插入图片描述

5. 安装 cuDNN

5.1 cuDNN下载

  1. cuDNN 地址如下 https://developer.nvidia.com/rdp/cudnn-download,不过要注意的是,需要注册一个账号,才能进入下载界面,建议下载 tar 的:

在这里插入图片描述

  1. 详细的安装教程如下所示:https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html

  2. 解压 tar 后,使用以下指令将文件复制进 CUDA toolkit 目录:

    $ sudo cp cudnn--archive/include/cudnn.h /usr/local/cuda/include
    $ sudo cp -P cudnn--archive/lib/libcudnn /usr/local/cuda/lib64
    $ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

    这样就可以使用了。

6. 一点点小注意事项

在下载 PyTorch 时,这里的 Compute Platform 是运行的平台,这里是不包括 CUDA 安装的。
在这里插入图片描述


http://www.ppmy.cn/news/1081196.html

相关文章

vLLM 实战

引言 随着人工智能技术的飞速发展,以及今年以来 ChatGPT 的爆火,大语言模型 (Large Language Model, LLM) 受到越来越多的关注。 为了实现 LLM 部署时的推理优化,全球各地有众多团队做出了各种优化框架。本文以加州大学伯克利分校开发的 vLLM…

leetcode 第360场周赛

总结 好久没参加leetcode周赛了,比赛时间都从两小时变成了一个半小时。这次周赛由两道签到题和两道中等难度题组成,严格来说最后一道的难度也可以视为hard,但是只要想到正确的思路,编码还是比较容易的。 比赛链接:leetcode 第 3…

动漫推荐。

声明: 1.观看来源:腾讯,bilibili,爱奇艺,优酷(私信博主可获取其他观看途径)。 2.以下动漫热度、时间不分先后,并且都是博主观看完的动漫,黄色标注表示热度较高动漫&…

【Sql】把数据库字段用函数根据逗号分裂成列表,然后判断列表中是否包含目标值

【Sql】把数据库字段用函数根据逗号分裂成列表,然后判断列表中是否包含目标值 【1】问题描述【2】Oracle内置函数解决【3】mysql的内置函数INSTR()【4】mysql的内置函数FIND_IN_SET() 【1】问题描述 数据库中【库信息db】和【集群信息cluster】是一对多的关系&…

如何用VMware虚拟机连上Xshell

目录 前言废话1.1设置虚拟机设置1.2 设置虚拟网络编辑器方法一:方法二: 1.3 配置静态IP地址1.4 Xshell连接虚拟机2.1 解决可能出现的一些问题2.1.1 虚拟机Ping不通网络2.1.2 我可以Ping通百度了,但是宿主机和虚拟机互相Ping不通。2.1.3 更离谱…

VMware 安装 Centos7 超详细过程

CentOS系统,安装教程可参考以下: 哪些模型需要在Linux下运行,需提前预装Linux系统呢,评论区讨论吧 比如Noah-MP 5.0模型 1.软硬件准备 软件:推荐使用 VMware,我用的是 VMware 12 镜像:CentO…

滑动窗口实例5(水果成篮)

题目: 你正在探访一家农场,农场从左到右种植了一排果树。这些树用一个整数数组 fruits 表示,其中 fruits[i] 是第 i 棵树上的水果 种类 。 你想要尽可能多地收集水果。然而,农场的主人设定了一些严格的规矩,你必须按…

安卓设置混淆后,gson报错解决方法

一,设置开启混淆release {minifyEnabled truezipAlignEnabled trueshrinkResources trueproguardFiles getDefaultProguardFile(proguard-android-optimize.txt), proguard-rules.pro } 二,混淆的文件中,对gson相关类不进行混淆,否…