一种可实现算力抽象的方法和系统技术方案

技术编号:35542066 阅读:15 留言:0更新日期:2022-11-09 15:10
本申请提供了一种可实现算力抽象的方法和系统,涉及电数字数据处理技术领域,其中所述方法包括:对开发代码进行解析,识别出控制代码和加速代码,通过将所述控制代码和加速代码分别与算子接口进行映射,并对设备管理接口、内核调度接口、内存管理接口中的至少一个进行配置,得到原生代码;基于所述原生代码生成流转代码;基于所述流转代码进行资源匹配,并根据资源匹配结果进行硬件链接,生成可执行文件。本申请提供了一种跨厂商的异构硬件的统一开发系统,通过提供统一的开发环境和松耦合的开发架构,使开发者的一套代码能够实现异构部署,从而解决硬件厂商之间的开发生态隔离、代码迁移难等问题,提升了资源利用率。提升了资源利用率。提升了资源利用率。

【技术实现步骤摘要】
一种可实现算力抽象的方法和系统


[0001]本申请涉及电数字数据处理
,具体涉及一种可实现算力抽象的方法和系统。

技术介绍

[0002]近些年来,算力作为核心生产力,呈现出泛在化、异构化特征。产业数字化转型对算力的效率提出了更高要求,因此出现了图形处理器(Graphics Processing Unit,GPU)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、专用集成电路(Application Specific Integrated Circuit,ASIC)等异构芯片,算力资源从传统中央处理器(Central Processing Unit,CPU)通用算力演变为多种硬件混合的异构计算。当前,面向异构计算的应用开发系统多为竖井模式。通常,各个硬件厂商使用各自的开发生态,彼此之间不互通。一种单个厂商的开发系统如图1所示,主要分为3层:应用开发层:基于业务需求开发代码。
[0003]编译层:编译器前端对代码进行解析,生成中间表达;输入后端进行优化,形成硬件可以理解的机器语言代码;通过链接器生成可执行文件。
[0004]算力资源层:提供运行时库,执行目标程序。
[0005]现有技术的异构算力场景中,通常存在不同硬件厂商之间的开发生态隔离、代码迁移难和资源利用低等问题。

技术实现思路

