CPU和GPU的区别
CPU:Central Processing Unit 中央处理器,是计算机的大脑,包括运算器、控制器、寄存器、高速缓存以及总线
GPU:Graphics Processing Unit 图形处理器,最初是用在个人电脑、工作站、游戏机和一些移动设备上运行绘图运算工作的微处理器。
CPU和GPU之所以大不相同,主要是由于设计目标的不同,分别针对两种不同的应用场景。
CPUI需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断引入大量的分支跳转和中断的处理,这些使得CPU的内部结构是很复杂的。
而GPU所面对的数据则是类型高度统一、相互无依赖的大规模数据和不需要被打断的纯净的计算环境,所以GPU的构成相对简单,有数量众多的计算单元和超长的流水线,特别适合处理量大且同一的数据。在设计上采用了众多的计算单元和超长的流水线,但只有简单的控制逻辑并且省去了cache
除了渲染图形的能力,在并行处理方面GPU是很强的,因此在密码破译,大数据处理,金融分析等领域应用广泛(所以为什么会有那么多矿卡知道了吧)。其实GPU并没有专门为图像服务的部件。
为什么GPU擅长处理图像数据呢?这是因为图像上的每一个像素带你都有被处理的需要,而且每个像素点处理的过程和方式都十分类似,很适合机械的GPU进行处理。但是GPU无法单独工作,必须由CPU进行控制调用,CPU可单独作用,处理复杂的逻辑运算和不同的数据类型。
打个比方,GPU的运算速度取决于雇佣了多少小学生,CPU的运算速度取决于请了多么厉害的教授,教授处理复杂任务的能力是碾压小学生的,但是对于没那么复杂的任务,还是顶不住人多。
为什么在人工智能领域GPU十分盛行呢?因为深度学习是模拟人脑神经系统简历的数学网络模型,这个模型的最大特点是需要大数据来训练。所以需要大量的并行的重复计算,在深度学习方面GPU有以下特点
- 提供了多核并行计算的基础结构,且核心数很多(通常有成百上千个核心),可以支撑大量数据的并行计算。
- 用于更高的访存带宽和速度
- 具备更高的浮点运算能力
独立显卡:把GPU焊死在了显卡的电路板上,上面有一个散热风扇
集成显卡:把GPU和CPU放在一起,共用缓存来工作,并共用风扇。