计算处理设备和计算机可读记录介质制造技术

技术编号:25088161 阅读:23 留言:0更新日期:2020-07-31 23:32
本申请涉及一种计算处理设备和计算机可读记录介质。其中,计算处理设备包括:第一输出单元,其用于将输入值与边界值进行比较,并在输入值超过边界值时输出等于输入值的值;以及第二输出单元,其用于在通过其使得当输入值小于或等于边界值的情况下输出特定的输出值的修正线性函数的计算中,当输入值小于或等于边界值时,输出小值ε的倍数作为输出值,其中小值ε大于0。

【技术实现步骤摘要】
计算处理设备和计算机可读记录介质
本文讨论的实施方式涉及计算处理设备、计算机可读记录介质以及控制该计算处理设备的方法。
技术介绍
在高速执行深度学习(DL)的处理器时,安装了许多计算单元以执行并行的计算。由于所有计算单元在并行的计算中执行相同的计算,因此许多计算单元的整体功率可能会根据数据内容和要执行的指令类型而突然变化。由于处理器在相同的电压条件下操作,因此电流随着功率的增加而增加。通常,直流(DC)至DC转换器的电流随着电流的增加而增加。然而,当变化突然发生时,DC至DC转换器不是必然地随着电流的增加而增加。这可能会导致电压下降。当提供给处理器的电压下降时,半导体的开关速度降低,并且定时约束不是必然地满足。这可能导致处理器故障。例如,相关技术公开于国际公布小册子第WO2017/038104号和日本公开特许公报第11-224246号中。尽管可以通过将连续电压设置为较高值来解决由于电压下降引起的处理器的故障,但是存在以下问题:设置较高的连续电压可能会增加功耗。在一方面,期望在不增加功耗的情况下抑制处理器的电压下降。
技术实现思路
根据实施方式的一个方面,一种计算处理设备包括:第一输出单元,其用于将输入值与边界值进行比较,并在输入值超过边界值时输出等于输入值的值;以及第二输出单元,其用于在通过其使得当输入值小于或等于边界值的情况下输出特定的输出值的修正线性函数的计算中,当输入值小于或等于边界值时,输出小值ε的倍数作为输出值,其中小值ε大于0。附图说明图1示出了相关示例的神经元建模;图2示出了相关示例中根据指令类型的功率变化的第一示例;图3示出了相关示例中根据指令类型的功率变化的第二示例;图4示出了相关示例中根据指令类型的功率变化的第三示例;图5示出了相关示例中根据指令类型的功率变化的第三示例;图6示出实施方式的示例中的第一修正线性单元(ReLU)操作处理;图7示出了实施方式的示例中的ReLU的第一正向传播处理和第一反向传播处理;图8示出了实施方式的示例中的第二ReLU操作处理;图9示出了实施方式的示例中的ReLU的第二正向传播处理和第二反向传播处理;图10示出了实施方式的示例中的第三ReLU操作处理;图11示出了实施方式的示例中的ReLU的第三正向传播处理和第三反向传播处理;图12是示意地示出实施方式的示例中的乘法单元的配置的示例的框图;图13是示意性地示出实施方式的示例中的计算处理系统的配置的示例的框图;图14是示出图13所示的计算处理系统中的深度学习(DL)处理的框图;图15是示出图13所示的主机中的DL处理的流程图;图16是示意性地示出图13所示的主机中的硬件配置的示例的框图;图17是示意性地示出图13中示出的DL执行硬件的硬件配置的示例的框图;图18是示意性地示出图13中示出的主机的功能配置的示例的框图;图19是示出图13所示的主机中用于生成程序的处理的流程图;图20是示出图13所示的主机中用于生成正向传播程序和反向传播程序的处理的细节的流程图;图21是示出图13所示的主机中的第二ReLU操作的正向传播处理的细节的流程图;图22是示出图13所示的主机中的第二ReLU操作的反向传播处理的细节的流程图;图23是示出图13所示的主机中的第三ReLU操作的正向传播处理的细节的流程图;以及图24是示出图13所示的主机中的第三ReLU操作的反向传播处理的细节的流程图。具体实施方式在下文中,将参照附图描述实施方式。然而,下文描述的实施方式仅是示例性的,并且不意在排除在实施方式中未明确地描述的各种修改和技术应用。例如,在不脱离本实施方式的要旨的情况下,能够以各种修改来执行本实施方式。附图并非意在说明仅提供绘制出的元件,而是实施方式可包括其他功能等。在下文中,在附图中,类似部分用相同的附图标记表示,并省略其多余的描述。[A]相关示例图1示出了相关示例中的神经元建模。已经发现,将神经网络扩展到多层的深度神经网络适用于以现有方式难以解决的问题。深度神经网络有望应用于各个领域。如图1所示,大脑的神经元细胞(例如“神经元”)包括细胞体61、突触62、树突63和轴突64。通过对神经元细胞进行机械建模来生成神经网络。尽管深度神经网络学习处理中的计算很简单,诸如内积计算,但是在某些情况下却需要大量执行。因此,在高速执行这些计算的处理器中,许多计算单元并行地操作以提高性能。在执行深度神经网络的学习处理的计算单元中,取决于要执行的指令的类型或数据的内容,所有计算单元中的功率可能急剧变化。例如,整数加法指令(例如,“加法算术指令”)消耗的功率量比浮点乘加指令(例如,“融合乘加(FMA)算术指令”)消耗的功率量小。其原因是处理器中使用的资源取决于指令的类型不同而不同。尽管针对整数加法指令仅使用单个加法单元,但针对浮点乘加指令使用用于执行乘法的多个加法单元或具有较大位宽的加法单元。由于预先知道执行什么指令,所以能够解决取决于指令类型的功率变化。例如,当在浮点乘加指令为主的程序的区段的子集中执行整数加法指令时,交替执行整数加法指令和浮点乘加指令。因此,能够总体上抑制功率变化。图2示出了相关示例中根据指令类型的功率变化的第一示例。在图2所示的示例中,在已经执行了十(10)个FMA算术指令之后,执行十(10)个加法(ADD)算术指令。在这种指令序列中,当FMA算术指令被切换到加法算术指令时,发生功率的降低。图3示出了相关示例中根据指令类型的功率变化的第二示例。在图3所示的示例中,在已经执行了五(5)个FMA算术指令之后,交替执行加法算术指令和FMA算术指令。当如上所述以交错方式执行FMA算术指令和加法算术指令时,能够抑制功率的突然减小。即使当执行相同的浮点乘加指令时,作为数据内容的0的连续输入降低了功率。在许多情况下,输入数据以特定的比率变为0或1。然而,当连续输入相同值时,逻辑元件的状态固定,并且功率降低。例如,在乘法中,与0值相乘,针对输入到另一操作数的任何值,将返回相同的结果0。因此,存在切换次数减少的强烈趋势。由于预先不清楚输入什么类型的数据,因此不容易根据数据的内容来解决功率变化。图4和图5示出了相关示例中根据指令类型的功率变化的第三示例。如图4中的附图标记A1所示,从第40个(在所示示例中为“%fr40”)标志寄存器至第45个(在所示示例中为“%fr45”)标志寄存器存储0作为指令序列。如图5所示,当执行使用0的计算时,在该时段中功率减小。如上所述,根据指令的类型或根据指令读取的数据,引起处理器的功率变化。例如,整数加法指令的功耗低,而浮点乘加指令的功耗高。此外,输入0时,同一浮点乘加指令的功耗降低。由于当编写程序时要执行的指令是已知本文档来自技高网...

