CN114253550A - 优化策略生成方法和算子构建方法 - Google Patents

优化策略生成方法和算子构建方法 Download PDF

Info

Publication number
CN114253550A
CN114253550A CN202111511431.0A CN202111511431A CN114253550A CN 114253550 A CN114253550 A CN 114253550A CN 202111511431 A CN202111511431 A CN 202111511431A CN 114253550 A CN114253550 A CN 114253550A
Authority
CN
China
Prior art keywords
strategy
operator
optimization
optimization strategy
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111511431.0A
Other languages
English (en)
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Biren Intelligent Technology Co Ltd
Original Assignee
Shanghai Biren Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Biren Intelligent Technology Co Ltd filed Critical Shanghai Biren Intelligent Technology Co Ltd
Priority to CN202111511431.0A priority Critical patent/CN114253550A/zh
Publication of CN114253550A publication Critical patent/CN114253550A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种优化策略生成方法和算子构建方法,其中,优化策略生成方法包括:确定策略抽象描述;基于所述策略抽象描述构建融合算子;对所述融合算子进行性能优化,基于性能优化后的融合算子下的策略抽象描述,确定通用优化策略,克服了利用传统方案中的开发方式开发模型的效率低下以及成本较大的缺陷,降低了模型开发的复杂度,将硬件复杂度和算法复杂度解耦,生成了适用于各类模型的通用优化策略,实现整个内核开发并行度的提升。

Description

