随着AI的广泛应用,深度学习已成为当前AI研究和运用的主流方式。面对海量数据的并行运算,AI对于算力的要求不断提升,对硬件的运算速度及功耗提出了更高的要求。
目前,除通用CPU外,作为硬件加速的GPU、NPU、FPGA等一些芯片处理器在深度学习的不同应用中发挥着各自的优势,但孰优孰劣?
以人脸识别为例,其处理基本流程及对应功能模块所需的算力分布如下:
为什么会有这样的应用区分?
意义在哪里?
想要知道其中的答案,需要我们先从CPU、GPU、NPU、FPGA它们各自的原理、架构及性能特点来了解。
首先,我们先来了解一下通用CPU的架构。
CPU
CPU(Central Processing Unit)中央处理器,是一块超大规模的集成电路,主要逻辑架构包括控制单元Control,运算单元ALU和高速缓冲存储器(Cache)及实现它们之间联系的数据(Data)、控制及状态的总线(Bus)。
简单说,
就是计算单元、控制单元和存储单元。
架构图如下所示:
CPU遵循的是冯诺依曼架构,其核心是存储程序、顺序执行。CPU的架构中需要大量的空间去放置存储单元(