转载 一篇

背景

开发过程中需要用到GPU时,通常在安装配置GPU的环境过程中遇到问题;CUDA Toolkit和CUDNN版本的对应关系;CUDA和电脑显卡驱动的版本的对应关系;CUDA Toolkit、CUDNN、NCVV是什么呢?

举个例子

安装TensorFlow2.1过程中,想要使用到电脑的显卡来进行开发,但是发现默认需要CUDATOOLKIT=10.1,CUDNN=7.6,安装好后发现无法正常使用GPU来运行程序;发现CUDATOOLKIT和我们电脑显卡驱动的版本不支持。

备注:本文中介绍的内容是基于NVIDAI的显卡。

认识一下几个概念

GPU(显卡)

显卡是我们平时说的GPU,现在大多数的电脑使用NVIDIA公司生产的显卡;常见的型号有GTX950M,GTX1050TI,GTX1080等

CUDA Driver

这个是我们常说的显卡驱动,比如电脑显卡型号是GTX950M,显卡驱动的版本:445.87;

CUDA

是显卡厂商NVIDIA推出的运算平台。CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。CUDA英文全称是Compute Unified Device Architecture。

有人说CUDA是一门编程语言,像C,C++,python 一样,也有人说CUDA是API。
官方说:CUDA是一个并行计算平台和编程模型,能够使得使用GPU进行通用计算变得简单和优雅。

运行CUDA应用程序要求系统至少具有一个具有CUDA功能的GPU和与CUDA Toolkit兼容的驱动程序。

CUDA Toolkit

CUDA工具包的主要包含了CUDA-C和CUDA-C++编译器、一些科学库和实用程序库、CUDA和library API的代码示例、和一些CUDA开发工具。(通常在安装CUDA Toolkit的时候会默认安装CUDA Driver;但是我们经常只安装CUDA Driver,没有安装CUDA Toolkit,因为有时不一定用到CUDA Toolkit;比如我们的笔记本电脑,安装个CUDA Driver就可正常看视频、办公和玩游戏了)

详细内容可以到NVIDIA官方看看:CUDA 12.1 Release Notes

NVCC

其实就是CUDA的编译器,可以从CUDA Toolkit的/bin目录中获取,类似于gcc就是c语言的编译器。

CUDNN

是用于深度神经网络的GPU加速库;它强调性能、易用性和低内存开销。可以集成到高级别的机器学习框架中,如谷歌的Tensorflow、加州大学伯克利分校的流行caffe软件。

CUDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算;
CUDA这个平台一开始并没有安装CUDNN库,当开发者们需要用到深度学习GPU加速时才安装CUDNN库,工作速度相较CPU快很多

CUDA Driver和CUDA Toolkit的对应版本

每个版本的CUDA Toolkit 都对应一个最低版本的CUDA Driver,也就是说如果我们安装的CUDA Driver版本比官方推荐的还低,那么很可能会无法正常运行。
我们安装的CUDA Driver即显卡驱动版本,可以高于CUDA Toolkit 指定的版本,是能正常使用的。

比如:在安装TensorFlow2.1过程中,需要安装CUDATOOLKIT=10.1,
那么我们在windows中的显卡驱动版本应该大于等于418.96;在Linux中的显卡驱动版本应该大于等于418.39。
所以电脑中的GTX950显卡,安装了445.87版本的显卡驱动(445.87>=418.39),是能安装CUDATOOLKIT=10.1的。

CUDNN和CUDA Toolkit的对应版本

CUDNN和CUDA Toolkit两种之间的版本需要相互支持,下面图中是部分的对应关系:
从下图中我们可以知道,如果目前电脑中安装了CUDATOOLKIT=10.1,那么CUDNN的可选版本为7.6.4、7.6.3、7.6.2

比如:需要安装TensorFlow2.1(使用GPU),要求我们只能安装CUDATOOLKIT=10.1,那么我们就从7.6.4、7.6.3、7.6.2这三个版本中,选择一个最新的7.6.4版本来安装CUDNN。

从下图中我们可以知道,如果目前电脑中安装了CUDATOOLKIT=8.0,那么CUDNN的可选版本为7.1.4、7.1.3、7.0.5、6.0、5.1
比如,TensorFlow1.4(GPU版)中需要CUDNN=6.0;同时又符合CUDATOOLKIT=8.0的要求;于是就安装CUDNN=6.0啦。

具体对应版本建议大家到官网查下:cuDNN Archive | NVIDIA Developer