[0006]本申请的至少一个实施例提供了一种可实现算力抽象的方法和系统,用于解决现有技术的异构算力场景中不同硬件厂商之间的开发生态隔离、代码迁移难和资源利用低等问题中的至少一个。
[0007]为了解决上述技术问题,本申请是这样实现的:第一方面,本申请实施例提供了一种可实现算力抽象的方法,包括:对开发代码进行解析,识别出控制代码和加速代码,通过将所述控制代码和加速代码分别与算子接口进行映射,并对设备管理接口、内核调度接口、内存管理接口中的至少一个进行配置,得到原生代码;基于所述原生代码生成流转代码;基于所述流转代码进行资源匹配,并根据资源匹配结果进行硬件链接,生成可执行文件。
[0008]可选的,所述算子接口用于定义计算类运算的统一表述;所述设备管理接口用于注册和管理硬件资源,获取、初始化和配置硬件信息;内核调度接口用于统一描述计算的调度类型、调度特征和属性;内存管理接口用于规范内存分配释放、拷贝迁移和优先级描述。
[0009]可选的,所述控制代码包括所述开发代码中的参数配置代码和/或执行流程代码;
所述加速代码包括所述开发代码中的能够通过异构硬件处理的代码部分。
[0010]可选的,对设备管理接口、内核调度接口、内存管理接口中的至少一个进行配置,包括以下至少一种:将控制代码中的内存使用及地址配置与内存管理接口进行统一表述映射;将控制代码中的设备资源申请及使用与设备管理接口进行统一表述映射;将控制代码中的进程管理及时序控制与内核调度接口进行统一表述映射。
[0011]可选的,基于所述原生代码生成流转代码,包括:对所述原生代码进行执行效率的优化,得到优化后的控制代码和加速代码;根据预测得到的所述加速代码在不同硬件上的执行效率和性能分析结果,生成不同异构硬件执行所述加速代码的执行优先级;将优化后的控制代码和加速代码以及所述执行优先级,合并为可统一调度分配的流转代码。
[0012]可选的,基于所述流转代码进行资源匹配,包括:将优化后的控制代码和加速代码分别与算力抽象运行时库中注册的硬件资源进行匹配,根据匹配结果完成相关硬件注册和资源匹配,得到资源匹配结果,其中,在对加速代码进行资源匹配时,按照所述执行优先级,从所述算力抽象运行时库中选择优先级最高的可用硬件进行注册和资源匹配。
[0013]可选的,还包括:接收硬件注册信息,更新所述算力抽象运行时库中的硬件资源。
[0014]第二方面,本申请实施例提供了一种可实现算力抽象的系统,包括:算力抽象解析器,用于对开发代码进行解析,识别出控制代码和加速代码,通过将所述控制代码和加速代码分别与算子接口进行映射,并对设备管理接口、内核调度接口、内存管理接口中的至少一个进行配置,得到原生代码;算力抽象流转器,用于基于所述原生代码生成流转代码;算力抽象运行时库,用于基于所述流转代码进行资源匹配,并根据资源匹配结果进行硬件链接,生成可执行文件。
[0015]可选的,所述算子接口用于定义计算类运算的统一表述;所述设备管理接口用于注册和管理硬件资源,获取、初始化和配置硬件信息;内核调度接口用于统一描述计算的调度类型、调度特征和属性;内存管理接口用于规范内存分配释放、拷贝迁移和优先级描述。
[0016]可选的,所述控制代码包括所述开发代码中的参数配置代码和/或执行流程代码;所述加速代码包括所述开发代码中的能够通过异构硬件处理的代码部分。
[0017]可选的,所述算力抽象解析器,还用于执行以下处理中的至少一种:将控制代码中的内存使用及地址配置与内存管理接口进行统一表述映射;将控制代码中的设备资源申请及使用与设备管理接口进行统一表述映射;将控制代码中的进程管理及时序控制与内核调度接口进行统一表述映射。
[0018]可选的,还包括:算力抽象代码生成器,用于对所述原生代码进行执行效率的优化,得到优化后的控制代码和加速代码;根据预测得到的所述加速代码在不同硬件上的执行效率和性能分析
结果,生成不同异构硬件执行所述加速代码的执行优先级;所述算力抽象流转器,还用于将优化后的控制代码和加速代码以及所述执行优先级,合并为可统一调度分配的流转代码。
[0019]可选的,所述算力抽象运行时库,还用于将优化后的控制代码和加速代码分别与算力抽象运行时库中注册的硬件资源进行匹配,根据匹配结果完成相关硬件注册和资源匹配,得到资源匹配结果,其中,在对加速代码进行资源匹配时,按照所述执行优先级,从所述算力抽象运行时库中选择优先级最高的可用硬件进行注册和资源匹配。
[0020]可选的,所述算力抽象运行时库,还用于接收硬件注册信息,更新所述算力抽象运行时库中的硬件资源。
[0021]与现有技术相比,本申请实施例提供的可实现算力抽象的方法和系统,提出了一种跨厂商的异构硬件的统一开发系统,通过统一的开发环境和松耦合的开发架构,使开发者的一套代码能够实现异构部署,从而解决硬件厂商之间的开发生态隔离、代码迁移难等问题,提升了资源利用率。
附图说明
[0022]图1为一种单个厂商的开发系统的结构示意图;图2为现有技术中不同厂商开发生态隔离的示意图;图3为本申请实施例的可实现算力抽象的系统的架构示意图;图4为本申请实施例的可实现算力抽象的方法的流程示意图。
具体实施方式
[0023]下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可实现算力抽象的方法,其特征在于,包括:对开发代码进行解析,识别出控制代码和加速代码,通过将所述控制代码和加速代码分别与算子接口进行映射,并对设备管理接口、内核调度接口、内存管理接口中的至少一个进行配置,得到原生代码;基于所述原生代码生成流转代码;基于所述流转代码进行资源匹配,并根据资源匹配结果进行硬件链接,生成可执行文件。2.根据权利要求1所述的方法,其特征在于,所述算子接口用于定义计算类运算的统一表述;所述设备管理接口用于注册和管理硬件资源,获取、初始化和配置硬件信息;内核调度接口用于统一描述计算的调度类型、调度特征和属性;内存管理接口用于规范内存分配释放、拷贝迁移和优先级描述。3.根据权利要求1所述的方法,其特征在于,所述控制代码包括所述开发代码中的参数配置代码和/或执行流程代码;所述加速代码包括所述开发代码中的能够通过异构硬件处理的代码部分。4.根据权利要求1所述的方法,其特征在于,对设备管理接口、内核调度接口、内存管理接口中的至少一个进行配置,包括以下至少一种:将控制代码中的内存使用及地址配置与内存管理接口进行统一表述映射;将控制代码中的设备资源申请及使用与设备管理接口进行统一表述映射;将控制代码中的进程管理及时序控制与内核调度接口进行统一表述映射。5.根据权利要求1所述的方法,其特征在于,基于所述原生代码生成流转代码,包括:对所述原生代码进行执行效率的优化,得到优化后的控制代码和加速代码;根据预测得到的所述加速代码在不同硬件上的执行效率和性能分析结果,生成不同异构硬件执行所述加速代码的执行优先级;将优化后的控制代码和加速代码以及所述执行优先级,合并为可统一调度分配的流转代码。6.根据权利要求5所述的方法,其特征在于,基于所述流转代码进行资源匹配,包括:将优化后的控制代码和加速代码分别与算力抽象运行时库中注册的硬件资源进行匹配,根据匹配结果完成相关硬件注册和资源匹配,得到资源匹配结果,其中,在对加速代码进行资源匹配时,按照所述执行优先级,从所述算力抽象运行时库中选择优先级最高的可用硬件进行注册和资源匹配。7.根据权利要求6所述的方法,其特征在于,还包括:接收硬件注册信息,更新所述算力抽象运行时库中的硬件资源。8.一种可实现算力抽象的系统,其特征在于,包括:算力...

【专利技术属性】
技术研发人员:王晓云罗馨玥王升刘景磊
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1