了解NVIDAI显卡驱动(包含:CUDA、CUDA Driver、CUDA Toolkit、CUDNN、NCVV)

布景

  开发过程中需求用到GPU时,一般在装置装备GPU环境过程中遇到问题;CUDA Toolkit和CUDNN版其他对应联系;CUDA和电脑显卡驱动的版其他对应联系;CUDA Toolkit、CUDNN、NCVV是什么呢?

举个比方

装置TensorFlow2.1过程中,想要运用到电脑的显卡来进行开发,可是发现默许需求CUDATOOLKIT=10.1,CUDNN=7.6,装置好后发现无法正常运用GPU来运转程序;发现CUDATOOLKIT和咱们电脑显卡驱动的版别不支持。

补白:本文中介绍的内容是根据NVIDAI的显卡。
了解NVIDAI显卡驱动(包含:CUDA、CUDA Driver、CUDA Toolkit、CUDNN、NCVV)

认识一下几个概念

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官方看看:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#major-components

NVCC

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

CUDNN

 是用于深度神经网络的GPU加快库;它着重功能、易用性和低内存开支。能够集成到高档其他机器学习结构中,如谷歌的Tensorflow、加州大学伯克利分校的盛行caffe软件。

CUDNN是根据CUDA的深度学习GPU加快库,有了它才能在GPU上完结深度学习的核算;
CUDA这个渠道一开始并没有装置CUDNN库,当开发者们需求用到深度学习GPU加快时才装置CUDNN库,作业速度相较CPU快许多

怎么检查体系中的显卡驱动版别??

在Linux体系中常用 nvidia-smi 指令检查;
在Windows体系中一般挑选 “NVIDIA控制面板”或“NVIDIA GeForce Experience”检查;
了解NVIDAI显卡驱动(包含:CUDA、CUDA Driver、CUDA Toolkit、CUDNN、NCVV)
这是我的笔记本电脑,刚入大学时买的,装备相对于现在比较差了;显卡类型是GTX950M;是否猎奇为什么这么老的显卡能装这么新的显卡驱动,还能很好的作业运转。

CUDA Driver和CUDA Toolkit的对应版别

 每个版其他CUDA Toolkit 都对应一个最低版其他CUDA Driver,也便是说假如咱们装置的CUDA Driver版别比官方引荐的还低,那么很可能会无法正常运转。
咱们装置的CUDA Driver即显卡驱动版别,能够高于CUDA Toolkit 指定的版别,是能正常运用的。
了解NVIDAI显卡驱动(包含:CUDA、CUDA Driver、CUDA Toolkit、CUDNN、NCVV)
比方:在装置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
了解NVIDAI显卡驱动(包含:CUDA、CUDA Driver、CUDA Toolkit、CUDNN、NCVV)

比方:需求装置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啦。
了解NVIDAI显卡驱动(包含:CUDA、CUDA Driver、CUDA Toolkit、CUDNN、NCVV)
详细对应版别主张我们到官网查下:https://developer.nvidia.com/rdp/cudnn-archive

期望对你有协助。