1.本发明涉及计算机体系结构和存储技术领域,尤其涉及一种面向自供能系统的存算一体架构及软件优化方法。
背景技术:
2.深度学习在自然语言处理、计算机视觉和语音识别等各种智能应用中表现出了卓越的性能。将深度学习应用于边缘端嵌入式设备,可以使这类设备更加智能化并解决更加广泛的问题。深度学习算法对内存容量和计算能力的高需求使得复杂的神经网络算法不适合部署到资源有限的设备。并且基于传统的冯诺依曼架构的设备,由于cpu处理速度和存储器访问速度相差较大造成“存储墙问题”和大量的数据迁移和存储介质功耗的泄露导致“功耗墙问题”,这类问题进一步限制了的将深度学习应用于边缘端设备的可能。
3.另外,随着能量采集技术的发展,设备通过采集周围环境的能量(如太阳能、风能、射频能量以及人体的热能、动能等)供自身使用而不需要电池,采用自供能系统供电具有绿色经济、无需更换/维护电池充电等优势,这一技术给可穿戴设备、体表和体内医疗监测等设备带来了巨大的机遇。但是采集的环境能量具有不稳定的特征,如何利用不稳定的能量也存在着巨大挑战。
4.在边缘端设备部署神经网络算法时,过去是将大量数据无线传输到性能较高的计算机进行处理,但是传输数据比存储或计算需要更多的能量,并且传输数据存在一定的延时,因此这种方式不适用于功率、能量和带宽受限的设备。自供能应用场景中边缘端设备本地智能化处理面临较大的挑战。
技术实现要素:
5.本发明的一个目的是解决至少上述问题,并提供至少后面将说明的优点。
6.本发明还有一个目的是提供存算一体处理架构及软件优化方法,实现了让边缘设备依靠基于stt
‑
mram的加速器模块保证二值神经网络的高效运行,从而有效地避免了现有做法中边缘端设备将大量数据无线传输到性能较高的服务器进行处理而导致的数据传输开销大的问题。
7.为实现上述目的和一些其他的目的,本发明采用如下技术方案:
8.一种存算一体处理架构,包括:
9.能量采集和管理模块、cpu模块和存算一体模块,所述能量采集和管理模块的输出端与cpu模块和存算一体模块的输入端电性连接,所述cpu模块与存算一体模块双向电性连接。
10.stt
‑
mram,其设置在所述存算一体模块的内部。
11.优选的是,所述能量采集和管理模块的内部设置有能量采集器、能量管理单元,所述能量管理单元包括储能电容和dc/dc转换器,且储能电容的输出端与dc/dc转换器的输入端连接,所述能量采集器的输出端与能量管理单元的输入端电性连接。
12.优选的是,所述能量采集器包括光伏太阳能板、风力发电模组、无线射频充电模块、动能发电模块和热能发电模组,且光伏太阳能板、风力发电模组、无线射频充电模块、动能发电模块和热能发电模组的输出端均与能量管理单元的输入端电性连接。
13.优选的是,所述stt
‑
mram阵列交叉分布于存算一体模块的内部,且每个所述stt
‑
mram的内部均设置有1t1mtj单元。
14.优选的是,所述的存算一体处理架构的应用,包括以下步骤:
15.步骤一:基于stt
‑
mram设计一种面向自供能场景的可重构存内处理架构使其支持二值神经网络的高效运行;
16.步骤二:利用二值卷积计算可由不同逻辑组合实现,将二值神经网络卷积计算映射到硬件平台;
17.步骤三:通过自适应软件优化方法以适应能量的波动以尽可能利用能量。
18.优选的是,所述步骤二中,二值神经网络与硬件平台的映射方式,包括以下步骤:
19.步骤一:根据硬件架构的可重构性,将二值神经网络的乘加操作采用xor、xnor和与或非组合逻辑完成;
20.步骤二:得出二值神经网络计算映射到硬件架构的不同映射方式;
21.步骤三:根据所采用的映射方式对应了不同的系统功耗,为自适应软件优化方法的离线建模提供依据。
22.优选的是,所述的存算一体处理架构的软件优化方法,包括以下两部分:
23.离线建模部分:离线分析各种逻辑组合完成二值卷积计算的功耗和延迟,根据分析结果和能级得出决策表,其离线建模部分得出离线决策表包括每种能级对应一种最佳的执行逻辑组合、功耗和延迟,以供在线模拟的能量的波动提供执行决策;
24.在线模拟部分:获取离线决策表和能量踪迹表作为在线模拟的输入,能量踪迹表作为模拟不稳定的自供能场景,离线决策表作为适应能量变化的依据,模拟面向自供能系统中二值神经网络存内处理架构的执行过程。
25.优选的是,所述离线建模部分中,离线决策表的确立包括以下步骤:
26.步骤一:获取能量踪迹,根据能量踪迹的特征划分能量等级,确定能级间隔和能级的数量;
27.步骤二:根据上述得出的功耗和延迟和划分的能量等级,得出不同能级所适应的逻辑组合,进而得出离线决策表,确立该离线决策表为在线模拟提供输入。
28.优选的是,所述在线模拟部分中,逻辑组合的判断方法包括以下步骤:
29.步骤一:首先遍历能量踪迹表,判断当前能量的能级,根据离线决策表选择合适的逻辑组合执行二值神经网络卷积计算,以适应自供能场景的能量波动问题;
30.步骤二:能量水平较低,选择逻辑组合功耗较低的方案执行,保证能量较低时不浪费能量;能量水平较高,可以选择逻辑组合延迟较低的方案执行;能量更高时,还可选择并行执行,保证尽可能的利用能量;
31.步骤三:踪迹表遍历完成,计算得出所采用的架构的能效和吞吐率。
32.本发明至少包括以下有益效果:
33.1、本发明通过设置能量采集和管理模块、cpu模块和存算一体模块,存算一体模块内部通过阵列交叉式分布有stt
‑
mram,且阵列中的stt
‑
mram内均设有1t1mtj单元,每个
1t1mtj单元均支持与、或、非和异或逻辑,利用多个1t1mtj单元可以实现不同的逻辑,使其可重构性为适用能量波动提供硬件支持,从而辅助cpu处理数据的作用,可在本地与边缘端设备直连,所需能耗低,所提供的存内处理架构和自适应软件优化方法,可以使二值神经网络在该架构高效运行,采用非易失的stt
‑
mram保证了设备断电,数据不会丢失,并可以适应能量的波动问题,充分的利用能量,进而使得自供能嵌入式设备能够在边缘端本地高效地完成智能推理程序,不再依靠云端,减少网络传输的压力,避免现有的边缘端设备主要将大量数据无线传输到性能较高的计算机进行处理,但是传输数据比存储或计算需要更多的能量,并且传输数据存在一定的延时的问题发生。
34.2、通过采用能量采集和管理模块给存算一体模块以及cpu供能,能量采集和管理模块包括能量采集器和能量管理单元,其中采集器包括光伏太阳能板、风力发电模组、无线射频充电模块、动能发电模块和热能发电模块,其能将风能、太阳能、射频能量、动能以及热能等转换为电能,供应给存算一体模块以及cpu模块使用,达到自供能的效果,节能环保,且避免了繁琐的电池维修工序,整套系统应用广泛,能够满足智能手环、穿戴式装置、野生动物检测、探险用具等多种边缘端设备的使用需求。
附图说明
35.图1是本发明提供的一种存算一体处理架构结构示意图;
36.图2是本发明提供的二值神经网络卷积计算的过程图;
37.图3是本发明提供的stt
‑
mram阵列中1t1mtj单元的存储原理图;
38.图4是本发明提供的一种加速二值神经网络的存内计算阵列实现逻辑操作的原理图;
39.图5是本发明提供的三种二值卷积神经网络计算映射方式图;
40.图6是本发明提供的一种环境能量采样踪迹示例图;
41.图7是本发明提供的第一层卷积操作的离线决策表图。
具体实施方式
42.下面结合附图对本发明做详细说明,以令本领域普通技术人员参阅本说明书后能够据以实施。
43.如图1
‑
7所示,一种存算一体处理架构,包括:能量采集和管理模块1、cpu模块2和存算一体模块3,所述能量采集和管理模块1的输出端与cpu模块2和存算一体模块3的输入端电性连接,所述cpu模块2与存算一体模块3双向电性连接;stt
‑
mram阵列12,其设置在所述存算一体模块3的内部。
44.在上述方案中,能量采集和管理模块中的采集器为光伏太阳能板、风力发电模组、无线射频充电模块、动能发电模块和热能发电模块,在应用于边缘端设备时,可以将环境能量转换为电能,并存储至能量管理单元的储能电容,由dc/dc转换器转换后供应给cpu模块和存算一体模块,从而达到自供能的效果,采用该套自供能系统供电,具有绿色经济、无需更换以及维护电池充电的优点,在该套架构中,cpu模块作为主要的通用控制模块,在存储方面采用存算一体模块,其为一种基于stt
‑
mram的可重构二值神经网络加速器模块,与cpu模块双向电性连接,stt
‑
mram呈阵列交叉分布于加速器模块的内部,且每个stt
‑
mram内均
设有1t1mtj单元,该阵列的每个1t1mtj的单元支持与、或、非和异或逻辑,利用多个1t1mtj单元可以实现不同的逻辑,使其可重构性为适用能量波动提供硬件支持,从而达到替代计算机处理数据的作用,可在本地与边缘端设备直连,所需能耗低,且不存在网络传输的延时情况。
45.一个优选方案中,所述能量采集和管理模块1的内部设置有能量采集器4、能量管理单元,所述能量管理单元包括储能电容10和dc/dc转换器11,且储能电容10的输出端与dc/dc转换器11的输入端连接,所述能量采集器4的输出端与能量管理单元的输入端电性连接。
46.在上述方案中,能量采集器能够将获取的电能输送至能量管理单元,存储至储能电能,并在dc/dc转换器的转换作用下供应cpu模块和存算一体模块的用电需求,采用自供能系统,节能环保,且避免了繁琐的电池维修工序,降压
‑
升压型dc/dc转换器的型号为ltc3129,其设置数量取决于需要控制多少种环境能源进行转化,以确保供电时的稳定性,该器件具有一个准确的run引脚门限和一种最大功率点控制功能,前者用于提供稳压连通作用,后者可确保能量采集器吸取最大的功率。
47.一个优选方案中,所述能量采集器4包括光伏太阳能板5、风力发电模组6、无线射频充电模块7、动能发电模块8和热能发电模组9,且光伏太阳能板5、风力发电模组6、无线射频充电模块7、动能发电模块8和热能发电模组9的输出端均与能量管理单元的输入端电性连接。
48.在上述方案中,能量采集和管理模块为环境能源转化设备,其能将风能、太阳能、射频能量、动能以及热能等转换为电能,供应给存算一体模块以及cpu模块使用。
49.一个优选方案中,所述stt
‑
mram阵列12分布于存算一体模块3的内部,且每个所述stt
‑
mram阵列12的内部均设置有1t1mtj单元。
50.在上述方案中,该阵列的每个1t1mtj的单元支持与、或、非和异或逻辑,利用多个1t1mtj单元可以实现不同的逻辑,使其可重构性为适用能量波动提供硬件支持,实现数据处理,以替代计算机与边缘端设备直连。
51.一个优选方案中,所述存算一体处理架构的应用,包括以下步骤:
52.步骤一:基于stt
‑
mram设计一种面向自供能场景的可重构存内处理架构使其支持二值神经网络的高效运行;
53.步骤二:利用二值卷积计算可由不同逻辑组合实现,将二值神经网络卷积计算映射到硬件平台;
54.步骤三:通过自适应软件优化方法以适应能量的波动以尽可能利用能量。
55.在上述方案中,首先采用内存计算架构实现高效的二值神经网络计算,针对加速器模块,采用基于自旋转移矩
‑
磁性随机存储器stt
‑
mram的存内处理平台,如图4所示,该平台实现与、或、非和异或逻辑的原理,每一个1t1mtj单元可以执行一个单独的逻辑操作,其中包括与、或、非和异或逻辑,通过控制信号c,可以实现不同逻辑之间的转换,该硬件平台的stt
‑
mram阵列架构由多个1t1mtj单元构成,该阵列具有可重构性,可以通过配置该阵列,将多个1t1mtj单元组合实现更复杂的逻辑操作。
56.一个优选方案中,所述步骤二中,二值神经网络与硬件平台的映射方式,包括以下步骤:
57.步骤一:根据硬件架构的可重构性,将二值神经网络的乘加操作采用xor、xnor和与或非组合逻辑完成;
58.步骤二:得出二值神经网络计算映射到硬件架构的不同映射方式;
59.步骤三:根据所采用的映射方式对应了不同的系统功耗,为自适应软件优化方法的离线建模提供依据。
60.在上述方案中,由于二值神经网络的卷积计算可以由异或实现,所采用的加速器模块每个1t1mtj单元支持异或、与、或和非逻辑,因此二值神经网络的卷积计算的映射方式有多种映射方式,如图5所示,实现了三种映射方式,第一种直接将计算映射到第一列,该列每个单元都支持异或逻辑;第二种将异或由与或非实现,第2列到第6列为实现异或逻辑的组合逻辑;第三种是将异或由或非实现,第n
‑
7列到第n列为实现异或逻辑的组合逻辑。
61.一个优选方案中,所述存算一体处理架构的软件优化方法,包括以下两部分:
62.离线建模部分:离线分析各种逻辑组合完成二值卷积计算的功耗和延迟,根据分析结果和能级得出决策表,其离线建模部分得出离线决策表包括每种能级对应一种最佳的执行逻辑组合、功耗和延迟,以供在线模拟的能量的波动提供执行决策;
63.在线模拟部分:获取离线决策表和能量踪迹表作为在线模拟的输入,能量踪迹表作为模拟不稳定的自供能场景,离线决策表作为适应能量变化的依据,模拟面向自供能系统中二值神经网络存内处理架构的执行过程。
64.在上述方案中,离线建模部分首先需要获取stt
‑
mram阵列中1t1mtj单元执行各种逻辑操作所需功率和完成该逻辑操作的延迟,所采用stt
‑
mram阵列中1t1mtj单元执行异或逻辑、与逻辑、或逻辑和非逻辑所需功率为分别为p
xor
、p
and
、p
or
和p
not
;完成异或逻辑、与逻辑、或逻辑和非逻辑的延迟分别为t
xor
、t
and
、t
or
和t
not
,其次,选择采用的环境能量并划分能级,如图6所示采用的环境能量为家庭wifi信号,根据执行逻辑操作所需功率、完成该逻辑的延迟和所采用的能量的能级划分,离线分析各种异或组合逻辑所需功率和延迟,设计一个离线决策表;在线模拟部分则通过离线建模生成的决策表,如图7所示,利用四个能量采样周期来说明在线模拟过程,四个能量采样功率分别为:50μw、820μw、360μw和550μw。
65.一个优选方案中,所述离线建模部分中,离线决策表的确立包括以下步骤:
66.步骤一:获取能量踪迹,根据能量踪迹的特征划分能量等级,确定能级间隔和能级的数量;
67.步骤二:根据上述得出的功耗和延迟和划分的能量等级,得出不同能级所适应的逻辑组合,进而得出离线决策表,确立该离线决策表为在线模拟提供输入。
68.在上述方案中,离线建模采用的神经网络为两层的卷积神经网络:lenet网络,该网络为一个两层网络,第一层卷积核为6x5x5x1,第二层卷积核为16x5x5x6,将lenet网络二值化后,第一层计算一次卷积计算需要执行150次异或操作,第二层计算一次卷积计算需要执行2400次异或操作,根据图7可知家庭wifi信号环境能量的采样踪迹图,采集的功率范围为0
‑
1000μw,并将该能量划分为4个能级,能级1为0
‑
200μw,能级2为200
‑
400μw,能级3为400
‑
600μw,能级4为大于600μw,根据二值神经网络与硬件平台的三种逻辑映射方式,采用第一种逻辑执行第一层卷积需要功率为150p
xor
,完成计算延迟为t
xor
,第二层卷积计算需要功率为2400p
xor
,完成计算延迟为t
xor
;采用第二种逻辑执行第一层卷积需要的最大功率为150p
and
,完成计算延迟为t
and
,第二层卷积计算需要功率为2400p
and
,完成计算延迟为t
and
;采
用第三种逻辑执行第一层卷积需要的最大功率为150p
or
,完成计算延迟为t
or
,第二层卷积计算需要功率为2400p
or
,完成计算延迟为t
or
。
69.一个优选方案中,所述在线模拟部分中,逻辑组合的判断方法包括以下步骤:
70.步骤一:首先遍历能量踪迹表,判断当前能量的能级,根据离线决策表选择合适的逻辑组合执行二值神经网络卷积计算,以适应自供能场景的能量波动问题;
71.步骤二:能量水平较低,选择逻辑组合功耗较低的方案执行,保证能量较低时不浪费能量;能量水平较高,可以选择逻辑组合延迟较低的方案执行;能量更高时,还可选择并行执行,保证尽可能的利用能量;
72.步骤三:踪迹表遍历完成,计算得出所采用的架构的能效和吞吐率。
73.在上述方案中,当进入第一个能量采样周期,首先获取上一次的完成了哪一层的卷积操作,然后获取采样功率为50μw,判断能级属于能级1,然后根据决策表,该能级不能连续执行,进行备份数据;当进入第二个能量采样周期,首先获取上一次的完成了哪一层的卷积操作,判断应该执行第一层卷积操作,然后获取采样功率为820μw,判断能级属于能级4,然后根据第一层卷积操作的决策表,该能级可以连续执行,选择对应的逻辑执行lenet网络的第一层卷积操作,当执行完第一层卷积操作后的时间未超过采样周期时,根据第二层卷积操作的决策表和该能级对应的组合逻辑执行第二层卷积操作,重复该过程,直到进入下一个采样周期;当进入第三个能量采样周期,首先获取上一次的完成了哪一层的卷积操作,判断应该执行第二层卷积操作,然后获取采样功率为360μw,判断能级属于能级2,然后根据第二层卷积操作的决策表,该能级可以连续执行,选择对应的逻辑执行lenet网络的第二层卷积操作,当执行完第二层卷积操作后的时间未超过采样周期时,根据第一层卷积操作的决策表和该能级对应的组合逻辑执行第一层卷积操作,重复该过程,直到进入下一个采样周期;当进入第四个能量采样周期,首先获取上一次的完成了哪一层的卷积操作,判断应该执行第一层卷积操作,然后获取采样功率为550μw,判断能级属于能级3,然后根据第一层卷积操作的决策表,该能级可以连续执行,选择对应的逻辑执行lenet网络的第一层卷积操作,当执行完第一层卷积操作后的时间未超过采样周期时,根据第二层卷积操作的决策表和该能级对应的组合逻辑执行第二层卷积操作,重复该过程,直到进入下一个采样周期。
74.尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里所示出与描述的图例。
转载请注明原文地址:https://doc.8miu.com/read-1550272.html