【技术实现步骤摘要】
一种自动配置模板生成方法、装置、服务器及存储介质
本申请涉及深度学习、编译技术、高性能计算交叉
,尤其是涉及一种自动配置模板生成方法、装置、服务器及存储介质。
技术介绍
深度学习的推理优化在工业界得到了广泛的关注,由于推理终端的种类丰富,包括嵌入式CPU(中央处理器,centralprocessingunit)、GPU(图形处理器graphicsprocessingunit)、FPGA(FieldProgrammableGateArray)和ASIC(特殊应用集成电路)等,不同硬件目标在内存组织、计算功能单元等方面存在差异,因此不同终端的推理优化所需要的技巧也不同,性能调优成为一种需要基于专业工程经验且耗费大量人力的重复性工作。相关技术中普遍采用的自动调优框架TVM(面向深度学习的自动端到端优化编译器),TVM首先从现有框架中获取模型作为输入,并将其转换为计算图表示,然后系统执行高级数据流重写以生成优化的图;给定一组丰富的调度原语,TVM为深度学习模型的每一层找到最优的操作符实现、为与每个层相关联的特定输入形状和布局创建一个专门的操作符,并选择调度优化,例如修改循环顺序、优化内存层次结构、以及特定于调度的参数,例如平铺大小和循环展开因子。TVM公开了图形级和操作符级的优化,引入一种张量表达式语言来构建操作符并提供程序转换原语,基于内存访问、线程模式和新硬件原语的组合选择为生成的代码(例如,循环块和排序、缓存、展开),并引入自动程序优化框架来寻找优化的张量操作符。在TVM的模板引导搜索模式 ...
【技术保护点】
1.一种自动配置模板生成方法,其特征在于,包括:/n获取当前输入数据、当前终端的片上内存空间;/n基于所述当前输入数据、所述当前终端的片上内存空间以及卷积运算规则,确定卷积通信下界;/n根据所述卷积通信下界确定最优性条件,所述最优性条件用于指示卷积运算中存储于所述当前终端的片上内存空间的数据流,所述数据流满足所述卷积通信下界;/n根据所述最优性条件生成搜索空间,所述搜索空间中包含至少一种配置模板,所述配置模板包含多种可调参数,至少一种可调参数在各个所述配置模板中相同,所述至少一种可调参数为所述最优性条件对应的可调参数;/n基于所述搜索空间调整所述卷积运算的访存局部性。/n
【技术特征摘要】
1.一种自动配置模板生成方法,其特征在于,包括:
获取当前输入数据、当前终端的片上内存空间;
基于所述当前输入数据、所述当前终端的片上内存空间以及卷积运算规则,确定卷积通信下界;
根据所述卷积通信下界确定最优性条件,所述最优性条件用于指示卷积运算中存储于所述当前终端的片上内存空间的数据流,所述数据流满足所述卷积通信下界;
根据所述最优性条件生成搜索空间,所述搜索空间中包含至少一种配置模板,所述配置模板包含多种可调参数,至少一种可调参数在各个所述配置模板中相同,所述至少一种可调参数为所述最优性条件对应的可调参数;
基于所述搜索空间调整所述卷积运算的访存局部性。
2.根据权利要求1所述的方法,其特征在于,所述基于所述当前输入数据、所述当前终端的片上内存空间以及卷积运算规则,确定卷积通信下界,包括:
根据所述当前输入数据通过卷积运算规则生成卷积有向无环图;
将所述卷积有向无环图分解为至少两个卷积输入子图;
确定所述卷积有向无环图的顶点总数;
将所述卷积有向无环图基于S-划分划分为至少一个卷积输入子集;
基于所述当前输入数据、任一所述卷积输入子集、所有所述卷积输入子图、所述任一卷积输入子集与所有所述卷积输入子图之间的关系、所述当前终端的片上内存空间以及预设算法,确定顶点数量上界;
其中,所述顶点数量上界用于表示所有所述卷积输入子集中顶点数量最大的所述卷积输入子集对应的顶点数量;
基于所述顶点数量上界、所述卷积有向无环图的顶点总数、红蓝卵石模型以及所述当前终端的片上内存空间确定所述卷积通信下界。
3.根据权利要求2所述的方法,其特征在于,所述基于所述当前输入数据、任一所述卷积输入子集、所有所述卷积输入子图、所述任一卷积输入子集与所有所述卷积输入子图之间的关系、所述当前终端的片上内存空间以及预设算法,确定顶点数量上界,包括:
将所述任一卷积输入子集的任一支配集定义为输入支配集,将所述输入支配集划分为第一顶点集合和第二顶点集合,确定所述第一顶点集合对应的第一顶点数量,以及确定所述第二顶点集合对应的第二顶点数量;
基于所述当前输入数据、任一所述卷积输入子集、所述输入支配集、所述第一顶点数量、所述第二顶点数量、所有所述卷积输入子图、所述任一卷积输入子集与所有所述卷积输入子图之间的关系、所述当前终端的片上内存空间以及预设算法,确定顶点数量上界。
4.根据权利要求3所述的方法,其特征在于,所述任一所述卷积输入子集与所有所述卷积输入子图之间的关系,包括:
Vi∩Uj+1所有输入被包含在中;(i)
根据能够确定|Vi∩Uj+1|的上界;(ii)
;(iii)
其中,对于任一有向无环图G(V,E):
Vi为任一有向无环图G(V,E)基于S-划分得到的任一子集;
Uj为任一有向无环图G(V,E)的第j个子图对应的顶点集合;
Uj+1为有向无环图的第j+1个子图对应的顶点集合;
Di为Vi的支配集;
为Uj的输出集合;
表示一个包含所有能被Di生成的顶点的集合;
将所述卷积有向无环图代入式(i)~式(iii),得到所述任一卷积输入子集与所有所述卷积输入子图之间的关系。
5.根据权利要求4所述的方法,其特征在于,所述基于所述当前输入数据、任一所述卷积输入子集、所述输入支配集、所述第一顶点数量、所述第二顶点数量、所有所述卷积输入子图、所述任一卷积输入子集与所有所述卷积输入子图之间的关系、所述当前终端的片上内存空间以及预设算法,确定顶点数量上界,包括:
(1)
其中,对于任一有向无环图G(V,E):
S为快速内存的容量;
将Di将顶点划分为至少两个顶点集...
【专利技术属性】
技术研发人员:张晓扬,肖俊敏,曹连雨,
申请(专利权)人:中科弘云科技北京有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。