优化策略生成方法和算子构建方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种优化策略生成方法和算子构建方法。
背景技术
目前,各类模型主要是基于芯片的指令集架构或者指令抽象开发得到的,采用的是手写大算子、半自动化模板或者纯手写内核的开发方式。
但是,上述开发方式将变化的策略部分与不变的硬件抽象耦合在一起,导致每一策略均需重新写算子,不仅耗费了大量的时间精力,还加大了模型开发的难度,并且,对于重新写的算子,又需引入新的调试时间,导致模型的开发效率低下。
发明内容
本发明提供一种优化策略生成方法和算子构建方法,用以解决现有技术中模型开发复杂度大、效率低下以及成本较大的缺陷。
本发明提供一种优化策略生成方法,包括:
确定策略抽象描述;
基于所述策略抽象描述构建融合算子;
对所述融合算子进行性能优化,基于性能优化后的融合算子下的策略抽象描述,确定通用优化策略。
根据本发明提供的一种优化策略生成方法,所述基于所述策略抽象描述构建融合算子,包括:
基于所述策略抽象描述构建功能覆盖测试框架;
对所述功能覆盖测试框架的功能覆盖进行验证,若验证通过,则基于所述功能覆盖测试框架,构建融合算子。
根据本发明提供的一种优化策略生成方法,所述对所述融合算子进行性能优化,基于性能优化后的融合算子下的策略抽象描述,确定通用优化策略,包括:
对所述融合算子进行性能优化,基于性能优化后的融合算子下的策略抽象描述,确定性能优化策略;
对所述性能优化策略进行功能覆盖性调整,得到所述通用优化策略。
根据本发明提供的一种优化策略生成方法,所述确定策略抽象描述,包括:
确定目标模型的硬件配置和负荷量;
基于所述硬件配置、负荷量以及硬件特性,确定所述策略抽象描述。
根据本发明提供的一种优化策略生成方法,所述硬件特性包括缓冲区容量、寄存器带宽、存储器带宽、仲裁优先级中的至少一种。
根据本发明提供的一种优化策略生成方法,所述策略抽象描述包括多个属性,以及各个属性所包含的取值、预设值、子属性中的至少一种。
本发明还提供一种算子构建方法,包括:
确定通用优化策略,所述通用优化策略是基于如上述任一项所述的优化策略生成方法生成的;
基于所述通用优化策略,进行算子构建。
本发明还提供一种优化策略生成方法,包括:
基本算子确定单元,用于确定策略抽象描述;
融合算子构建单元,用于基于所述策略抽象描述构建融合算子;
性能优化单元,用于对所述融合算子进行性能优化,基于性能优化后的融合算子下的策略抽象描述,确定通用优化策略。
本发明还提供一种算子构建方法,包括:
通用优化策略确定单元,用于确定通用优化策略,所述通用优化策略是基于如上述任一项所述的优化策略生成方法生成的;
算子构建单元,用于基于所述通用优化策略,进行算子构建。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述的优化策略生成方法,或如上述所述的算子构建方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述的优化策略生成方法,或如上述所述的算子构建方法的步骤。
本发明提供的优化策略生成方法和算子构建方法,根据策略抽象描述构建融合算子,并对融合算子进行性能优化,根据性能优化后的融合算子下的策略抽象描述,确定通用优化策略,克服了利用传统方案中的开发方式开发模型的效率低下以及成本较大的缺陷,降低了模型开发的复杂度,将硬件复杂度和算法复杂度解耦,生成了适用于各类模型的通用优化策略,实现整个内核开发并行度的提升。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的优化策略生成方法的流程示意图;
图2是本发明提供的性能优化的流程示意图;
图3是本发明提供的策略抽象描述的结构示意图;
图4是本发明提供的优化策略生成方法的总体流程图;
图5是本发明提供的算子构建方法的流程示意图;
图6是本发明提供的优化策略生成装置的结构示意图;
图7是本发明提供的算子构建装置的结构示意图;
图8是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,基于芯片的指令集架构或者指令抽象开发得到的各类模型,其开发过程均采用的是手写大算子、半自动化模板或者纯手写内核的开发方式,而这一开发方式将变化的策略部分与不变的硬件抽象耦合在一起,从而导致每一策略均需耗费大量的时间精力重新写算子,以及引入新的调试时间,使得模型的开发效率低下。
针对上述情况,本发明提供一种优化策略生成方法,旨在降低模型开发的复杂度,将硬件复杂度和算法复杂度解耦,实现一种适用于各类模型的通用优化策略,图1是本发明提供的优化策略生成方法的流程示意图,如图1所示,该方法包括:
步骤110,确定策略抽象描述;
具体地,在生成通用优化策略之前,首先需要确定生成优化策略的导向和基准,即策略抽象描述,若将生成通用优化策略的过程比喻为建造房屋的过程,则通用优化策略相当于建造完成的房屋,而策略抽象描述相当于建造房屋的蓝图,在蓝图的指引下,可以高效无误的完成房屋的建造。
此处的策略抽象描述为细粒度应用程序编程接口(Low Level ApplicationProgramming Interface,Low Level API)的策略抽象描述,包括硬件抽象、模型的算法输入和参数列表,其中,抽象表示数据结构。
步骤120,基于策略抽象描述构建融合算子;
具体地,在步骤110中确定策略抽象描述后,即可执行步骤120,根据策略抽象描述构建融合算子,这一过程具体包括如下步骤:
首先,根据策略抽象描述中的硬件特性(Hardware feature)和硬件限制(Hardware limitation),生成Low Level API特性列表(Low Level API feature list,细粒度API特性列表)以及Low Level API约束列表(Low Level API feature list,细粒度API约束列表);
随即,根据生成的Low Level API特性列表和Low Level API约束列表,构建融合算子,如此即可保证构建得到的融合算子能够满足硬件上的各方面要求,符合各种约束条款,为适用于各类模型的通用优化策略的生成提供了强有力的支撑。
步骤130,对融合算子进行性能优化,基于性能优化后的融合算子下的策略抽象描述,确定通用优化策略。
具体地,在步骤120中,得到融合算子后,即可对融合算子进行进一步优化,从而实现根据优化后的融合算子确定通用优化策略。
融合算子的优化过程包括如下步骤:
首先,对融合算子进行性能优化,得到性能优化后的融合算子;需要说明的是,融合算子的性能优化过程可以是以GEMM(General Matrix Multiplication,通用矩阵乘)的利用率为引导执行的;
随即,可根据性能优化后的融合算子下的策略抽象描述,确定通用优化策略,此处,具体可以是根据性能优化后的融合算子,对其下的策略抽象描述进行更新,并根据更新后的策略抽象描述确定通用优化策略。
需要说明的是,此处确定的通用优化策略能够应用于各种领域下的各类模型中,例如,图像增强领域、语音识别领域、人工智能芯片领域等。
本发明提供的优化策略生成方法,根据策略抽象描述构建融合算子,并对融合算子进行性能优化,根据性能优化后的融合算子下的策略抽象描述,确定通用优化策略,克服了利用传统方案中的开发方式开发模型的效率低下以及成本较大的缺陷,降低了模型开发的复杂度,将硬件复杂度和算法复杂度解耦,生成了适用于各类模型的通用优化策略,实现整个内核开发并行度的提升。
基于上述实施例,步骤120包括:
基于策略抽象描述构建功能覆盖测试框架;
对功能覆盖测试框架的功能覆盖进行验证,若验证通过,则基于功能覆盖测试框架,构建融合算子。
考虑到步骤110中确定的策略抽象描述的覆盖范围会对融合算子的适用范围产生影响,即策略抽象描述的功能覆盖的完备与否不仅影响着融合算子的适用范围,还间接影响了通用优化策略的适用范围,因此,本发明实施例中在确定策略抽象描述后,可进一步设置验证环节,通过此验证环节验证其功能覆盖,从而保证基于策略抽象描述直接或间接确定的融合算子和通用优化策略的适用性。
具体地,步骤120中,根据策略抽象描述构建融合算子时,具体可以是,首先根据策略抽象描述搭建功能覆盖测试框架,此框架可以是自动功能覆盖测试框架(Automaticfunctional coverage test framework);随后,对功能覆盖测试框架的功能覆盖进行验证,验证基于策略抽象描述构建的功能覆盖测试框架的功能覆盖是否完备;若验证结果指示功能覆盖测试框架的功能覆盖完备,即验证通过,表明此时的策略抽象描述较为完善,则根据功能覆盖测试框架构建融合算子。
相应地,若验证结果指示功能覆盖测试框架的功能覆盖不够完备,即验证失败,表明此时的策略抽象描述不够完善,则需对策略抽象描述进行调整以及完善,然后将完善后的策略抽象描述重新确定为步骤110中的策略抽象描述,不断的对策略抽象描述进行完善的过程实际上是一个深度迭代的过程,完善后的策略抽象描述可以适用于各类模型的开发过程。
本发明实施例提供的方法,在确定策略抽象描述后,基于此构建功能覆盖测试框架,并对构建的功能覆盖测试框架的功能覆盖进行验证,在确保功能覆盖测试框架的功能覆盖完备的情况下,根据功能覆盖测试框架构建融合算子,通过验证环节的功能覆盖的验证,保证了最终得到的融合算子的适用范围,为适用于各类模型的通用优化策略的生成提供了助力,并且,基于验证后的策略抽象描述构建融合算子,大大减少了融合算子集成过程中的性能调试时间和功能调试时间。
基于上述实施例,步骤130包括:
对融合算子进行性能优化,基于性能优化后的融合算子下的策略抽象描述,确定性能优化策略;
对性能优化策略进行功能覆盖性调整,得到通用优化策略。
具体地,图2是本发明提供的性能优化的流程示意图,图2中的Operator Graph表示算子图,Code-gen(Code-generation)表示代码生成,High Level API(High LevelApplication Programming Interface)表示粗粒度API,Low level API表示细粒度API,EMU(Element Management Unit)表示网元管理单元,Perf Profiler表示性能分析器,如图2所示,步骤130中,对融合算子进行性能优化的过程,具体包括如下步骤:
首先,对融合算子进行性能优化,得到性能优化后的融合算子,并根据性能优化后的融合算子更新其下的策略抽象描述;需要说明的是,融合算子的性能优化过程可以是以GEMM(General Matrix Multiplication,通用矩阵乘)的利用率为引导执行的;
随后,根据更新后的策略抽象描述,确定性能优化策略;
此后,还需对此性能优化策略进行功能覆盖性调整,调整其下的策略抽象描述的功能覆盖范围,即对Low Level API进行功能覆盖性调整,并通过Perf Profiler判断是否接近预设目标。需要说明的是,此处的Low Level API可以是以IR(IntermediateRepresentation,中间表达式)pass的形式存在,也可以是以API的形式,本发明实施例对不做具体限定。
对根据策略抽象描述构建的融合算子进行性能优化的过程实际上是对融合算子的性能和通用性进行折中的过程,最终能够得到一个适用性较强的通用优化策略和通用编程指南。
基于上述实施例,步骤110包括:
确定目标模型的硬件配置和负荷量;
基于硬件配置、负荷量以及硬件特性,确定策略抽象描述。
具体地,步骤110中,在确定策略抽象描述时,首先,可以根据目标模型梳理算例,确定目标模型的硬件配置config和负荷量workload,此处的config包括配置命令、配置信息以及操作对象,workload为目标模型的工作量。
随后,可在上一步得到的目标模型的硬件配置和负荷量的基础上,结合硬件特性,共同确定策略抽象描述,此处的硬件特性可以是缓冲区容量buffer size、寄存器register带宽、存储器memory带宽、仲裁优先级中的一种或多种,本发明实施例对此不作具体限定。
本发明实施例提供的方法,在目标模型的硬件配置和负荷量的基础上,结合了硬件特性确定策略抽象描述,使得最终得到的策略抽象描述能够包含多个方面的特性,拓宽了策略抽象描述的覆盖面,大大提升了其全面性,从而实现了通用优化策略实用性的提升。
基于上述实施例,硬件特性包括缓冲区容量、寄存器带宽、存储器带宽、仲裁优先级中的至少一种。
具体地,步骤110中确定策略抽象描述的硬件特性可以是缓冲区容量buffersize、寄存器register带宽、存储器memory带宽、仲裁优先级中的一种或多种。
其中,缓冲区容量buffer size为在内存中预留的用来对接口的数据做临时存储的存储空间的大小;寄存器register带宽表示单位时间里寄存器存放的数据量;存储器memory带宽表示单位时间里存储器所存取的信息量,也称为存储器在单位时间内读出/写入的位数或字节数;仲裁优先级表示通过仲裁设备评判的部件调用总线的优先级。
基于上述实施例,由Low Level API构建融合算子组网的过程包括如下步骤:
首先,梳理目标模型的硬件配置、负荷量以及硬件特性;
随即,自上而下定义Low Level API的数据和策略抽象描述;
随后,自上而下定义Low Level API的构造和通用函数接口;
此后,基于Low Level API通用函数接口规划Low Level API,且High Level API以及Low Level API并行开发;
最后,基于目标模型组建网络,由融合算子到整个网格的迭代推进,整个网络在EMU(Element Management Unit,网元管理单元)功能以及性能上连通。
基于上述实施例,策略抽象描述包括多个属性,以及各个属性所包含的取值、预设值、子属性中的至少一种。
具体地,策略抽象描述中包含有多个属性(Attribute),每一属性下可以包含取值(Value)、预设值(Default)以及子属性(Attribute)中的任意一种或两种,除此之外,也可以同时包含取值(Value)、预设值(Default)以及子属性(Attribute),本发明实施例对此不做具体限定。图3是本发明提供的策略抽象描述的结构示意图,如图3所示,策略抽象描述中,每一属性(Attribute)下可以直接包含一个或多个取值(Value),也可以直接包含多个取值(Value)和一个预设值(Default),还可以包含多个子属性(Attribute)和一个预设值(Default),每一子属性(Attribute)又可以包含取值(Value)、预设值(Default)、属性(Attribute)中的一种或多种。
基于上述实施例,图4是本发明提供的优化策略生成方法的总体流程图,如图4所示,Low Level API Define表示细粒度API定义,AI model表示目标模型,Hardwarefeature表示硬件特性,Hardware limitation表示硬件限制,Low Level API featurelist表示细粒度API特性列表,Low Level API constraint list表示细粒度API约束列表,Low Level Verification表示验证细粒度API,Automatic functional coverage testframework表示自动功能覆盖测试框架,Fused operator test表示融合算子测试,Lowlevel Programming guide表示细粒度编程指南,Sample code表示示例代码,Testcoverage report表示测试覆盖率报告,Handwrite Performance Tuning表示手写性能调整,Build fused Operator network表示建立融合算子组网,Explore perf strategy表示探索性能策略,Abstract strategy rule and write High level Programming guide表示策略抽象描述和编写粗粒度编程指南,High level programming guide表示粗粒度编程指南,Performance optimize strategy表示性能优化策略,Cost model abstraction表示成本模型提取,Performance Kernel Automatic Gen为性能内核自动生成,Based onfused Operator strategy表示基于融合算子策略,Based on IR strategy pass表示基于中间表达式策略优化,Based on cost model表示基于成本模型,Go to next Operator表示转到下一个算子,Code Gen(Code Generation)表示代码生成。
本发明还提供一种算子方法,旨在降低算子开发的复杂度,将硬件复杂度和算法复杂度解耦,提高整个内核开发的并行度,图5是本发明提供的算子构建方法的流程示意图,如图5所示,该方法包括:
步骤510,确定通用优化策略,通用优化策略是基于如上述任一项所述的优化策略生成方法生成的。
具体地,在进行算子构建之前,首先需要确定通用优化策略,通用优化策略的确定过程包括如下步骤:
首先,确定目标模型的硬件配置和负荷量,基于硬件配置、负荷量以及硬件特性,确定策略抽象描述,其中,硬件特性包括缓冲区容量、寄存器带宽、存储器带宽、仲裁优先级中的至少一种,策略抽象描述包括多个属性,以及各个属性所包含的取值、预设值、子属性中的至少一种;
随后,基于策略抽象描述构建功能覆盖测试框架,并对功能覆盖测试框架的功能覆盖进行验证,若验证通过,则基于功能覆盖测试框架,构建融合算子;
此后,对融合算子进行性能优化,基于性能优化后的融合算子下的策略抽象描述,确定性能优化策略,并对性能优化策略进行功能覆盖性调整,得到通用优化策略。
步骤520,基于通用优化策略,进行算子构建。
具体地,经过步骤510确定通用优化策略后,即可根据通用优化策略进行算子构建,算子构建的过程实际上是将通用优化策略应用于对应模型的过程,即根据通用优化策略自动生成高性能算子的过程。
本发明提供的算子构建方法,确定通用优化策略,通用优化策略的确定过程是将硬件复杂度和算法复杂度解耦的过程,能够降低模型开发的复杂度,从而为算子以及各类功能提供了最小粒度的优化,并且,通过此通用优化策略进行算子构建,还能大大减小算子开发的复杂度,提高了整个内核开发的并行度。
下面对本发明提供的优化策略生成装置进行描述,下文描述的优化策略生成装置与上文描述的优化策略生成方法可相互对应参照。
图6是本发明提供的优化策略生成装置的结构示意图,如图6所示,该装置包括:
基本算子确定单元610,用于确定策略抽象描述;
融合算子构建单元620,用于基于所述策略抽象描述构建融合算子;
性能优化单元630,用于对所述融合算子进行性能优化,基于性能优化后的融合算子下的策略抽象描述,确定通用优化策略。
本发明提供的优化策略生成装置,根据策略抽象描述构建融合算子,并对融合算子进行性能优化,根据性能优化后的融合算子下的策略抽象描述,确定通用优化策略,克服了利用传统方案中的开发方式开发模型的效率低下以及成本较大的缺陷,降低了模型开发的复杂度,将硬件复杂度和算法复杂度解耦,生成了适用于各类模型的通用优化策略,实现整个内核开发并行度的提升。
基于上述实施例,融合算子构建单元620用于:
基于所述策略抽象描述构建功能覆盖测试框架;
对所述功能覆盖测试框架的功能覆盖进行验证,若验证通过,则基于所述功能覆盖测试框架,构建融合算子。
基于上述实施例,性能优化单元630用于:
对所述融合算子进行性能优化,基于性能优化后的融合算子下的策略抽象描述,确定性能优化策略;
对所述性能优化策略进行功能覆盖性调整,得到所述通用优化策略。
基于上述实施例,基本算子确定单元610用于:
确定目标模型的硬件配置和负荷量;
基于所述硬件配置、负荷量以及硬件特性,确定所述策略抽象描述。
基于上述实施例,所述硬件特性包括缓冲区容量、寄存器带宽、存储器带宽、仲裁优先级中的至少一种。
基于上述实施例,所述策略抽象描述包括多个属性,以及各个属性所包含的取值、预设值、子属性中的至少一种。
下面对本发明提供的算子构建装置进行描述,下文描述的算子构建装置与上文描述的算子构建方法可相互对应参照。
图7是本发明提供的算子构建装置的结构示意图,如图7所示,该装置包括:
确定通用优化策略710,所述通用优化策略是基于如上述任一项所述的优化策略生成方法生成的;
基于所述通用优化策略720,进行算子构建。
本发明提供的算子构建装置,确定通用优化策略,通用优化策略的确定过程是将硬件复杂度和算法复杂度解耦的过程,能够降低模型开发的复杂度,从而为算子以及各类功能提供了最小粒度的优化,并且,通过此通用优化策略进行算子构建,还能大大减小算子开发的复杂度,提高了整个内核开发的并行度。
图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行优化策略生成方法或算子构建方法,其中,优化策略生成方法包括:确定策略抽象描述;基于所述策略抽象描述构建融合算子;对所述融合算子进行性能优化,基于性能优化后的融合算子下的策略抽象描述,确定通用优化策略。算子构建方法包括:确定通用优化策略,所述通用优化策略是基于如上述任一项所述的优化策略生成方法生成的;基于所述通用优化策略,进行算子构建。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的优化策略生成方法或算子构建方法,其中,优化策略生成方法包括:确定策略抽象描述;基于所述策略抽象描述构建融合算子;对所述融合算子进行性能优化,基于性能优化后的融合算子下的策略抽象描述,确定通用优化策略。算子构建方法包括:确定通用优化策略,所述通用优化策略是基于如上述任一项所述的优化策略生成方法生成的;基于所述通用优化策略,进行算子构建。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的优化策略生成方法或算子构建方法,其中,优化策略生成方法包括:确定策略抽象描述;基于所述策略抽象描述构建融合算子;对所述融合算子进行性能优化,基于性能优化后的融合算子下的策略抽象描述,确定通用优化策略。算子构建方法包括:确定通用优化策略,所述通用优化策略是基于如上述任一项所述的优化策略生成方法生成的;基于所述通用优化策略,进行算子构建。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (11)

