面向深度学习的粗粒度可重构阵列仿真器系统和计算方法技术方案

技术编号:37705632 阅读:6 留言:0更新日期:2023-06-01 23:54
本公开提供了一种面向深度学习的粗粒度可重构阵列仿真器系统和计算方法,可以应用于深度学习技术领域以及可重构阵列技术领域。该面向深度学习的粗粒度可重构阵列仿真器系统包括:存储模块,用于存储初始图数据;数据调度模块,用于存储包括多个指令的指令集,以及使存储模块根据指令集将初始图数据传输至可重构阵列中;可重构阵列,用于接收初始图数据,以及根据深度学习模型的网络层的计算类型,调用图形处理器对初始图数据进行并行计算得到输出结果。出结果。出结果。

【技术实现步骤摘要】
面向深度学习的粗粒度可重构阵列仿真器系统和计算方法


[0001]本公开涉及深度学习
以及可重构阵列
,更具体地,涉及一种面向深度学习的粗粒度可重构阵列仿真器系统和计算方法。

技术介绍

[0002]粗粒度可重构阵列具有较好的灵活性和计算能效。在大规模片上系统((System on Chip,SOC)设计的前期,利用粗粒度可重构阵列仿真器进行设计能够降低芯片开发成本,并且可以减少芯片开发周期,后期可以与寄存器转换级(Register Transfer Level,RTL)模型进行联合仿真,验证仿真结果正确性。
[0003]在实现本公开构思的过程中,专利技术人发现相关技术中至少存在如下问题:相关技术中,在面对大规模数据处理的情况下,需要耗费大量时间,导致数据处理的效率较低。

技术实现思路

[0004]有鉴于此,本公开提供了一种面向深度学习的粗粒度可重构阵列仿真器系统和计算方法。
[0005]本公开的一个方面提供了一种面向深度学习的粗粒度可重构阵列仿真器系统,包括:
[0006]存储模块,用于存储初始图数据;
[0007]数据调度模块,用于存储包括多个指令的指令集,以及使存储模块根据指令集将初始图数据传输至可重构阵列中;
[0008]可重构阵列,用于接收初始图数据,以及根据深度学习模型的网络层的计算类型,调用图形处理器对初始图数据进行并行计算得到输出结果。
[0009]根据本公开的实施例,其中,可重构阵列包括:
[0010]第一处理单元,用于在深度学习模型的网络层的计算类型为线性计算类型的情况下,接收初始图数据以及调用图形处理器对初始图数据进行并行计算得到第一子输出结果;
[0011]第二处理单元,用于在深度学习模型的网络层的计算类型为非线性类型的的情况下,接收初始图数据以及对初始图数据进行计算得到第二子输出结果,以及基于第一子输出结果和第二子输出结果,得到输出结果。
[0012]根据本公开的实施例,其中,第一处理单元包括:
[0013]第一子处理单元,用于在深度学习模型的网络层的计算类型为线性计算类型的情况下,接收初始图数据,将初始图数据传输至中央处理器;
[0014]第二子处理单元,用于利用中央处理器将初始图数据传输至图形处理器,以及利用图形处理器根据初始图数据调用指定数量的线程对初始图数据进行并行计算得到第一子输出结果。
[0015]根据本公开的实施例,其中,存储模块包括:
[0016]第一存储单元,用于存储特征图数据;
[0017]第二存储单元,用于根据可重构阵列的容量,对特征图数据从多个维度进行切分,得到初始图数据。
[0018]根据本公开的实施例,其中,第二存储单元包括:
[0019]第一子存储单元,用于根据可重构阵列的容量,按照高维度和宽维度对特征图数据进行切分,得到初始图数据;或
[0020]第二存储子单元,用于根据可重构阵列的容量,按照高维度、宽维度和通道维度对特征图数据进行切分,得到初始图数据。
[0021]根据本公开的实施例,其中,第一处理单元还包括:
[0022]第三处理子单元,用于根据初始图数据在存储单元中的第一存储位置,确定初始图数据在图形处理器的第二存储位置;
[0023]第四处理子单元,用于根据第二存储位置,调用指定数量的线程对初始图数据进行并行计算得到第一子输出结果。
[0024]根据本公开的实施例,其中,存储模块还用于接收输出结果,在确定深度学习模型的网络层未计算完的情况下,将输出结果作为特征图数据。
[0025]根据本公开的实施例,其中,存储模块还用于接收输出结果,在确定深度学习模型的网络层均计算完的情况下,输出输出结果。
[0026]根据本公开的实施例,上述系统还包括:
[0027]接口模块,用于在系统包括多个的情况下,在多个系统之间传输输出结果。
[0028]本公开的另一方面提供了一种面向深度学习的粗粒度可重构阵列仿真器计算方法,包括:
[0029]利用存储模块存储初始图数据;
[0030]利用数据调度模块存储包括多个指令的指令集,以及使存储模块根据指令集将初始图数据传输至可重构阵列中;
[0031]利用可重构阵列接收初始图数据,以及根据深度学习模型的网络层的计算类型,调用图形处理器对初始图数据进行并行计算得到输出结果。
[0032]根据本公开的实施例,通过在面向深度学习的粗粒度可重构阵列仿真器系统中,利用存储模块存储初始图数据;利用数据调度模块存储包括多个指令的指令集,以及使存储模块根据指令集将初始图数据传输至可重构阵列中,利用可重构阵列接收初始图数据,以及根据深度学习模型的网络层的计算类型,调用图形处理器对初始图数据进行并行计算得到输出结果。由于数据的计算过程所消耗的时间远大于传输数据的时间,因此调用图形处理器进行并行计算可以显著加快整体神经网络的计算速度,缩短计算时间。所以至少部分地克服了相关技术中,在面对大规模数据处理的情况下,需要耗费大量时间,导致数据处理的效率较低的技术问题,进而达到了提升数据处理效率的技术效果。
附图说明
[0033]通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
[0034]图1示意性示出了根据本公开实施例的面向深度学习的粗粒度可重构阵列仿真器
系统的框图;
[0035]图2示意性示出了示意性示出了根据本公开实施例的切分特征图数据的示意图;
[0036]图3示意性示出了根据本公开实施例的初始图数据传输至图形处理器的示意图;
[0037]图4示意性示出了根据本公开实施例的面向深度学习的粗粒度可重构阵列仿真器计算系统的结构图;以及
[0038]图5示意性示出了根据本公开实施例的面向深度学习的粗粒度可重构阵列仿真器计算方法的流程图。
具体实施方式
[0039]以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
[0040]在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
[0041]在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
[0042]在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向深度学习的粗粒度可重构阵列仿真器系统,包括:存储模块,用于存储初始图数据;数据调度模块,用于存储包括多个指令的指令集,以及使所述存储模块根据所述指令集将所述初始图数据传输至可重构阵列中;可重构阵列,用于接收所述初始图数据,以及根据深度学习模型的网络层的计算类型,调用图形处理器对所述初始图数据进行并行计算得到输出结果。2.根据权利要求1所述的系统,其中,所述可重构阵列包括:第一处理单元,用于在所述深度学习模型的所述网络层的计算类型为线性计算类型的情况下,接收所述初始图数据以及调用所述图形处理器对所述初始图数据进行并行计算得到第一子输出结果;第二处理单元,用于在所述深度学习模型的所述网络层的计算类型为非线性类型的的情况下,接收所述初始图数据以及对所述初始图数据进行计算得到第二子输出结果,以及基于所述第一子输出结果和所述第二子输出结果,得到所述输出结果。3.根据权利要求2所述的系统,其中,所述第一处理单元包括:第一子处理单元,用于在所述深度学习模型的网络层的计算类型为线性计算类型的情况下,接收所述初始图数据,将所述初始图数据传输至中央处理器;第二子处理单元,用于利用所述中央处理器将所述初始图数据传输至所述图形处理器,以及利用所述图形处理器根据所述初始图数据调用指定数量的线程对所述初始图数据进行并行计算得到第一子输出结果。4.根据权利要求1所述的系统,其中,所述存储模块包括:第一存储单元,用于存储特征图数据;第二存储单元,用于根据所述可重构阵列的容量,对所述特征图数据从多个维度进行切分,得到所述初始图数据。...

【专利技术属性】
技术研发人员:白雪飞赵高飞陈松康一
申请(专利权)人:中国科学技术大学
类型:发明
国别省市:

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

1