1.一种支持多层神经网络的层间并行处理的加速器,其能用于对通用计算机卸载的包括多个网络层的多层神经网络任务进行处理,其特征在于,包括:用于执行多层神经网络中单层数据处理、层间数据并行处理的计算阵列;用于获取一个或者多个数据块上存储的多层神经网络中,已可用于后续计算的层内和/或层间数据作为重组数据并重组成预设重组粒度的重组数据矩阵以及获取对重组数据矩阵处理所需的网络参数并重排成重组权重矩阵的第一重排器;用于在计算阵列处理重组矩阵时获取重组数据矩阵对应的预设重组粒度,指示计算阵列中各处理单元按照预设重组粒度获取重组数据矩阵中的数据和重排权重矩阵中对应的权重进行处理的扩展模块;用于在计算阵列对所述重组数据矩阵处理完成后,根据处理各数据得到的结果按多层神经网络中对应层输出的结果原始形式进行结果重组以还原网络层的输出的第二重组器。
2.根据权利要求1所述的加速器,其特征在于,所述加速器还包括:用于将输入数据的重排完成的一个或者多个重组数据矩阵及其对应的重组权重矩阵、预设重组粒度被关联并集中存储在相应的数据块中的数据管理模块。
3.根据权利要求1所述的加速器,其特征在于,所述加速器还包括:用于根据加速器的硬件架构信息和数据处理延迟动态调整所述预设重组粒度的调度决策器。
4.根据权利要求3所述的加速器,其特征在于,所述硬件架构信息包括加速器的层次结构、各缓存的空间大小、缓存的数据块大小、访存带宽。
5.根据权利要求4所述的加速器,其特征在于,所述调度决策器包括:用于根据所述硬件架构信息和当前多层神经网络中已可用于后续计算的层内和/或层间数据生成搜索空间的搜索空间生成器,其中,所述搜索空间包括若干个调度模式,每个调度模式包括预设重组粒度、重组数据构成和各重组数据对应的原始数据块的存储位置;用于根据搜索空间生成调度模式并搜集根据生成的调度模式对应的历史数据以指导生成最小化处理时延的新的调度模式的模式生成器,所述历史数据包括对应调度模式在加速器上应用时各缓存的资源利用率以及对应重组数据的处理延迟。
6.根据权利要求4所述的加速器,其特征在于,所述加速器包括全局缓存、权重缓存和数据缓存,缓存层次结构指示全局缓存、权重缓存和数据缓存和计算阵列间的层级和连接关系,访存带宽包括全局缓存、权重缓存和数据缓存和计算阵列中各个具有连接关系的部件间的访问带宽。
7.根据权利要求1-6之一所述的加速器,其特征在于,所述重组数据矩阵的每一行对应一个卷积位置的卷积核所展开的行,重组数据矩阵的每一行的数据利用重组权重矩阵的对应行的权重进行卷积运算。
8.根据权利要求1-6之一所述的加速器,其特征在于,预设重组粒度小于重组数据原来所在矩阵的粒度。
9.根据权利要求1-6之一所述的加速器,其特征在于,所述扩展模块包括:宽寄存器,用于存储每行的宽度以指示当前计算阵列需按照预设重组粒度中每行的宽度读取对应的数据和权重进行运算;行寄存器,用于存储重组数据矩阵的总行数;累加寄存器,用于存储指示计算阵列对当前重组数据矩阵已处理的行数;加法器,用于在计算阵列每完成一行数据的计算之后,在累加寄存器存储的值的基础上加一完成累加操作,并更新累加寄存器存储的值;比较器,用于比较累加寄存器的值和行寄存器的值的大小以确定是否完成预设重组粒度的重组数据矩阵的计算。
10.一种在权利要求1-9之一所述的加速器上执行的计算方法,其特征在于,所述方法包括:S1、从通用计算机获取多层神经网络任务;S2、以层间并行的方式对多层神经网络任务进行调度,其中,由调度决策器根据当前加速器的硬件架构信息和历史数据确定最小化处理时延的调度模式,其中,硬件架构信息包括加速器的层次结构、各缓存的空间大小、缓存的数据块大小、访存带宽,历史数据包括对应历史的调度模式在加速器上应用时各缓存的资源利用率以及对应重组数据的处理延迟;S2、由第一重排器根据当前的调度模式中指示的预设重组粒度将已可用于后续计算的层内和/或层间数据作为重组数据并重组成预设重组粒度的重组数据矩阵以及获取对重组数据矩阵处理所需的网络参数并重排成重组权重矩阵并生成控制码;S3、由扩展模块根据控制码控制指示计算阵列中各处理单元按照预设重组粒度获取重组数据矩阵中的数据和重排权重矩阵中对应的权重进行处理,处理完成之后其结果存入缓存并发起中断,等待处理下一个重组数据矩阵;S4、由第二重组器在计算阵列对所述重组数据矩阵处理完成后,根据处理各数据得到的结果按多层神经网络中对应层输出的结果原始形式进行结果重组以还原网络层的输出;S5、重复步骤S2-S4,当多层神经网络任务的处理完成后,向通用计算机输出处理的结果。