用于神经处理器调度的方法和设备技术

技术编号:33721474 阅读:61 留言:0更新日期:2022-06-08 21:13
公开了一种用于神经处理器调度的方法和设备。所述方法包括:接收关于神经网络的层的数据;通过划分数据来生成将被分配给核的分区;通过划分分区来生成区块;和基于数据是否在核之间被共享来调度区块的操作次序。在核之间被共享来调度区块的操作次序。在核之间被共享来调度区块的操作次序。

【技术实现步骤摘要】
用于神经处理器调度的方法和设备
[0001]本申请要求于2020年12月3日在韩国知识产权局提交的第10

2020

0167681号韩国专利申请的权益,所述韩国专利申请的全部公开出于所有目的通过引用包含于此。


[0002]下面的描述涉及用于神经处理器调度的方法和设备。

技术介绍

[0003]当两个或更多个独立的神经处理器期望加速神经网络时,神经处理器需要通过对特征图或权重进行划分来执行操作。在这种情况下,冗余数据存在于神经处理器之间,增加了存储器带宽。
[0004]当不同的神经处理器对一个神经网络进行划分并执行相应的划分后的部分时,频繁地执行神经处理器之间的同步以确保操作和数据复制,导致性能下降。
[0005]当如常规方法中仅考虑单个神经处理器时,用于隐藏延迟时间的区块(tile)调度以及核之间的数据复制可能不被考虑。因此,需要考虑一种针对两个或更多个处理器适当地对给定神经网络进行划分和在神经处理器中进行子网络调度的方法。

技术实现思路

