用于人工智能设备的灵活数据流处理器和处理方法技术

技术编号:19965275 阅读:27 留言:0更新日期:2019-01-03 13:21
本发明专利技术是用于人工智能设备的灵活数据流处理器和处理方法,包括前叶引擎、顶叶引擎组、枕形引擎和颞叶引擎;能够将张量分成若干个瓦片块,再将每个瓦片块分成若干个瓦片,再将每个瓦片分成若干个波块,再将每个波块分成若干个波,并将具有相同渲染特征的波在相同神经元块中进行处理;AI工作可以分布到多个顶叶引擎中进行并行处理,并实现权重重用、激活重用、权重站重用、部分和重用。

Flexible Data Stream Processor and Processing Method for Artificial Intelligence Equipment

The present invention is a flexible data stream processor and processing method for AI devices, including front lobe engine, top lobe engine group, pillow engine and temporal lobe engine. It can divide tensor into several tiles, then divide each tile into several tiles, then divide each tile into several wavebands, and then divide each waveband into several wavebands, and have the same rendering characteristics. Waves are processed in the same neuron block; AI work can be distributed to multiple parietal engines for parallel processing, and achieve weight reuse, activation reuse, weight station reuse, partial reuse and reuse.

【技术实现步骤摘要】
用于人工智能设备的灵活数据流处理器和处理方法
本专利技术是涉及人工智能
,具体的说是用于人工智能设备的灵活数据流处理器和处理方法。
技术介绍
人工智能处理是近来的热门话题,它既是计算和内存密集型,也要求高性能-功耗效率。使用CPU和GPU等当前设备加速并不容易。许多如GPU+TensorCore、TPU、CPU+FPGA和AIASIC等解决方案都试图解决这些问题。GPU+TensorCore主要着眼于解决计算密集问题,TPU着眼于计算和数据重用,CPU+FPGA/AIASIC注重提高性能-功耗效率。人工智能特征图通常可以描述为四维张量[N,C,Y,X]。这四个维度为,特征图维度:X、Y;通道维度:C;批次维度:N。内核可以是四维张量[K,C,S,R]。AI工作是给出输入特征图张量和内核张量。还可以进行其他操作,比如规范化、激活。这些可以在通用硬件运算器中支持。因此,需要一种更优的硬件架构和数据处理方法,能够更加灵活高效的处理数据流。
技术实现思路
本专利技术要解决的技术问题是提供用于人工智能设备的灵活数据流处理器和处理方法。为解决上述技术问题,本专利技术采用的技术方案为:用于人工智能设备的灵活数据流处理器,其特征是:包括前叶引擎、顶叶引擎组、枕形引擎和颞叶引擎;所述的前叶引擎内设置有瓦片块调度器,前叶引擎接收张量信息,瓦片调度器将张量分成若干个瓦片块,前叶引擎将瓦片块分配到顶叶引擎组中;所述的顶叶引擎组包括若干个顶叶引擎,顶叶引擎内设置有瓦片分派器和波块调度器,所述的瓦片分派器获取瓦片块并将其分割成若干瓦片,波块调度器获取瓦片并将其分成若干波块;所述的顶叶引擎内还设置有若干个流感知器处理器,流感知器处理器内设置有波块分派器,波块分派器能够将波块分成若干波,流感知器处理器内还设置有神经元站,神经元站由若干个神经元块组成,波在神经元块中进行特征渲染;所述的枕形引擎接收并整理渲染后的部分张量,并输出;所述的颞叶引擎接收枕形引擎输出的张量信息,进行后处理并将最终张量写入内存中。为优化上述技术,采取的具体措施还包括:所述的张量信息中一个张量具有5个维度,包括特征图维度:X、Y;信道维度C、K,其中C表示输入特征映射,K表示输出特征映射;N代表批次维度。所述的枕形引擎的架构方式为统一渲染架构,具体包括:渲染特征被发送回顶叶引擎,顶叶引擎完成渲染后,将结果发送回枕形引擎。所述的前叶引擎以轮询调度的方式将组张量发送给顶叶引擎,所有的流式感知器处理器共享一个L2缓存和一个导出块。所述的流感知器处理器内的神经元块具有乘法累加器组,每个乘法累加器组可以处理具有相同特征的信息。用于人工智能设备的灵活数据流处理方法,其特征在于:一个张量具有5个维度,包括特征图维度:X、Y;信道维度C、K,其中C表示输入特征映射,K表示输出特征映射;N代表批次维度;将张量分成若干个瓦片块,再将每个瓦片块分成若干个瓦片,再将每个瓦片分成若干个波块,再将每个波块分成若干个波,并将具有相同渲染特征的波在相同神经元块中进行处理;其具体步骤如下:步骤1,前叶引擎中的块瓦片调度器通过驱动程序接收来自应用程序的张量信息,根据应用的要求,瓦片调度器将张量分成若干瓦片块,这些瓦片块以轮询调度的方式分配到顶叶引擎组中;步骤2,顶叶引擎中的块瓦片分派器获取瓦片块并对α维度的瓦片块进行分割形成若干个瓦片,其中α维度为N或C或K维度;步骤3,顶叶引擎中的块波调度器获取瓦片并对其X、Y维度进行分割形成若干波块,波块被发送到顶叶引擎中的流感知器处理器中;步骤4,流感知器处理器中的块波分派器获取波块并将其以β维度为基准分成若干波,其中β维度为N或C或K维度;步骤5,流感知器处理器中的神经元站会加载激活和权重,并进行神经元处理;步骤6,神经元站中的神经元块中有乘法累加器组,每个乘法累加器组处理具有相同β维度的波。步骤1中瓦片调度器将张量分出的瓦片块数量与顶叶引擎组中顶叶引擎数量相同。瓦块、瓦片、波块和波的大小是可编程的。用于人工智能设备的灵活数据流处理器和处理方法能够达到的有益效果为:人工智能工作被分成许多高度平行的部分,有些部分被分配到一个引擎中进行处理,引擎数量是可配置的,从而提高了可扩展性,所有的工作分区和分配都在此架构中实现,通过灵活的控制和数据重用,我们可以节省功耗并实现更好的性能,以此获得高性能功效。在处理数据流的过程中,将这些工作并行分发到计算机内核中,且此分发可由用户控制用以重用AI特征图。具体来说AI工作可以分布到多个顶叶引擎中进行并行处理,并实现权重重用、激活重用、权重站重用、部分和重用。数据流中有一些选项可用于获得权重并行和激活并行。附图说明图1为引擎流程图。图2为引擎级架构图。图3为数据流流程图。具体实施方式以下结合说明书附图和具体优选的实施例对本专利技术作进一步描述。用于人工智能设备的灵活数据流处理器,其特征是:包括前叶引擎、顶叶引擎组、枕形引擎和颞叶引擎;所述的前叶引擎内设置有瓦片块调度器,前叶引擎接收张量信息,瓦片调度器将张量分成若干个瓦片块,前叶引擎将瓦片块分配到顶叶引擎组中;所述的顶叶引擎组包括若干个顶叶引擎,顶叶引擎内设置有瓦片分派器和波块调度器,所述的瓦片分派器获取瓦片块并将其分割成若干瓦片,波块调度器获取瓦片并将其分成若干波块;所述的顶叶引擎内还设置有若干个流感知器处理器,流感知器处理器内设置有波块分派器,波块分派器能够将波块分成若干波,流感知器处理器内还设置有神经元站,神经元站由若干个神经元块组成,波在神经元块中进行特征渲染;所述的枕形引擎接收并整理渲染后的部分张量,并输出;所述的颞叶引擎接收枕形引擎输出的张量信息,进行后处理并将最终张量写入内存中。进一步的,张量信息中一个张量具有5个维度,包括特征图维度:X、Y;信道维度C、K,其中C表示输入特征映射,K表示输出特征映射;N代表批次维度。进一步的,枕形引擎的架构方式为统一渲染架构,具体包括:渲染特征被发送回顶叶引擎,顶叶引擎完成渲染后,将结果发送回枕形引擎。进一步的,前叶引擎以轮询调度的方式将组张量发送给顶叶引擎,所有的流式感知器处理器共享一个L2缓存和一个导出块。进一步的,流感知器处理器内的神经元块具有乘法累加器组,每个乘法累加器组可以处理具有相同特征的信息。本实施例中,如图1所示,人工智能工作可以被视为5维张量[N,K,C,Y,X]。在每一维度中,我们把这些工作分成许多组,每一组可能进一步被分成若干波。在我们的体系结构中,第一个引擎-前叶引擎(FrontalEngine,简称FE)从主机得到5D张量[N,K,C,Y,X],并将其分为许多组张量[Ng,Kg,Cg,Yg,Xg],并将这些组发送给顶叶引擎(ParietalEngine,简称PE)。PE获取组张量并将其分成若干波,将这些波发送到渲染器引擎,以执行输入特征渲染器(IF-Shader),并将部分张量(Nw,Kw,Yw,Xw)输出到枕形引擎(OccipitalEngine,简称OE)。OE积累部分张量,并执行输出特征渲染器(OF-Shader),以获得发送到下一个引擎-颞叶引擎(TemporalEngine,简称TE)的最终张量。TE进行一些数据压缩,并将最终的张量写到内存中。本实施例中,如图2所示,在前叶引擎(Fronta本文档来自技高网...

【技术保护点】
1.用于人工智能设备的灵活数据流处理器,其特征是:包括前叶引擎、顶叶引擎组、枕形引擎和颞叶引擎;所述的前叶引擎内设置有瓦片块调度器,前叶引擎接收张量信息,瓦片调度器将张量分成若干个瓦片块,前叶引擎将瓦片块分配到顶叶引擎组中;所述的顶叶引擎组包括若干个顶叶引擎,顶叶引擎内设置有瓦片分派器和波块调度器,所述的瓦片分派器获取瓦片块并将其分割成若干瓦片,波块调度器获取瓦片并将其分成若干波块;所述的顶叶引擎内还设置有若干个流感知器处理器,流感知器处理器内设置有波块分派器,波块分派器能够将波块分成若干波,流感知器处理器内还设置有神经元站,神经元站由若干个神经元块组成,波在神经元块中进行特征渲染;所述的枕形引擎接收并整理渲染后的部分张量,并输出;所述的颞叶引擎接收枕形引擎输出的张量信息,进行后处理并将最终张量写入内存中。

【技术特征摘要】
1.用于人工智能设备的灵活数据流处理器,其特征是:包括前叶引擎、顶叶引擎组、枕形引擎和颞叶引擎;所述的前叶引擎内设置有瓦片块调度器,前叶引擎接收张量信息,瓦片调度器将张量分成若干个瓦片块,前叶引擎将瓦片块分配到顶叶引擎组中;所述的顶叶引擎组包括若干个顶叶引擎,顶叶引擎内设置有瓦片分派器和波块调度器,所述的瓦片分派器获取瓦片块并将其分割成若干瓦片,波块调度器获取瓦片并将其分成若干波块;所述的顶叶引擎内还设置有若干个流感知器处理器,流感知器处理器内设置有波块分派器,波块分派器能够将波块分成若干波,流感知器处理器内还设置有神经元站,神经元站由若干个神经元块组成,波在神经元块中进行特征渲染;所述的枕形引擎接收并整理渲染后的部分张量,并输出;所述的颞叶引擎接收枕形引擎输出的张量信息,进行后处理并将最终张量写入内存中。2.根据权利要求1所述的用于人工智能设备的灵活数据流处理器,其特征在于:所述的张量信息中一个张量具有5个维度,包括特征图维度:X、Y;信道维度C、K,其中C表示输入特征映射,K表示输出特征映射;N代表批次维度。3.根据权利要求2所述的用于人工智能设备的灵活数据流处理器,其特征在于:所述的枕形引擎的架构方式为统一渲染架构,具体包括:渲染特征被发送回顶叶引擎,顶叶引擎完成渲染后,将结果发送回枕形引擎。4.根据权利要求1所述的用于人工智能设备的灵活数据流处理器,其特征在于:所述的前叶引擎以轮询调度的方式将组张量发送给顶叶引擎,所有的流式感知器处理器共享一个L2缓存和一个导出块。5.根据权利要求1所述的用于人工智能设备的灵活数据流处理器,其特征在...

【专利技术属性】
技术研发人员:倪岭李云鹏邵平平邹云晓李庆恩
申请(专利权)人:南京天数智芯科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1