首页  专利技术  电子电路装置的制造及其应用技术

基于代码生成器Codegen的算子框架、构建方法及算子生成方法与流程

2025-05-12 10:00:07 346次浏览
基于代码生成器Codegen的算子框架、构建方法及算子生成方法与流程

本公开的实施例涉及一种基于代码生成器codegen的算子框架、构建方法及算子生成方法。


背景技术:

1、随着人工智能技术的快速发展,越来越多的行业场景需要构建人工智能模型,在构建人工智能模型的过程中,用户需要通过自定义算法和数据处理逻辑来串联出一个完整的建模流程。其中,这些自定义的算法和数据处理逻辑通常被称为“算子(operator)”。在批量开发汇编语言算子的过程中,开发者通常需要先开发汇编语言算子生成程序,并通过该程序生成算子对应的汇编语言代码。


技术实现思路

1、本公开至少一实施例提供一种基于代码生成器codegen的算子框架,包括:预设代码单元,被配置为获取线程束组索引以及进行全局配置;至少一个第一代码单元,被配置为承载功能代码,其中,不同的第一代码单元对应于不同的线程束组;以及第一选择单元,被配置为根据所述线程束组索引选择执行的第一代码单元。

2、在本公开至少一实施例提供的算子框架中,所述预设代码单元还被配置为获取线程束索引,所述至少一个第一代码单元中的部分第一代码单元包括:至少一个第二代码单元,被配置为承载所述功能代码,其中,不同的第二代码单元对应于不同的线程束;以及第二选择单元,被配置为根据所述线程束索引选择执行的第二代码单元。

3、在本公开至少一实施例提供的算子框架中,所述功能代码包括访存指令、计算指令、同步指令或局部资源配置指令中的至少一种。

4、在本公开至少一实施例提供的算子框架中,所述全局配置包括全局资源配置。

5、在本公开至少一实施例提供的算子框架中,所述算子框架采用汇编语言编写。

6、在本公开至少一实施例提供的算子框架中,不同的算子框架对应于不同类型的算子或同一类型算子的不同实现策略。

7、在本公开至少一实施例提供的算子框架中,基于所述算子框架可生成对应的目标算子,在生成所述目标算子的过程中,所述至少一个第一代码单元所承载的功能代码可被编辑,和/或所述至少一个第二代码单元所承载的功能代码可被编辑。

8、在本公开至少一实施例提供的算子框架中,所述算子框架嵌入在所述代码生成器codegen上。

9、本公开至少一实施例提供一种如上述至少一实施例所述的算子框架的构建方法,包括:根据待生成的目标算子的功能和性能优化策略构建对应的算子框架。

10、在本公开至少一实施例提供的构建方法中,所述根据待生成的目标算子的功能和性能优化策略构建对应的算子框架,包括:

11、根据所述目标算子的功能和性能优化策略确定所述至少一个第一代码单元的数量和每个第一代码单元的功能及对应的代码。

12、在本公开至少一实施例提供的构建方法中,所述根据待生成的目标算子的功能和性能优化策略构建对应的算子框架,还包括:

13、根据所述目标算子的功能和性能优化策略确定每个第一代码单元中第二代码单元的数量和每个第二代码单元的功能及对应的代码。

14、本公开至少一实施例提供一种算子生成方法,由代码生成器codegen执行且基于上述至少一实施例所述的算子框架,包括:根据待生成的目标算子的功能和性能优化策略选择对应的算子框架;在所述算子框架中插入功能代码,以生成所述目标算子。

15、在本公开至少一实施例提供的算子生成方法中,所述在所述算子框架中插入功能代码,包括:在所述至少一个第一代码单元中插入所述功能代码,以更新所述至少一个第一代码单元;和/或在所述至少一个第一代码单元中的部分第一代码单元包括的第二代码单元中插入所述功能代码,以更新所述第二代码单元。

16、本公开至少一实施例提供一种如上述至少一实施例所述的算子框架的构建装置,包括:构建模块,被配置为根据待生成的目标算子的功能和性能优化策略构建对应的算子框架。

