(请先看置顶博文)本博打开方式!!!请详读!!!请详读!!!请详读!!!_Cat-CSDN博客
目录
(请先看置顶博文)本博打开方式!!!请详读!!!请详读!!!请详读!!!_Cat-CSDN博客
一、显卡和GPU的关系
二、CUDA是什么?
三、cuDNN是什么?
四、cuDNN的安装过程
1、下载cuDNN
2、安装cuDNN
3、检验CUDA是否被cuDNN影响
A、查看CUDA版本
B、运行CUDA的测试文件
一、显卡和GPU的关系
显卡又叫“显示卡”、“显示适配器”,是个人计算机(Personal Computer)的组成部分之一,启到控制显示器正确显示的作用,基本功能(原理)就是将模拟信号转换为电信号。市场主流的显卡大多都是NVIDIA(英伟达)和AMD(超微半导体)这两个公司设生产的,分别被简称为N卡和A卡(N&A就是取自各自公司英文首字母)。
显卡的结构为:电容、显存、显示芯片、风扇、各类接口等。其中显存全称为“显示存储器”,和计算机中的存储器相似,负责存储显示芯片需要处理的各种数据,其容量的大小,性能的高低,直接影响着电脑的显示效果;显示芯片就是深度学习中经常提到的GPU或者VPU(或被称作图形处理器),负责并行计算工作,工作时产生的热量由风扇负责排除;各类接口负责输入输出和桥接。
显卡分为三个种类:集成显卡、独立显卡、核芯显卡。集成显卡顾名思义就是集成,将显示芯片、显存等都集成在主板上,性能偏差。这就意味着散热低、功耗低。独立显卡就是独立出来,显示芯片、显存等都在一块电路板上(显卡),然后插在主板上,特点是功耗大、散热大,性能强,常作为游戏卡和专业卡。核芯显卡是将图形核心集成在处理核心上的显卡,构成一个完整的处理器。这里我们因为要进行深度学习,所以更多关注N卡。
众所周知,独立显卡中的GPU具有并行计算能力,所以常用来进行图像处理。经常听到的描述显卡性能好坏的名词“算力”是怎么一回事呢?先来看一下算力的单位TFLOPS,每秒钟可以完成几万亿次单精度运算。早期是以单精度(也即float)的运算能力峰值作为(宣传)指标,现在也见过以半精度浮点计算能力对各大主流GPU进行排行的,当然也有双精度的。除了算力以外,还有一个衡量显卡性能的指标,那就是带宽,从显存读取数据的速度,这个指标的大小与位宽、频率相关。
所以,显卡和GPU的关系是:GPU是显卡上的一块芯片,是其重要组成部分,而显卡是包含GPU的一块集成电路板,GPU不等于显卡。另外性能卓越的GPU的核数一般有很多,被称为众核,非常适合在众多核心中执行相同的指令流
二、CUDA是什么?
CUDA(Compute Unified Device Architecture)是英伟达公司开发的基于自家显卡的、基于新的并行编程模型和指令集架构的通用计算架构,让用户通过此架构充分利用N卡的GPU进行复杂高效的并行计算,如进行深度学习。
三、cuDNN是什么?
cuDNN是用于深度神经网络的GPU加速库,具有高性能、易使用、低内存等特点,可以以插入式的方式集成到更高级别的机器学习框架中,从而让技术人员专注于设计神经网络结构(模型),而不是费劲脑汁提高性能。那既然是插入式集成,cuDNN的安装步骤是什么呢?
四、cuDNN的安装过程
1、下载cuDNN
因为之前的博文“目标检测第3步”下载的CUDA版本是11.1,那么我们就要找到与CUDA11.1版本对应的cuDNN版本。地址为:cuDNN Archive | NVIDIA Developer
2、安装cuDNN
下载到的cuDNN文件是一个压缩包,解压缩之后会出现如下文件夹:
接下来需要将解压出来的这三个文件夹中的文件分别拷贝到CUDA对应的文件夹里,打开CUDA的安装目录:
到此为止,cuDNN已经成功的安装到了CUDA的内部。因为我们安装了cuDNN,所以有必要按照上一篇博文中提到的检验方法,再次对CUDA进行检验。
3、检验CUDA是否被cuDNN影响
A、查看CUDA版本
win+R,输入cmd。在里面输入“nvcc -V”或者“nvcc --version”,如果出现以下截图即可证明CUDA安装成功:
B、运行CUDA的测试文件
打开CUDA的安装目录,找到如下截图的两个文件:
以上两张截图末尾的Result均为pass状态,所以,我们刚才安装的cuDNN不会对原有的CUDA造成影响。
总结:显卡、GPU、CUDA、cuDNN的使用是一个需求逐渐提升的过程。小时候,喜欢玩大型网络游戏,原有的集成显卡无法满足游戏要求,那么就得要求有好的显卡,并且要有适配的显卡驱动。大了之后,学习了计算机视觉,需要使用GPU进行复杂的计算及推理,这样的情况下我们知道了GPU。随着学习的深入,原来GPU的简单操作无法满足我们对于深度学习中的网络性能时,CUDA出现在我们的面前。最后我们开始进行深度神经网络的学习了,CUDA对GPU的加持也无法满足我们的需求了,我们引入了注重性能的cuDNN。