
1.2 昇腾AI处理器

扫码观看视频
昇腾AI处理器的芯片本质上是片上系统(System on Chip,SoC),主要应用在和图像、视频、语音、文字处理相关的场景。该处理器芯片的主要组成部件包括特制的计算单元、大容量的存储单元和相应的控制单元,逻辑架构如图1-6所示。它封装了Virtuvian主芯片、4个高带宽内存(High Bandwidth Memory,HBM)堆栈式芯片和Nimbus I/O芯片。这些部件通过1024位的二维网格结构的CHIE片上网络连接起来。昇腾AI处理器有 4 个数字视频预处理(Digital Video Pre-Processing,DVPP)模块,可以处理 128 通道全高清视频(H.264/H.265)。
昇腾AI处理器的芯片集成了若干个达·芬奇架构的AI Core,负责执行矩阵、向量计算密集的任务,还集成了数个CPU核心,每4个核心构成一个簇。其中一部分核心部署为AI CPU,承担部分AI计算功能(负责执行不适合运行在AI Core上的算子任务);另一部分核心部署为系统控制CPU,负责整个SoC的控制功能。此外,芯片内有层次化的存储结构。AI Core内部有两级内存缓冲区,SoC片上还有L2缓冲区,专门为AI Core和AI CPU提供高带宽、低延迟的内存访问服务。芯片连接了4个高带宽内存控制器(High Bandwidth Memory Controller,HBMC),并提供PCI-e服务。

注:DMA即Direct Memory Access,直接存储器访问;NIC即Network Interface Card,网络接口卡;STARS即System Task And Resource Scheduler,系统任务和资源调度器;IMU即I/O board Management Unit,I/O板管理单元。
图1-6 昇腾AI处理器芯片的逻辑架构
该芯片真正的算力担当是采用了达·芬奇架构的AI Core。这些AI Core通过特别设计的架构和电路实现了高通量、大算力和低功耗的特性,特别适合处理深度学习中神经网络的常用计算,如矩阵乘法等。由于芯片采用了模块化的设计,可以很方便地通过叠加模块的方法提高后续芯片的计算力。针对深度神经网络参数量大、中间值多的特点,该芯片还特意为 AI计算引擎配备了片上缓冲区(On-chip Buffer),以提供高带宽、低延迟、高效率的数据交换和访问服务。能够快速访问所需的数据对于提高 AI 算法的整体性能至关重要,同时,将大量需要复用的中间数据缓存在片上对于降低系统整体功耗意义重大。
DVPP模块主要完成图像和视频的编解码,支持4K(4096像素×2160像素)分辨率视频处理,同时支持对JPEG和PNG等格式图像的处理。来自主机端存储器或网络的视频和图像数据,在进入昇腾AI处理器芯片的AI计算引擎处理之前,需要具备满足处理要求的数据输入格式、分辨率等标准,因此需要调用DVPP模块进行预处理以达到格式和精度转换等要求。DVPP模块主要提供视频解码(Video Decoder,VDEC)、视频编码(Video Encoder,VENC)、JPEG编解码(JPEG Encoder/Decoder,JPEGD/E)、PNG解码(PNG Decoder,PNGD)和图像预处理(Vision Pre-Processing Core,VPC)等功能。图像预处理可以完成对输入图像的上/下采样、裁剪、色调转换等多种处理任务。DVPP模块采用了专用定制电路的方式来实现高效率的图像处理功能,对应于每一种不同的功能都会设计一个相应的硬件电路模块来完成计算工作。在DVPP模块收到图像和视频处理任务后,会通过双倍数据速率(Double Data Rate,DDR)存储从内存中读取需要处理的图像和视频数据,并分发到内部对应的处理模块进行处理,待处理完成后将数据写回内存,等待后续执行步骤。