17、本公开至少一实施例提供一种算子生成装置,由代码生成器codegen实现且基于上述至少一实施例所述的算子框架,包括:选择模块,被配置为根据待生成的目标算子的功能和性能优化策略选择对应的算子框架;插入模块,被配置为在所述算子框架中插入功能代码,以生成所述目标算子。

18、本公开至少一实施例提供一种电子设备,包括:至少一个处理器;至少一个存储器,存储有一个或多个计算机程序模块;其中,所述一个或多个计算机程序模块被配置为由所述至少一个处理器执行,用于执行上述至少一实施例所述的构建方法或算子生成方法的指令。

19、本公开至少一实施例提供一种非瞬时计算机可读存储介质,其上存储有计算机可读指令,其中,所述计算机可读指令被至少一个处理器执行时实现上述至少一实施例所述的构建方法或算子生成方法。



技术特征:

1.一种基于代码生成器codegen的算子框架,包括:

2.根据权利要求1所述的算子框架,其中,所述预设代码单元还被配置为获取线程束索引,

3.根据权利要求1所述的算子框架,其中,所述功能代码包括访存指令、计算指令、同步指令或局部资源配置指令中的至少一种。

4.根据权利要求1所述的算子框架,其中,所述全局配置包括全局资源配置。

5.根据权利要求1所述的算子框架,其中,所述算子框架采用汇编语言编写。

6.根据权利要求1所述的算子框架,其中,不同的算子框架对应于不同类型的算子或同一类型算子的不同实现策略。

7. 根据权利要求2所述的算子框架,其中,基于所述算子框架可生成对应的目标算子,

8.根据权利要求1所述的算子框架,其中,所述算子框架嵌入在所述代码生成器codegen上。

9.一种如权利要求1-8任一项所述的算子框架的构建方法,包括:

10.根据权利要求9所述的构建方法,其中,所述根据待生成的目标算子的功能和性能优化策略构建对应的算子框架,包括:

11.根据权利要求10所述的构建方法,其中,所述根据待生成的目标算子的功能和性能优化策略构建对应的算子框架,还包括:

12.一种算子生成方法,由代码生成器codegen执行且基于权利要求1-8任一项所述的算子框架,包括:

13. 根据权利要求12所述的算子生成方法,其中,所述在所述算子框架中插入功能代码,包括:

14.一种电子设备,包括:

15.一种非瞬时计算机可读存储介质,其上存储有计算机可读指令,其中,所述计算机可读指令被至少一个处理器执行时实现权利要求9-11中任一项所述的构建方法或权利要求12-13中任一项所述的算子生成方法。


技术总结
本公开的实施例提供了一种基于代码生成器Codegen的算子框架、构建方法及算子生成方法。该算子框架包括:预设代码单元,被配置为获取线程束组索引以及进行全局配置;至少一个第一代码单元,被配置为承载功能代码,其中,不同的第一代码单元对应于不同的线程束组;以及第一选择单元,被配置为根据线程束组索引选择执行的第一代码单元。通过本公开实施例提供的算子框架及其构建方法,可以预先生成一系列经过设计和验证的算子框架,开发者在开发算子时,可以利用这些预设的算子框架,并在其基础上进行开发,不仅可以简化汇编语言算子的开发流程,提高开发效率,减少出错的概率,还能增强算子生成程序的通用性和可维护性。

技术研发人员:请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名
受保护的技术使用者:北京壁仞科技开发有限公司
技术研发日:
技术公布日:2024/11/18
文档序号 : 【 40052322 】

技术研发人员:请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名
技术所有人:北京壁仞科技开发有限公司

备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
请求不公布姓名请求不公布姓名请求不公布姓名请求不公布姓名请求不公布姓名请求不公布姓名北京壁仞科技开发有限公司
一种抗老化阻燃黑色分散染料及其制备方法与流程 一种通信与雷达一体化智能侦察数字信号处理模块的制作方法
相关内容