本发明专利技术提供了一种基于TVM的并行卷积融合的方法和设备,包括以下步骤:后续遍历TVM中的网络模型的算子,并判断算子的类型;响应于第一个算子为预设第一算子,判断第一个算子的两个输入算子的类型;响应于两个输入算子都为预设第二算子,判断两个输入算子的对应输入算子的类型;响应于对应输入算子都为预设第三算子,判断两个对应输入算子的参数是否相同;响应于参数相同,判断两个对应输入算子是否为一个算子使用;响应于两个对应输入算子均为一个算子使用,将两个并行卷积合并成新算子并对新算子进行计算定义和调度定义。通过使用本发明专利技术的方案,能够减少计算量及内存拷贝时间,明显提升卷积计算速度,对于不同的形状可以达到1.4左右的加速比。
【技术实现步骤摘要】
一种基于TVM的并行卷积融合的方法和设备
本领域涉及计算机领域,并且更具体地涉及一种基于TVM的并行卷积融合的方法和设备。
技术介绍
随着人工智能技术的兴起,其在人脸识别,图像分类等领域有大规模应用,而计算速度急需提高,卷积作为其中最耗时的操作便成为其中的一个瓶颈,为了提升推理性能,需要通过算法更新等措施来提升速度。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提出一种基于TVM(人工智能模型编译器)的并行卷积融合的方法和设备,通过使用本专利技术的方法,能够减少计算量及内存拷贝时间,明显提升卷积计算速度,对于不同的形状可以达到1.4左右的加速比。基于上述目的,本专利技术的实施例的一个方面提供了一种基于TVM的并行卷积融合的方法,包括以下步骤:后续遍历TVM中的网络模型的算子,并判断算子的类型;响应于第一个算子为预设第一算子,判断第一个算子的两个输入算子的类型;响应于两个输入算子都为预设第二算子,判断两个输入算子的对应输入算子的类型;响应于两个输入算子的对应输入算子都为预设第三算子,判断两个对应输入算子的参数是否相同;响应于参数相同,判断两个对应输入算子是否为一个算子使用;响应于两个对应输入算子均为一个算子使用,将两个输入算子对应的两个并行卷积合并成新算子并在TVM中对新算子进行计算定义和调度定义。根据本专利技术的一个实施例,预设第一算子为add(加)算子,预设第二算子为bias(偏置)算子,预设第三算子为conv2d(二维卷积运算)算子。根据本专利技术的一个实施例,判断两个对应输入算子的参数是否相同包括:将两个对应输入算子的步长、填充、输入的NCHW(数量、通道、矩阵长、矩阵宽)和权重的OIHW(输出通道、输入通道、内核长、内核宽)进行比较;响应于两个对应输入算子的步长、填充、输入的NCHW和权重的OIHW完全相同,判断为两个对应输入算子的参数相同。根据本专利技术的一个实施例,新算子的两个权重参数为两个原卷积的权重weight1(卷积权重)和weight2,两个输入为两个原卷积的输入input1(输入数据)和input2,新算子的输出为两个卷积相加后的结果。根据本专利技术的一个实施例,后续遍历TVM中的网络模型的算子,并判断算子的类型包括:从网络模型的输出端向输入端递归遍历网络模型;查找网络模型中的所有算子并进行算子类型的判断。本专利技术的实施例的另一个方面,还提供了一种基于TVM的并行卷积融合的设备,设备包括:遍历模块,遍历模块配置为后续遍历TVM中的网络模型的算子,并判断算子的类型;第一判断模块,第一判断模块配置为响应于第一个算子为预设第一算子,判断第一个算子的两个输入算子的类型;第二判断模块,第二判断模块配置为响应于两个输入算子为都预设第二算子,判断两个输入算子的对应输入算子的类型;第三判断模块,第三判断模块配置为响应于两个输入算子的对应输入算子都为预设第三算子,判断两个对应输入算子的参数是否相同;第四判断模块,第四判断模块配置为响应于参数相同,判断两个对应输入算子是否为一个算子使用;合并模块,合并模块配置为响应于两个对应输入算子均为一个算子使用,将两个输入算子对应的两个并行卷积合并成新算子并在TVM中对新算子进行计算定义和调度定义。根据本专利技术的一个实施例,预设第一算子为add算子,预设第二算子为bias算子,预设第三算子为conv2d算子。根据本专利技术的一个实施例,第三判断模块还配置为:将两个对应输入算子的步长、填充、输入的NCHW和权重的OIHW进行比较;响应于两个对应输入算子的步长、填充、输入的NCHW和权重的OIHW完全相同,判断为两个对应输入算子的参数相同。根据本专利技术的一个实施例,新算子的两个权重参数为两个原卷积的权重weight1和weight2,两个输入为两个原卷积的输入input1和input2,新算子的输出为两个卷积相加后的结果。根据本专利技术的一个实施例,遍历模块还配置为:从网络模型的输出端向输入端递归遍历网络模型;查找网络模型中的所有算子并进行算子类型的判断。本专利技术具有以下有益技术效果:本专利技术实施例提供的基于TVM的并行卷积融合的方法,通过后续遍历TVM中的网络模型的算子,并判断算子的类型;响应于第一个算子为预设第一算子,判断第一个算子的两个输入算子的类型;响应于两个输入算子都为预设第二算子,判断两个输入算子的对应输入算子的类型;响应于两个输入算子的对应输入算子都为预设第三算子,判断两个对应输入算子的参数是否相同;响应于参数相同,判断两个对应输入算子是否为一个算子使用;响应于两个对应输入算子均为一个算子使用,将两个输入算子对应的两个并行卷积合并成新算子并在TVM中对新算子进行计算定义和调度定义的技术方案,能够减少计算量及内存拷贝时间,明显提升卷积计算速度,对于不同的形状可以达到1.4左右的加速比。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。图1为根据本专利技术一个实施例的基于TVM的并行卷积融合的方法的示意性流程图;图2为根据本专利技术一个实施例的基于TVM的并行卷积融合的设备的示意图;图3为根据本专利技术一个实施例的网络模型的示意图;图4为根据本专利技术一个实施例的合并后的新算子的示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。基于上述目的,本专利技术的实施例的第一个方面,提出了一种基于TVM的并行卷积融合的方法的一个实施例。图1示出的是该方法的示意性流程图。如图1中所示,该方法可以包括以下步骤:S1后续遍历TVM中的网络模型的算子,并判断算子的类型,从输出端向输入端遍历整个网络模型的算子,并判断每个算子的类型;S2响应于第一个算子为预设第一算子,判断第一个算子的两个输入算子的类型,如果第一个算子不是预设第一算子,则判断其他算子;S3响应于两个输入算子都为预设第二算子,判断两个输入算子的对应输入算子的类型,如果两个输入算子不是预设第二算子,则重复第一步骤判断其他算子类型;S4响应于两个输入算子的对应输入算子都为预设第三算子,判断两个对应输入算子的参数是否相同,如果对应输入算子不是预设第三算子,则重复第一步骤判断其他算子类型;S5响应于参数相同,判断两个对应输入算子是否为一个算子使用,如果参数不完全相同,则重复第一步骤判断其他算子类型;S6响应于两个对应输入算子均为一个算子使用,将两个输入算子对应的两个并行卷积合并成新算子并在TVM中对新算子进行计算定义和调度定义,如果两本文档来自技高网...
【技术保护点】
1.一种基于TVM的并行卷积融合的方法,其特征在于,包括以下步骤:/n后续遍历TVM中的网络模型的算子,并判断算子的类型;/n响应于第一个算子为预设第一算子,判断所述第一个算子的两个输入算子的类型;/n响应于所述两个输入算子都为预设第二算子,判断所述两个输入算子的对应输入算子的类型;/n响应于所述两个输入算子的对应输入算子都为预设第三算子,判断两个所述对应输入算子的参数是否相同;/n响应于所述参数相同,判断两个所述对应输入算子是否为一个算子使用;/n响应于两个所述对应输入算子均为一个算子使用,将所述两个输入算子对应的两个并行卷积合并成新算子并在所述TVM中对所述新算子进行计算定义和调度定义。/n
【技术特征摘要】
1.一种基于TVM的并行卷积融合的方法,其特征在于,包括以下步骤:
后续遍历TVM中的网络模型的算子,并判断算子的类型;
响应于第一个算子为预设第一算子,判断所述第一个算子的两个输入算子的类型;
响应于所述两个输入算子都为预设第二算子,判断所述两个输入算子的对应输入算子的类型;
响应于所述两个输入算子的对应输入算子都为预设第三算子,判断两个所述对应输入算子的参数是否相同;
响应于所述参数相同,判断两个所述对应输入算子是否为一个算子使用;
响应于两个所述对应输入算子均为一个算子使用,将所述两个输入算子对应的两个并行卷积合并成新算子并在所述TVM中对所述新算子进行计算定义和调度定义。
2.根据权利要求1所述的方法,其特征在于,所述预设第一算子为add算子,所述预设第二算子为bias算子,所述预设第三算子为conv2d算子。
3.根据权利要求1所述的方法,其特征在于,判断两个所述对应输入算子的参数是否相同包括:
将两个所述对应输入算子的步长、填充、输入的NCHW和权重的OIHW进行比较;
响应于两个所述对应输入算子的步长、填充、输入的NCHW和权重的OIHW完全相同,判断为两个所述对应输入算子的参数相同。
4.根据权利要求1所述的方法,其特征在于,所述新算子的两个权重参数为两个原卷积的权重weight1和weight2,两个输入为两个原卷积的输入input1和input2,所述新算子的输出为两个卷积相加后的结果。
5.根据权利要求1所述的方法,其特征在于,后续遍历TVM中的网络模型的算子,并判断算子的类型包括:
从所述网络模型的输出端向输入端递归遍历所述网络模型;
查找所述网络模型中的所有算子并进行算子类型的判断。
6.一种基于TVM的并行卷积融合的设备,其特征在于,所述设备包...
【专利技术属性】
技术研发人员:李柏宏,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。