一口Linux

电子技术应用专栏作家——一口Linux。一起学习嵌入式、Linux、网络、驱动、arm知识

盘一盘各种”xPU”

0
阅读(602)

随着信息社会的发展以及人工智能、大数据等新技术的兴起,各类芯片也是应运而生,层出不穷。光是各种xPU就很多种,比如比较熟悉的CPU、GPU,近几年又生出NPU、BPU等新的芯片。他们到底是什么?又有什么区别?下面就来盘它:xPU。

CPU:Central Processing Unit(中央处理器)

相当于人的“大脑”,也是布局谋略、发号施令、控制行动的“总司令官”。它主要包括算术单元(ALU,Arithmetic and Logic Unit)和控制单元(CU,Control Unit),此外还有若干寄存器、高速缓存以及它们之间传递的数据、控制和状态的总线。

image.png

GPU:graphics processing unit (图形处理器)

又称显示核心、视觉处理器、显示芯片。最初是用在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上运行绘图运算工作的微处理器。GPU采用数量众多的计算单元和超长的流水线,善于处理图像领域的运算加速。但GPU无法单独工作,必须由CPU进行控制调用才能工作。近年来,人工智能的兴起主要依赖于大数据的发展、算法模型的完善和硬件计算能力的提升。其中硬件的发展则归功于GPU的出现。从架构图我们就能很明显的看出,GPU的构成相对简单,有数量众多的计算单元和超长的流水线,特别适合处理大量的类型统一的数据。因此GPU不仅可以在图像处理领域大显身手,它还被用来科学计算、密码破解、数值分析,海量数据处理(排序,Map-Reduce等),金融分析等需要大规模并行计算的领域。

DPU:Data Processing Units(数据处理单元)

专用处理器的一个大类,是继CPU、GPU之后,数据中心场景中的第三颗重要的算力芯片,为高带宽、低延迟、数据密集的计算场景提供计算引擎。DPU将作为CPU的卸载引擎,释放CPU的算力到上层应用。

另有: DPU=Deep-Learning Processing Unit(深度学习处理器)。在学术圈,Deep Learning Processing Unit(或 processor)被经常提及。Deephi Tech(深鉴)是一家位于北京的初创公司,将其开发的基于 FPGA 的神经网络处理器称为 DPU。

NPU:Neural-network Processing Units(嵌入式神经网络处理器)

用电路模拟人类的神经元和突触结构,采用“数据驱动并行计算”的架构,特别擅长处理视频、图像类的海量多媒体数据。NPU处理器专门为物联网人工智能而设计,用于加速神经网络的运算,解决传统芯片在神经网络运算时效率低下的问题。NPU的典型代表还有国内的寒武纪芯片和IBM的TrueNorth。

BPU:Brain Processing Unit(大脑处理器)

地平线机器人(Horizon Robotics)以 BPU 来命名自家的 AI 芯片。地平线是一家成立于 2015 年的初创公司,总部在北京,目标是“嵌入式人工智能全球领导者”。BPU主要是用来支撑深度神经网络,比在CPU上用软件实现更为高效。然而,BPU一旦生产,不可再编程,且必须在CPU控制下使用。

TPU:Tensor Processing Unit(张量处理器)

image.png

TPU就是这样一款专用于机器学习的芯片,它是Google于2016年5月提出的一个针对Tensorflow平台的可编程AI加速器,其内部的指令集在Tensorflow程序变化或者更新算法时也可以运行。TPU可以提供高吞吐量的低精度计算,用于模型的前向运算而不是模型训练,且能效(TOPS/w)更高。在Google内部,CPU,GPU,TPU均获得了一定的应用,相比GPU,TPU更加类似于DSP,尽管计算能力略有逊色,但是其功耗大大降低,而且计算速度非常的快,是谷歌专门为加速深层神经网络运算能力而研发的一款芯片,其实也是一款ASIC。TPU与同期的CPU和GPU相比,可以提供15-30倍的性能提升,以及30-80倍的效率(性能/瓦特)提升。

FPU:Floating Processing Unit (浮点计算器)

不是芯片级概念,是其浮点单元,在高性能的 CPU、DSP、GPU 内都集成了 FPU 做浮点运算。

HPU:Holographics Processing Unit (全息图像处理器)

Microsoft 专为自家 Hololens 应用开发的,专门用于在本地运行各种深度学习。

KPU:Knowledge Processing Unit(知识处理器)

嘉楠耘智(canaan)号称 2017 年将发布自己的 AI 芯片 KPU。嘉楠耘智要在 KPU 单一芯片中集成人工神经网络和高性能处理器,主要提供异构、实时、离线的人工智能应用服务。这又是一家向 AI 领域扩张的不差钱的矿机公司。

MPU:Micro Processor Unit(微处理器)

image.png

通常可以看做一个功能强大的cpu,通常主频较高、算力强。结构上看,一般会有MMU(存储管理单元)、FPU(浮点处理单元)、二级Cache等高级处理模块。因此有条件执行复杂多样的大型程序或系统。一般外挂存储,通常是DDR3,DDR4这种速度比较快的、适用于运算比较复杂的存储器。 

VPU:Vector Processing Unit(矢量处理器)

Intel收购的Movidius公司推出的图像处理与人工智能的专用芯片的加速计算核心。向量处理器在超级计算机和高性能计算中,扮演着重要角色。基于向量处理器研发 AI 领域的专用芯片,也是很多公司的选项。

另有,VPU=Video Processing Unit(视频处理单元)是一种全新的视频处理平台核心引擎,具有硬解码功能以及减少CPU负荷的能力。另外,VPU可以减少服务器负载和网络带宽的消耗。VPU由ATI提出,用于区别于传统GPU(Graph Process Unit,图形处理单元)。图形处理单元又包括视频处理单元、外视频模块和后处理模块这三个主要模块。


原文链接:https://mp.weixin.qq.com/s/UAzN_7Bmb9uLRy8GJ-9rFg


微信图片_20220701092006.jpg

电子技术应用专栏作家  一口Linux


Baidu
map