【机器学习】显卡、GPU、NVIDIA、CUDA、cuDNN

导读:本篇文章讲解 【机器学习】显卡、GPU、NVIDIA、CUDA、cuDNN,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com


一、显卡和GPU

1. 显卡是什么?

显卡是显示卡的简称,显卡是由GPU、显存等等组成的。

显卡(Video card,Graphics card)全称显示接口卡,又称显示适配器,是计算机最基本配置、最重要的配件之一。

就像电脑联网需要网卡,主机里的数据要显示在屏幕上就需要显卡。因此,显卡是电脑进行数模信号转换的设备,承担输出显示图形的任务。具体来说, 显卡接在电脑主板上,它将电脑的数字信号转换成模拟信号让显示器显示出来。

原始的显卡一般都是集成在主板上,只完成最基本的信号输出工作,并不用来处理数据。随着显卡的迅速发展,就出现了GPU的概念。

显卡分为独立显卡和集成显卡。

所谓集成,是指显卡集成在主板上,不能随意更换。而独立显卡是作为一个独立的器件插在主板的AGP接口上的,可以随时更换升级。另外,集成显卡使用物理内存,而独立显卡有自己的显存。
一般而言,同期推出的独立显卡的性能和速度要比集成显卡好、快。
值得一提的是,集成显卡和独立显卡都是有GPU的。

2. GPU是什么?

(1)GPU和显卡的关系

GPU(Graphic Processing Unit,图形处理单元)是图形处理器,一般GPU就是焊接在显卡上的。GPU是显卡上的一块芯片,就像CPU是主板上的一块芯片。

实际上,大部分情况下,我们所说GPU就等同于指显卡,但是实际情况是GPU是显示卡的“心脏”,是显卡的一个核心零部件,核心组成部分。
GPU本身并不能单独工作,只有配合上附属电路和接口,才能工作。这时候,它就变成了显卡。

(2)GPU的由来与发展

GPU这个概念是由 NVIDIA 公司于1999年提出的。那么1999年之前显卡上就没有GPU吗?当然有,只不过那时候没有人给它命名,也没有引起人们足够的重视,发展比较慢。

自Nvidia提出GPU这个概念后,GPU就进入了快速发展时期。简单来说,其经过了以下几个阶段的发展:

  1. 仅用于图形渲染,此功能是GPU的初衷,这一点从它的名字就可以看出:Graphic Processing Unit,图形处理单元。
  2. 后来人们发现,GPU这么一个强大的器件只用于图形处理太浪费了,它应该用来做更多的工作,例如浮点运算。怎么做呢?直接把浮点运算交给GPU是做不到的,因为它只能用于图形处理(那个时候)。最容易想到的,是把浮点运算做一些处理,包装成图形渲染任务,然后交给GPU来做。这就是 GPGPU(General Purpose GPU)的概念。不过这样做有一个缺点,就是你必须有一定的图形学知识,否则你不知道如何包装。
  3. 于是,为了让不懂图形学知识的人也能体验到GPU运算的强大,NVIDIA公司又提出了CUDA的概念。

CUDA(Compute Unified Device Architecture),通用并行计算架构,是一种运算平台。它包含 CUDA 指令集架构以及 GPU 内部的并行计算引擎。你只要使用一种类似于C语言的 CUDA C 语言,就可以开发CUDA程序,从而可以更加方便的利用GPU强大的计算能力,而不是像以前那样先将计算任务包装成图形渲染任务,再交由GPU处理。
注意,并不是所有GPU都支持CUDA。(接下来详细介绍CUDA)


二、CUDA

1. CUDA是什么?

CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。

2. 为什么推出CUDA?

随着显卡的发展,GPU越来越强大,而且GPU为显示图像做了优化。在计算上已经超越了通用的CPU。如此强大的芯片如果只是作为显卡就太浪费了,因此NVIDIA推出CUDA,让显卡可以用于图像计算以外的目的。

CUDA的优势?简单来讲,比如通过CUDA架构,视频播放软件可以充分挖掘NVIDIA系列显卡的GPU并行计算能力,轻松进行高清影片的播放,与软件高清解码相比,CPU占用可以下降一半以上。当然,CUDA的应用领域绝不仅仅是视频、图形、游戏,包括各种3D和建模,医疗、能源、科学研究等,到处都可见到这种技术架构的应用。

支持CUDA的硬件环境需要有NVidia GF8系列及以上型号的显卡,并且安装185版本以上的显卡驱动程序。

以QQ影音播放器来讲,要想开启CUDA硬件解码加速,可以打开QQ影音的“播放器设置”,进入“高清加速”面板,在“硬件优化”中选择“自定义优化模式”,然后在“滤镜配置”中的“视频解码器”中自定义选择相应的“QQ CUDA Video Decoder(CUDADecFilter.ax)”即可。而关闭CUDA加速,只需取消选择“QQ CUDA Video Decoder(CUDADecFilter.ax)”,或者切换到“智能高清模式”或“稳定兼容模式”通过这种高清解码定义的开启,并不是说你的画质能够提升多少,而是提升高清视频播放时的流畅以及降低CPU的占用。这个时候,节约下来的CPU空间,可以允许你再去做别的工作,这样就会大大提升你的工作效率,而不至于除了看视频,其他的什么都不能做了。


三、cuDNN

1. 什么是cuDNN

cuDNN是CUDA在深度学习方面的应用。使得CUDA能够应用于加速深度神经网络。

NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。

NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如谷歌的Tensorflow、加州大学伯克利分校的流行caffe软件。简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是简单调整性能,同时还可以在GPU上实现高性能现代并行计算。

2. CUDA与cuDNN的关系

CUDA可以看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN就相当于是位于该工作台上的一把扳手。

cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。

cuDNN是CUDA的扩展计算库。
只要把cuDNN文件复制到CUDA的对应文件夹里就可以,即是所谓插入式设计。把cuDNN数据库添加CUDA里,cuDNN是CUDA的扩展计算库,不会对CUDA造成其他影响。
CUDA已有的文件与cuDNN没有相同的文件,复制cuDNN的文件后,CUDA里的文件并不会被覆盖,所以CUDA中的其他文件并不会受影响。


四、NVIDIA

NVIDIA(英伟达)是一家人工智能计算公司。

公司创立于1993年,总部位于美国加利福尼亚州圣克拉拉市。美籍华人Jensen Huang(黄仁勋)是创始人兼CEO。

1999年,NVIDIA定义了GPU,这极大地推动了PC游戏市场的发展,重新定义了现代计算机图形技术,并彻底改变了并行计算。

计算行业正在从只使用CPU的“中央处理”向CPU与GPU并用的“协同处理”发展。为打造这一全新的计算典范,NVIDIA™(英伟达™)发明了CUDA(Compute Unified Device Architecture,统一计算设备架构)这一编程模型,是想在应用程序中充分利用CPU和GPU各自的优点。

2020年7月8日美股收盘后,英伟达首次在市值上实现对英特尔的超越,成为美国市值最高的芯片厂商,这也是2014年后再次有新面孔站上美国芯片企业市值第一的位置。


参考链接

  1. gpu是显卡吗_gpu,cpu与显卡的关系_有什么区别?
  2. 显卡、GPU和CUDA简介
  3. CUDA与cuDNN

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/119017.html

(0)
seven_的头像seven_bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!