【技术实现步骤摘要】
面向异构双核MCU的算子内并行加速方法
[0001]本专利技术涉及神经网络应用领域,尤其涉及一种面向异构双核MCU的算子内并行加速方法。
技术介绍
[0002]AIoT(人工智能物联网)的快速发展使得深度学习成为其关键技术之一。深度学习通过神经网络模型的训练和推理,能够处理和分析大量的传感器数据,从而实现智能化的决策和应用。在AIoT领域,典型的应用包括机械振动监测以预测故障、视觉任务的检测与识别、自动驾驶系统、智能家居和工业自动化等。
[0003]过去,这些AIoT应用通常依赖于丰富的云端或雾端计算资源来满足实时响应的需求。数据从边缘设备上传到云端进行处理和分析,然后再将结果返回给设备。然而,云端或雾端推理引入的延迟、能源和通信访问开销使得这种方式变得不切实际。特别是随着AIoT应用的迅速增长,这种方式的成本越来越高并且无法满足实时性的要求。因此,将深度学习推理引入到边缘设备成为一种趋势,这可以通过在嵌入式设备上进行模型推理来实现。
[0004]异构双核MCU的出现为在MCU设备上进行深度学习模型推理提供了可能。异构双核MCU结合了高性能和低功耗的特点,具备了在资源有限的边缘设备上进行深度学习推理的能力。利用低成本、低功耗和高性能的异构双核MCU,可以实现在边缘设备上进行深度学习推理,从而满足实时性和隐私性等要求。
[0005]然而,现有的深度学习推理框架(如TF
‑
Lite Micro、μTensor和CMSIS
‑
NN)在模型推理方面采用了核友好的优化 ...
【技术保护点】
【技术特征摘要】
1.一种面向异构双核MCU的算子内并行加速方法,其特征在于,包括以下步骤:步骤一:通过深度学习模型的计算图构建有向无环图G;步骤二:统计所述有向无环图G中的算子信息,包括算子类型、算子的输入输出信息和算子的超参数信息;步骤三:基于步骤二得到的算子信息,为每类算子构建相应的算子时延模型,以此预测算子在不同工作负载下的推理时间;步骤四:基于步骤三得到的算子时延模型,为深度学习模型的每个算子选择一种最优的划分策略,即划分维度和划分比例;步骤五:基于步骤四得到的算子划分策略,在编译器编译深度学习模型生成相应代码的过程中嵌入步骤四得到的划分策略,以此加速神经网络模型的推理。2.根据权利要求1所述的面向异构双核MCU的算子内并行加速方法,其特征在于,所述步骤二包括如下子步骤:统计深度学习模型内算子的输入输出信息和超参数;所述输入输出信息包括输入的高IH、输入的宽IW、输入通道数IC、输出的高OH、输出的宽OW、输出的通道数OC;所述超参数包括卷积算子的卷积核大小(KH
SC
,KW
SC
)、卷积步长(SH
SC
,SW
SC
)、卷积填充(PH
SC
,PW
SC
)、卷积膨胀率和池化层的窗口大小(KH
POOL
,KW
POOL
)、池化层步长(SH
POOL
,SW
POOL
)、池化层填充(PH
POOL
,PW
POOL
)。3.根据权利要求1所述的面向异构双核MCU的算子内并行加速方法,其特征在于,所述步骤三中,首先为每个算子构建单核时延模型,然后基于每个算子的单核时延模型构建异构双核算子时延模型;所述异构双核算子时延模型和单核时延模型的关系为:;其中,T
mult
表示异构双核的时延,T
i
表示在给定划分维度和划分比例下单个算子划分后的负载在对应核上推理时延。4.根据权利要求3所述的面向异构双核MCU的算子内并行加速方法,其特征在于,所述单核时延模型包括标准卷积算子的单核时延模型、全连接算子的单核时延模型、深度卷积算子的单核时延模型、最大池化算子的单核时延模型、平均池化算子的单核时延模型、算数加算子的单核时延模型、布局转换算子的单核时延模型。5.根据权利要求4所述的面向异构双核MCU的算子内并行加速方法,其特征在于,所述标准卷积算子的单核时延模型为:;M=OH
×
OWK=KH
×
KW
×
ICN=OCMK=M
×
KKN=K
×
NMN=M
×
N
MKN=M
×
K
×
N其中,SC表示标准卷积算子;T
SC
表示标准卷积算子的推理时延;表示标准卷积算子的相关系数,这些相关系数通过数据集线性拟合所得。6.根据权利要求4所述的面向异构双核MCU的算子内并行加速方法,其特征在于,所述全连接算子的单...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。