什么是CPU,GPU,TPU,DPU,NPU,BPU你分得清吗

近几年来,深度学习大火,各类芯片也如雨后春笋般出现,像什么GPU, TPU, DPU, NPU, BPU……

你分得清吗,下面来小白一下

先来看看这几个词的英文全称:

  • CPU全称:Central Processing UnIT, 中央处理器;
  • GPU全称:Graphics Processing UnIT, 图像处理器;
  • TPU全称:Tensor Processing Unit, 张量处理器;
  • DPU全称:Deep leARning Processing Unit, 深度学习处理器;
  • NPU全称:Neural network Processing Unit, 神经网络处理器;
  • BPU全称:BrAIn Processing Unit, 大脑处理器。

1、CPU

CPU的全称为 Central Processing Unit(中央处理器),它其实就是机器的“大脑”, 主要包括运算器(ALU, ARithmetic and Logic Unit)、控制单元(CU, Control Unit)、寄存器(Register)、高速缓存器(Cache)和它们之间通讯的数据、控制及状态的总线。它是由计算单元、控制单元和存储单元三大部分组成。如下图所示

2、GPU

为了解决CPU在大规模并行运算中遇到的困难、提升速度,GPU应运而生,采用数量众多的计算单元和超长的流水线。

GPU(Graphics Processing Unit,图形处理器),GPU最初用在个人电脑、工作站、游戏机和一些移动设备上运行绘图运算工作的微处理器。如下图所示:

一提到GPU,就容易想到“并行计算”。并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程,提高计算机系统计算速度和处理能力的一种有效手段。并行计算的基本思想是使用多个处理器来共同求解同一问题,将被求解的问题分解成若干个部分,各部分均由一个独立的处理机来并行计算。

那么为什么GPU特别擅长处理图像数据呢?

这是因为图像上的每一个像素点都有被处理的需要,而且每个像素点处理的过程和方式都十分相似,因此可以并行计算,所以GPU在图像处理方面的能力就非常强。

下图是CPU与GPU架构的对比图:

3、TPU

TPU是Google在2016年5月提出来的一个针对Tensorflow平台的可编程AI加速器。

TPU可提供高吞吐量的低精度计算,用于模型的前向运算而不是模型训练,且能效(TOps/w)更高。据报告,TPU与同期的CPU和GPU相比,性能可提升15-30倍,以及30-80倍的效率(性能/瓦特)提升。

那么,TPU是怎么做到如此之快呢?

(1)深度学习的定制化研发:TPU 是谷歌专门为加速深层神经网络运算能力而研发的一款芯片,其实也是一款 ASIC(专用集成电路)。

(2)大规模片上内存:TPU 在芯片上使用了高达 24MB 的局部内存,6MB 的累加器内存以及用于与主控处理器进行对接的内存。

(3)低精度 (8-bit) 计算:TPU 的高性能还来源于对于低运算精度的容忍,TPU 采用了 8-bit 的低精度运算,也就是说每一步操作 TPU 将会需要更少的晶体管。

下图是TPU各模块的是框架图:

TPU 各模块的框图。主要计算部分是右上方的黄色矩阵乘法单元。其输入是蓝色的「权重 FIFO」和蓝色的电脑讯网缓存(UnifIEd Buffer(UB));输出是蓝色的累加器(Accumulators(Acc))。黄色的激活(Activation)单元在 Acc 中执行流向 UB 的非线性函数。

4、DPU

DPU深度学习处理器最早由国内深鉴科技提出,基于Xilinx可重构特性的FPGA芯片,设计专用的深度学习处理单元,而且抽象出定制化的指令集和编译器,实现了快速的开发与产品迭代。

5、NPU

NPU(神经网络处理器),是在电路层中模拟人类神经元和突触,并且用深度学习指令集直接处理大规模的神经元和突触,一条指令完成一组神经元的处理。NPU的典型代表有国内的寒武纪芯片和IBM的TrueNORth。

6、BPU

BPU(大脑处理器),是由地平线科技提出的嵌入式人工智能处理器架构。传统CPU芯片是做所有事情,所以一般采用串行结构。而BPU主要是用来支撑深度神经网络,比如图像、语音、文字、控制等方面的任务,而不是去做所有的事情。

  • 微信扫码捐赠
  • 微信扫码捐赠
  • 如果帮到了您,您可以赞助我一下!
  • 支付宝扫码捐赠
  • 支付宝扫码捐赠
  • 不论多少,我都向您表示特别的感谢!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: