【技术实现步骤摘要】
用于深度学习的方法和设备
[0001]本申请要求于2020年7月31日提交到韩国知识产权局的第10
‑
2020
‑
0096333号韩国专利申请的权益,所述韩国专利申请的全部公开通过引用出于所有目的包含于此。
[0002]下面的描述涉及一种用于深度学习的方法和设备。
技术介绍
[0003]许多人工智能应用通过服务器与客户端之间的网络连接提供复杂但响应缓慢的服务。一个示例原因是因为人工神经网络(一种深度学习的算法)通常需要比通用处理器(AP)的非AI运算多1000倍或更多的计算运算。
技术实现思路
[0004]提供本
技术实现思路
以便以简化的形式介绍将在下面的具体实施方式中进一步描述的构思的选择。本
技术实现思路
不意在确定要求权利的主题的关键特征或必要特征,也不意在用于帮助确定要求权利的主题的范围。
[0005]在一个总体方面,一种深度学习设备,所述设备包括:处理器,被配置为:支持多种不同的操作模式,所述处理器包括:脉动阵列,包括多个乘法器累加器(ACC)单元;以及控制电路,被配置为:针对所述多种不同的操作模式中的每种操作模式,分别控制所述多个MAC单元的选择操作以及所述多个MAC单元之间的数据移动。
[0006]控制电路可被配置为:根据所述多种不同的操作模式中的哪种操作模式正被控制电路实现,来控制所述多个MAC单元中的多个MAC单元的累加器的操作。
[0007]所述多种不同的操作模式可包括:加法器树模式、单指令多数据(SIMD)模式、脉动加 ...
【技术保护点】
【技术特征摘要】
1.一种用于深度学习的设备,所述设备包括:处理器,被配置为:支持多种不同的操作模式,所述处理器包括:脉动阵列,包括多个乘法器累加器单元;以及控制电路,被配置为:针对所述多种不同的操作模式中的每种操作模式,分别控制所述多个乘法器累加器MAC单元的操作以及所述多个MAC单元之间的数据移动。2.根据权利要求1所述的设备,其中,控制电路被配置为:根据所述多种不同的操作模式中的哪种操作模式正被控制电路实现,控制所述多个MAC单元中的至少两个MAC单元的累加器的操作。3.根据权利要求1所述的设备,其中,所述多种不同的操作模式包括:加法器树模式、单指令多数据模式、脉动加法器树模式和脉动模式中的两个或更多个的任何组合。4.根据权利要求3所述的设备,其中,处理器被配置为:在单指令多数据模式下执行深度卷积运算。5.根据权利要求1所述的设备,其中,所述多种不同的操作模式包括:加法器树模式和脉动加法器树模式中的至少一种,并且控制电路被配置为:响应于加法器树模式或脉动加法器树模式被控制电路实现,对所述多个MAC单元中的一系列MAC单元中的仅一个MAC单元的累加器进行操作。6.根据权利要求5所述的设备,其中,所述多种不同的操作模式还包括:单指令多数据模式和脉动模式中的至少一种,并且控制电路被配置为:响应于单指令多数据模式或脉动模式被控制电路实现,控制所述一个MAC单元中的一个加法器进行操作,并且控制所述一个MAC单元中的其他加法器不进行操作。7.根据权利要求6所述的设备,其中,所述一系列MAC单元中的至少一个MAC单元的加法器被配置为:响应于加法器树模式或脉动加法器树模式被控制电路实现,考虑与所述至少一个MAC单元相邻的MAC单元的加法器输出。8.根据权利要求5所述的设备,其中,所述一系列MAC单元中的除了所述一个MAC单元之外的MAC单元均仅具有一个加法器,并且所述一个MAC单元包括多个加法器。9.根据权利要求1所述的设备,其中,所述多种不同的操作模式包括:单指令多数据模式和脉动模式中的至少一种,并且控制电路被配置为:响应于单指令多数据模式或脉动模式被控制电路实现,控制所述多个MAC单元中的一系列MAC单元中的一个MAC单元的一个加法器操作,控制所述一个MAC单元的其他加法器不操作,并且控制所述一系列MAC单元中的其他MAC单元的所有各自的加法器进行操作。10.根据权利要求9所述的设备,其中,所述多种不同的操作模式还包括另一模式,并且所述一个MAC单元中的加法器被配置为:响应于所述另一模式被控制电路实现,对所述一系列MAC单元中的与所述一个MAC单元相邻的MAC单元的加法器输出进行操作并考虑所述一系列MAC单元中的与所述一个MAC单元相邻的MAC单元的加法器输出。11.根据权利要求1所述的设备,其中,所述多种不同的操作模式包括:单指令多数据模式和脉动模式中的至少一种,控制电路被配置为:响应于单指令多数据模式或脉动模式被控制电路实现,对全部所述多个MAC单元的累加器进行操作。12.根据权利要求1所述的设备,其中,所述多种不同的操作模式包括:加法器树模式和脉动加法器树模式中的至少一种,并且
控制电路被配置为:响应于加法器树模式或脉动加法器树模式被控制电路实现,针对多个相邻的MAC单元中的每个,控制运算结果从一个MAC单元到与所述一个MAC单元相邻的MAC单元的数据移动。13.根据权利要求12所述的设备,其中,数据移动在从各个边缘MAC单元朝向所述边缘MAC单元的向内的MAC单元的两个方向上发生,其中,所述向内的MAC单元被配置为:考虑来自所述两个方向的各个运算结果。14.根据权利要求12所述的设备,其中,所述多种不同的操作模式还包括另一模式,并且控制电路被配置为:响应于所述另一模式被控制电路实现而不执行数据移动。15.根据权利要求1所述的设备,其中,脉动阵列被配置为:将所述多个MAC单元布置在与一个或多个行和一个或多个列对应的位置。16.根据权利要求15所述的设备,其中,所述多种不同的操作模式包括:脉动模式和脉动加法器树模式中的至少一种,并且控制电路被配置为:响应于脉动模式或脉动加法器树模式被控制电路实现,控制所述多个MAC单元之间的数据移动,以针对脉动阵列的一个或多个行中的每一行将输入数据从所述行中的第一MAC单元分别发送到所述行中的与第一MAC单元相邻的第二MAC单元,和/或针对脉动阵列的一个或多个列中的每一列将其他输入数据从所述列中的第三MAC单元分别发送到所述列中的与第三MAC单元相邻的第四MAC单元。17.根据权利要求1所述的设备,其中,控制电路包括:复用器,设置在所述多个MAC单元中的至少一个MAC单元中,其中,复用器被配置为:确定所述至少一个MAC单元的加法器的输入。18.根据权利要求1所述的设备,其中,控制电路包括:加法器树电路,被配置为接收所述多个MAC单元的乘法器的相应的输出。19.根据权利要求18所述的设备,其中,加法器树电路包括:触发器,被插入在加法器树电路的加法器之间。20.根据权利要求1所述的设备,其中,所述多个MAC单元中的每个MAC单元被配置在布置在脉动阵列中的相应的处理元件中,其中,脉动阵列的第一处理元件包括:控制电路的第一相应部分和第一MAC单元,第一MAC单元具有第一加法器、第一乘法器和第一累加器,脉动阵列的第二处理元件包括:控制电路的第二相应部分和第二MAC单元,第二MAC单元具有第二加法器、第二乘法器和第二累加器,脉动阵列的第三处理元件包括:控制电路的第三相应部分和第三MAC单元,第三MAC单元具有第三加法器、第三乘法器和第三累加器。21.根据权利要求20所述的设备,其中,所述多种不同的操作模式包括:加法器树模式、单指令多数据模式、脉动加法器树模式和脉动模式中的两个或更多个的任何组合,并且控制电路被配置为:根据通过提供给第一处理元件、第二处理元件和第三处理元件的模式信号指示所述多种不同的操作模式中的哪种操作模式,分别控制第一MAC单元、第二MAC单元和第三MAC单元的操作,并且控制第一相应部分、第二相应部分和第三相应部分来控制第一MAC单元、第二MAC单元和第三MAC单元的输入和/或输出的流水线化。22.根据权利要求21所述的设备,其中,
控制电路的第一相应部分包括:第一复用器,被配置为将第一累加器的输出和与第一处理元件相邻的处理元件的输出中的一个确定为第一加法器的输入,控制电路的第二相应部分包括:第二复用器,被配置为将预定值和第二乘法器的输出中的一个确定为第二加法器的输入,并且控制电路的第三相应部分包括:第三复用器,被配置为:将第三加法器的输出和第三加法器的输出与同第三处理元件相邻的处理元件的输出之和中的一个确定为第三累加器的输入。23.一种用于深度学习的装置,包括:多个处理元件的阵列,其中,所述多个处理元件包括以下中的一个或多个:阵列的第一处理元件,第一处理元件包括第一复用器,第一复用器被配置为:将第一处理元件的累加器的输出和与第一处理元件相邻的处理元件的输出中的一个确定为第一处理元件的第一加法器的输入;阵列的第二处理元件,第二处理元件包括第二复用器,第二复用器被配置为:将预定值和第二处理元件的乘法器的输出中的一个确定为第二处理元件的第二加法器的输入;以及第三处理元件,第三处理元件包括第三复用器,第三复用器被配置为:将第三处理元件的第三加法器的输出和第三处理元件的第三加法器的输出与同第三处理元件相邻的处理元件的输出之和中的一个确定为第三处理元件的累加器的输入。24.根据权利要求23所述的装置,其中,所述装置包括:第一处理元件、第二处理元件和第三处理元件,第一处理元件包括第一复用器和第一乘法器累加器MAC单元,第一复用器作为所述装置的控制电路的第一部分,第一MAC单元具有第一处理元件的第一加法器、第一处理元件的乘法器和第一处理元件的累加器,第二处理元件包括第二复用器和第二MAC单元,第二复用器作为控制电路的第二部分,第二MAC单元具有第二处理元件的第二加法器、第二处理元件的乘法器和第二处理元件的累加器,第三处理元件包括第三复用器和第三MAC单元,第三复用器作为控制电路的第三部分,第三MAC...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。