了解NVIDAI显卡驱动(包括:CUDA、CUDA Driver、CUDA Toolkit、CUDNN、NCVV)相关推荐

  1. 一篇文章清晰了解NVIDAI显卡驱动(包括:CUDA、CUDA Driver、CUDA Toolkit、CUDNN、NCVV)

    背景 开发过程中需要用到GPU时,通常在安装配置GPU的环境过程中遇到问题:比如:安装TensorFlow2.1过程中,想要使用到电脑的显卡来进行开发,但是发现默认需要CUDATOOLKIT=10.1 ...

  2. 3050显卡驱动安装+配置pytorch的cuda环境

    3050显卡驱动安装+配置pytorch的cuda环境 前言 一.下载3050驱动 二.下载CUDA 二.cuDNN下载 三.cuDNN配置 四.pytorch环境配置 ①.创建虚拟环境 前言 因为有 ...

  3. DL之IDE:深度学习环境安装之CUDA的简介(显卡GPU/驱动/CUDA间的关系)、安装(根据本地电脑的NVIDIA显卡驱动版本去正确匹配CUDA版本)之详细攻略

    DL之IDE:深度学习环境安装之CUDA的简介(显卡GPU/驱动/CUDA间的关系).安装(根据本地电脑的NVIDIA显卡驱动版本去正确匹配CUDA版本)之详细攻略 目录 CUDA的简介 1.显卡GP ...

  4. NVIDIA显卡驱动旧版本下载安装+CUDA下载+cudnn下载+解决CUDNN_STATUS_INTERNAL_ERROR+Failed to call ThenRnnForward

    重新装显卡驱动431版本+CUDA+cudnn,解决CUDNN_STATUS_INTERNAL_ERROR+Failed to call ThenRnnForward with model confi ...

  5. 完整的Ubuntu18.04深度学习GPU环境配置,英伟达显卡驱动安装、cuda9.0安装、cudnn的安装、anaconda安装

    文章目录 1.英伟达显卡驱动安装 2.cuda9.0安装 3.cudnn的安装 4.anaconda安装 5.安装TensorFlow和Keras 安装 参考:https://blog.csdn.ne ...

  6. 了解NVIDIA显卡驱动(包括CUDA、CUDA Driver、CUDA Toolkit、CUDNN、NCVV)

    背景 开发过程中需要用到GPU时,通常在安装配置GPU的环境过程中遇到问题:CUDA Toolkit和CUDNN版本的对应关系:CUDA和电脑显卡驱动的版本的对应关系:CUDA Toolkit.CUD ...

  7. ubuntu18.04安装显卡驱动,Anaconda,CUDA,pytorch全套流程

    记录一次成功的装显卡,以为过程很复杂,其实这边封装的还挺好,正常走流程就没啥问题.我这边也是看各个步骤的博客总结,可以称之为搬运工. 1. 显卡驱动安装 参考的是这篇博客:Ubuntu18.04安装显 ...

  8. Ubuntu深度学习环境部署——显卡驱动、CUDA、cuDNN、pytorch

    第一步:显卡驱动 装最新版驱动 查看显卡信息 nvidia-smi 第二步:CUDA 1.查看CUDA官方文档,安装与显卡驱动版本相符合的CUDA. https://docs.nvidia.com/c ...

  9. 银河麒麟/Ubuntu安装cuda和显卡驱动、cuDNN

    银河麒麟/Ubuntu安装cuda和显卡驱动 银河麒麟介绍 第一步:更换apt软件源(换过的忽略) 安装前的准备 确认安装环境 安装cuda以及显卡驱动 安装CUDNN 退出tty模式,完成安装 银河 ...

最新文章

  1. python读取txt中的一列称为,从python中的文本文件读取特定列
  2. pyhon制作word、excel、ppt转pdf转换器大作战
  3. java读取对象失败_jsp exception对象获取异常信息
  4. SAP Fiori Elements save按钮的实现细节
  5. 如何看云服务器性能,从存储速度看云服务器性能测试
  6. html a标签去掉下划线_如何用HTML基本元素制作表格
  7. dm_php库,dmandwp系统 PHP建站系统+wordpress建站和DM系统区块+安装教程
  8. BZOJ4448:[SCO2015]情报传递
  9. 设计素材psd分层模板|临摹搞定促销海报版式!
  10. 数组求最大公约数c语言,C语言辗转相除法求2个数的最小公约数
  11. 语言 蜗牛爬树问题_趣数课堂:小学奥数蜗牛爬井问题,再加一只乌龟,你算不出来了吧...
  12. 解读Unity中的CG编写Shader系列二
  13. 惠普战66一代拆机_或许这就是匠人吧 全新惠普战66二代的另类拆解
  14. python和Java实现斐波那契Fibonacci数列
  15. nfc卡模式与标准模式_NFC(1)NFC简介,3种模式
  16. OpenCL优化案例研究 (4)
  17. 小样本不符合正态_尿液样本HPV分型检测用于宫颈癌筛查的可能性
  18. Unity Metaverse(五)、Avatar数字人换装系统的实现方案
  19. 湖南工大计算机学院大一分班,不懈奋斗,书写无悔青春 --中国矿业大学计算机学院14-05班获评校级“优良学分班”称号...
  20. [h5棋牌项目]-05-重载配置导致的内存泄露

热门文章

  1. C语言I——作业07
  2. 网络 计算机 用户名 密码忘了,电脑上的宽带链接忘记用户名只记得密码怎么办?...
  3. 软件测试为网络安全护航
  4. CentOS 系统创建网卡bond0
  5. HTML5,input新增的属性
  6. C++ Enum转字符串
  7. vue美食杰项目之菜谱大全实现效果(一)
  8. vue-vue2.0源码分析
  9. 删除word 2016 三个减号加回车出现的横线
  10. QQ将开通注销功能:有些再见,是真的再也不见。