1.一种优化策略生成方法,其特征在于,包括:
确定策略抽象描述;
基于所述策略抽象描述构建融合算子;
对所述融合算子进行性能优化,基于性能优化后的融合算子下的策略抽象描述,确定通用优化策略。
2.根据权利要求1所述的优化策略生成方法,其特征在于,所述基于所述策略抽象描述构建融合算子,包括:
基于所述策略抽象描述构建功能覆盖测试框架;
对所述功能覆盖测试框架的功能覆盖进行验证,若验证通过,则基于所述功能覆盖测试框架,构建融合算子。
3.根据权利要求1所述的优化策略生成方法,其特征在于,所述对所述融合算子进行性能优化,基于性能优化后的融合算子下的策略抽象描述,确定通用优化策略,包括:
对所述融合算子进行性能优化,基于性能优化后的融合算子下的策略抽象描述,确定性能优化策略;
对所述性能优化策略进行功能覆盖性调整,得到所述通用优化策略。
4.根据权利要求1至3中任一项所述的优化策略生成方法,其特征在于,所述确定策略抽象描述,包括:
确定目标模型的硬件配置和负荷量;
基于所述硬件配置、负荷量以及硬件特性,确定所述策略抽象描述。
5.根据权利要求4所述的优化策略生成方法,其特征在于,所述硬件特性包括缓冲区容量、寄存器带宽、存储器带宽、仲裁优先级中的至少一种。
6.根据权利要求1至3中任一项所述的优化策略生成方法,其特征在于,所述策略抽象描述包括多个属性,以及各个属性所包含的取值、预设值、子属性中的至少一种。
7.一种算子构建方法,其特征在于,包括:
确定通用优化策略,所述通用优化策略是基于如权利要求1至6中任一项所述的优化策略生成方法生成的;
基于所述通用优化策略,进行算子构建。
8.一种优化策略生成装置,其特征在于,包括:
基本算子确定单元,用于确定策略抽象描述;
融合算子构建单元,用于基于所述策略抽象描述构建融合算子;
性能优化单元,用于对所述融合算子进行性能优化,基于性能优化后的融合算子下的策略抽象描述,确定通用优化策略。
9.一种算子构建装置,其特征在于,包括:
通用优化策略确定单元,用于确定通用优化策略,所述通用优化策略是基于如权利要求1至6中任一项所述的优化策略生成方法生成的;
算子构建单元,用于基于所述通用优化策略,进行算子构建。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述的优化策略生成方法,或如权利要求7所述的算子构建方法的步骤。
11.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的优化策略生成方法,或如权利要求7所述的算子构建方法的步骤。
CN202111511431.0A 2021-12-02 2021-12-02 优化策略生成方法和算子构建方法 Pending CN114253550A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111511431.0A CN114253550A (zh) 2021-12-02 2021-12-02 优化策略生成方法和算子构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111511431.0A CN114253550A (zh) 2021-12-02 2021-12-02 优化策略生成方法和算子构建方法