[0006]提供本
技术实现思路
来以简化的形式介绍在以下具体实施方式中进一步描述的构思的选择。本
技术实现思路
不意在确认要求权利的主题的关键特征或必要特征,也不意在用于帮助确定要求权利的主题的范围。
[0007]在一个总体方面,一种调度神经网络操作的方法包括:接收关于神经网络的层的数据;通过划分数据来生成将被分配给核的分区;通过划分分区来生成区块;和基于数据是否在核之间被共享来调度区块的操作次序。r/>[0008]数据可包括所述层的输入特征图或所述层的权重。
[0009]生成分区的步骤可包括:基于所述层之前的层的分区策略或数据的大小来生成分区。
[0010]基于先前层的分区策略或数据的大小来生成分区的步骤可包括:响应于先前层的输出是可转发的,基于先前层的分区策略来生成分区;并且响应于先前层的输出是不可转发的,通过将所述层的输入特征图的大小与所述层的权重的大小进行比较来生成分区。
[0011]响应于先前层的输出是不可转发的,通过将所述层的输入特征图的大小与所述层的权重的大小进行比较来生成分区的步骤可包括:响应于输入特征图或权重未被均匀地划分并分配给核,通过将由存储器大小引起的损失与由不平衡引起的损失进行比较来生成分区。
[0012]生成区块的步骤可包括:基于所述层之前的层的分区策略、所述层的分区策略、先前层的区块划分策略或数据的大小来生成区块。
[0013]基于先前层的分区策略、所述层的分区策略、先前层的区块划分策略或数据的大
小来生成区块的步骤可包括:响应于先前层的输出是可转发的,基于先前层的分区策略、所述层的分区策略和先前层的区块划分策略来生成区块;并且响应于先前层的输出是不可转发的,通过将所述层的输入特征图的大小与所述层的权重的大小进行比较来生成区块。
[0014]生成分区的步骤可包括:在数据的高度方向或宽度方向上划分数据。
[0015]调度的步骤可包括:基于区块的操作结果是否在核之间被共享来改变区块的操作次序。
[0016]基于区块的操作结果是否在核之间被共享来改变区块的操作次序的步骤可包括:响应于一个区块的操作结果在被分配所述一个区块的核与另外的核之间共享,改变操作次序,以便优先地操作包括在区块中的所述一个区块。
[0017]在另一总体方面,一种用于调度神经网络操作的设备包括:接收器,被配置为接收关于神经网络的层的数据;和处理器,被配置为:通过划分数据来生成将被分配给核的分区,通过划分分区来生成区块,和基于数据是否在核之间被共享来调度区块的操作次序。
[0018]数据可包括所述层的输入特征图或所述层的权重。
[0019]处理器还可被配置为:基于所述层之前的层的分区策略或数据的大小来生成分区。
[0020]处理器还可被配置为:响应于先前层的输出是可转发的,基于先前层的分区策略来生成分区;并且响应于先前层的输出是不可转发的,通过将所述层的输入特征图的大小与所述层的权重的大小进行比较来生成分区。
[0021]处理器还可被配置为:响应于输入特征图或权重未被均匀地划分并分配给核,通过将由存储器大小引起的损失与由不平衡引起的损失进行比较来生成分区。
[0022]处理器还可被配置为:基于所述层之前的层的分区策略、所述层的分区策略、先前层的区块划分策略或数据的大小来生成区块。
[0023]处理器还可被配置为:响应于先前层的输出是可转发的,基于先前层的分区策略、所述层的分区策略和先前层的区块划分策略来生成区块;并且响应于先前层的输出是不可转发的,通过将所述层的输入特征图的大小与所述层的权重的大小进行比较来生成区块。
[0024]处理器还可被配置为:在数据的高度方向或宽度方向上划分数据。
[0025]处理器还可被配置为:基于区块的操作结果是否在核之间被共享来改变区块的操作次序。
[0026]处理器还可被配置为:响应于一个区块的操作结果在被分配所述一个区块的核与另外的核之间共享,改变操作次序,以便优先地操作包括在区块中的所述一个区块。
[0027]从下面的具体实施方式、附图以及权利要求,其它特征和方面将是清楚的。
附图说明
[0028]图1示出神经网络操作调度设备的示例。
[0029]图2示出图1中示出的处理器的示例。
[0030]图3示出输入数据和输出数据的示例。
[0031]图4示出图1中示出的处理器的划分操作的流程的示例。
[0032]图5A示出划分数据并将划分后的数据分配给核的示例。
[0033]图5B示出数据划分的示例。
[0034]图6示出划分数据的操作的流程的示例。
[0035]图7A示出划分分配给核的分区(partition)的示例。
[0036]图7B示出分区划分的示例。
[0037]图8示出划分分区的操作的流程的示例。
[0038]图9A示出核间数据传输延迟时间不被隐藏的调度结果的示例。
[0039]图9B示出核间数据传输延迟时间被隐藏的调度结果的示例。
[0040]图10示出神经网络操作调度设备的硬件实现的示例。
[0041]图11示出广播和同步的示例。
[0042]图12示出图1的神经网络操作调度设备的操作的流程的示例。
[0043]贯穿附图和具体实施方式,除非另外描述或提供,否则相同的附图参考标号将被理解为表示相同的元件、特征和结构。附图可不按比例,并且为了清楚、说明和方便,附图中的元件的相对尺寸、比例和描绘可被夸大。
具体实施方式
[0044]提供下面的详细的结构性的或功能性的描述仅作为示例,并且可对示例进行各种改变和修改。这里,示例不被解释为限于公开,而是应被理解为包括在公开的理念和技术范围内的所有改变、等同物和替换。
[0045]在此可使用诸如第一、第二等的术语来描述组件。这些术语中的每个不用于限定对应的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种用于神经处理器调度的方法,包括:接收关于神经网络的层的数据;通过划分数据来生成将被分配给核的分区;通过划分分区来生成区块;和基于数据是否在核之间被共享来调度区块的操作次序。2.根据权利要求1所述的方法,其中,数据包括所述层的输入特征图或所述层的权重。3.根据权利要求1所述的方法,其中,生成分区的步骤包括:基于先前层的分区策略或数据的大小来生成分区,先前层是所述层之前的层。4.根据权利要求3所述的方法,其中,基于先前层的分区策略或数据的大小来生成分区的步骤包括:响应于先前层的输出是可转发的,基于先前层的分区策略来生成分区;并且响应于先前层的输出是不可转发的,通过将所述层的输入特征图的大小与所述层的权重的大小进行比较来生成分区。5.根据权利要求4所述的方法,其中,响应于先前层的输出是不可转发的,通过将所述层的输入特征图的大小与所述层的权重的大小进行比较来生成分区的步骤包括:响应于输入特征图或权重未被均匀地划分并分配给核,通过将由存储器大小引起的损失与由不平衡引起的损失进行比较来生成分区。6.根据权利要求1所述的方法,其中,生成区块的步骤包括:基于先前层的分区策略、所述层的分区策略、先前层的区块划分策略或数据的大小来生成区块,先前层是所述层之前的层。7.根据权利要求6所述的方法,其中,基于先前层的分区策略、所述层的分区策略、先前层的区块划分策略或数据的大小来生成区块的步骤包括:响应于先前层的输出是可转发的,基于先前层的分区策略、所述层的分区策略和先前层的区块划分策略来生成区块;并且响应于先前层的输出是不可转发的,通过将所述层的输入特征图的大小与所述层的权重的大小进行比较来生成区块。8.根据权利要求1至权利要求7中的任意一项所述的方法,其中,生成分区的步骤包括:在数据的高度方向或宽度方向上划分数据。9.根据权利要求1所述的方法,其中,调度的步骤包括:基于区块的操作结果是否在核之间被共享来改变区块的操作次序。10.根据权利要求9所述的方法,其中,基于区块的操作结果是否在核之间被共享来改变区块的操作次序的步骤包括:响应于一个区块的操作结果在被分配所述一个区块的核与...

【专利技术属性】
技术研发人员:郑韩雄宋准镐李承远
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:

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

1