【技术保护点】
1.一种计算处理设备,包括:/n第一输出单元,其用于将输入值与边界值进行比较,并在所述输入值超过所述边界值时输出等于所述输入值的值;以及/n第二输出单元,其用于在通过其使得当输入值小于或等于所述边界值的情况下输出特定的输出值的修正线性函数的计算中,当所述输入值小于或等于所述边界值时,输出小值ε的倍数作为输出值,其中所述小值ε大于0。/n

【技术特征摘要】
20190123 JP 2019-0093951.一种计算处理设备,包括:
第一输出单元,其用于将输入值与边界值进行比较,并在所述输入值超过所述边界值时输出等于所述输入值的值;以及
第二输出单元,其用于在通过其使得当输入值小于或等于所述边界值的情况下输出特定的输出值的修正线性函数的计算中,当所述输入值小于或等于所述边界值时,输出小值ε的倍数作为输出值,其中所述小值ε大于0。


2.根据权利要求1所述的计算处理设备,其中,
所述第二输出单元输出所述输入值和所述小值ε的乘积作为所述输出值。


3.根据权利要求1所述的计算处理设备,其中,
所述第二输出单元通过将所述输入值作为乘数并将所述小值ε作为被乘数输入至乘法单元来输出所述输出值。


4.根据权利要求1所述的计算处理设备,其中,
所述第二输出单元输出-ε、0或+ε作为关于所述小值ε的输出值。


5.一种其中存储有用于使计算机执行处理的程序的计算机可读记录介质,所述处理包括:
将输入值与边界值进行比较,并且当所述输入值超过所述边界值时,输出等于所述输入值的值;以及
在通过其使得当所述输入值小于或等于所述边界值的情况下输出特定的输出值的修正线性函数的计算中,当所述输入值小于或等于所述边界...

【专利技术属性】
技术研发人员:野津隆弘
申请(专利权)人:富士通株式会社
类型:发明
国别省市:日本;JP

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

1