Publications (1)

Publication Number Publication Date
CN114253550A true CN114253550A (zh) 2022-03-29

Family

ID=80794802

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111511431.0A Pending CN114253550A (zh) 2021-12-02 2021-12-02 优化策略生成方法和算子构建方法

Country Status (1)

Country Link
CN (1) CN114253550A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024051377A1 (zh) * 2022-09-07 2024-03-14 华为云计算技术有限公司 模型优化方法、装置以及计算设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024051377A1 (zh) * 2022-09-07 2024-03-14 华为云计算技术有限公司 模型优化方法、装置以及计算设备

Similar Documents

Publication Publication Date Title
US9892223B1 (en) System and method for designing system on chip (SoC) circuits by synchronizing a hierarchy of SMDPs
US11783227B2 (en) Method, apparatus, device and readable medium for transfer learning in machine learning
US10372859B2 (en) System and method for designing system on chip (SoC) circuits using single instruction multiple agent (SIMA) instructions
WO2021190597A1 (zh) 一种神经网络模型的处理方法以及相关设备
US7069537B2 (en) Techniques for partial loading of a configuration associated with a configuration model
US10956417B2 (en) Dynamic operation scheduling for distributed data processing
CN112101562A (zh) 机器学习建模过程的实现方法和系统
US20150135166A1 (en) Source code generation, completion, checking, correction
JP7320033B2 (ja) 量子制御パルス生成方法、装置、電子デバイス、記憶媒体、及びプログラム
US20170139685A1 (en) Visual software modeling method to construct software views based on a software meta view
WO2020000689A1 (zh) 基于迁移学习的智能投顾策略生成方法及装置、电子设备、存储介质
US20210409521A1 (en) System and method for interoperable communication of between entities with different structures
US9594863B2 (en) Method for determining by optimization a multi-core architecture
EP4280107A1 (en) Data processing method and apparatus, device, and medium
CN114138274A (zh) 一种深度学习编译器的高层中间表示转换方法及相关装置
CN114691148A (zh) 模型推理加速方法、装置、电子设备及存储介质
CN114253550A (zh) 优化策略生成方法和算子构建方法
US20240192995A1 (en) Method for supporting adaptive unloading of multi-internet of things (iot) applications in edge environment
US20210150371A1 (en) Automatic multi-objective hardware optimization for processing of deep learning networks
US20210286785A1 (en) Graph-based application performance optimization platform for cloud computing environment
WO2023231526A1 (zh) 基于数字孪生DaaS平台的算法仓库管理方法及系统
US20240104016A1 (en) Intermediate Representation Method and Apparatus for Compiling Computation Graphs
CN113505895A (zh) 一种机器学习引擎服务系统及模型训练方法和配置方法
CN113656295A (zh) 测试数据的自动生成方法、装置、电子设备及存储介质
CN112712180A (zh) 基于可靠性验证的模型构建优化方法、装置、设备和介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Country or region after: China

Address after: 201114 room 1302, 13 / F, building 16, 2388 Chenhang Road, Minhang District, Shanghai

Applicant after: Shanghai Bi Ren Technology Co.,Ltd.

Address before: 201114 room 1302, 13 / F, building 16, 2388 Chenhang Road, Minhang District, Shanghai

Applicant before: Shanghai Bilin Intelligent Technology Co.,Ltd.

Country or region before: China