System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种图形处理器的指令编译方法、电子设备及存储介质技术_技高网

一种图形处理器的指令编译方法、电子设备及存储介质技术

技术编号:44042803 阅读:8 留言:0更新日期:2025-01-15 01:20
本发明专利技术公开了一种图形处理器的指令编译方法、电子设备及存储介质,该方法包括:在应用程序首次初始化编程模型架构下的接口时,接收应用程序注册的核函数及提交的指令代码文件;实时生成第一函数句柄,将第一函数句柄发送至应用程序,以完成初始化编程模型架构下的接口;离线将指令代码文件编译为指令代码集;在预置的缓存库中存储指令代码集及离线编译指令代码文件时产生的编译信息;将指令代码集上载到非编程模型架构下的图形处理器中,得到第二函数句柄;在预置的接口管理模块中记录第一函数句柄与第二函数句柄之间的映射关系。快速完成对接口进行初始化,在离线时对编译指令代码文件进行充分编译得到较优的编译信息,提高了编译效率和质量。

【技术实现步骤摘要】

本专利技术涉及异构转换,尤其涉及一种图形处理器的指令编译方法、电子设备及存储介质


技术介绍

1、上层的应用程序与下层的gpu(图形处理器)不是同一个架构时,两者交互时需要进行指令编译,例如,cuda是一套并行编程框架,目前只有一家公司的gpu支持该框架,则不同架构的gpu之间需进行异构指令编译,来实现异构指令调用。

2、在传统的异构指令编译执行体系,以业界实施最多的架构转换cuda程序转换为dtk指令为例进行说明,如下图所示,将cuda的调用分为两种类型,第一种是api调用,不包含指令代码文件,这是绝大多数调用形式。处理时只要考虑api函数对应关系、数据结构对应关系、指针类型对应关系及主要实体对应关系即可。第二种是指令代码文件的编译,基本是采用llvm框架系统来将指令代码文件编译为另一框架系统支持的指令代码集。

3、这样做存在的最大问题是指令代码文件是实时编译完成的,实时编译时间短,使得优化编译方法无法充分运行,即无法得到最优的指令代码文件,导致最终编译运行后的系统运行速度慢。


技术实现思路

1、为了解决上述技术问题,本专利技术提供了一种图形处理器的指令编译方法、电子设备及存储介质。

2、本专利技术的第一方面提供了一种图形处理器的指令编译方法,包括:

3、在应用程序首次初始化编程模型架构下的接口时,接收所述应用程序注册的核函数及提交的指令代码文件;

4、实时生成第一函数句柄,将所述第一函数句柄发送至所述应用程序,以完成初始化所述编程模型架构下的接口;

5、离线将所述指令代码文件编译为指令代码集;

6、在预置的缓存库中存储所述指令代码集及离线编译所述指令代码文件时产生的编译信息;

7、将所述指令代码集上载到非所述编程模型架构下的图形处理器中,得到第二函数句柄;

8、在预置的接口管理模块中记录所述第一函数句柄与所述第二函数句柄之间的映射关系。

9、本专利技术的第二方面提供了一种图形处理器的指令编译装置,该装置包括:

10、信息获取模块,用于在应用程序首次初始化编程模型架构下的接口时,接收所述应用程序注册的核函数及提交的指令代码文件;

11、接口初始化模块,用于实时生成第一函数句柄,将所述第一函数句柄发送至所述应用程序,以完成初始化所述编程模型架构下的接口;

12、离线编译模块,用于离线将所述指令代码文件编译为指令代码集;

13、存储模块,用于在预置的缓存库中存储所述指令代码集及离线编译所述指令代码文件时产生的编译信息;

14、函数句柄获取模块,用于将所述指令代码集上载到非所述编程模型架构下的图形处理器中,得到第二函数句柄;

15、映射关系记录模块,用于在预置的接口管理模块中记录所述第一函数句柄与所述第二函数句柄之间的映射关系。

16、本专利技术的第三方面提供了一种电子设备,所述电子设备包括:

17、至少一个处理器;以及

18、与所述至少一个处理器通信连接的存储器;其中,

19、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述第一方面所述的图形处理器的指令编译方法。

20、本专利技术的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的图形处理器的指令编译方法。

21、在上述的图形处理器的指令编译方法中,在应用程序首次初始化编程模型架构下的接口时,接收应用程序注册的核函数及提交的指令代码文件,将实时生成的第一函数句柄发送至应用程序,以完成初始化编程模型架构下的接口,则可以快速完成对接口进行初始化,节约接口初始化的时间。离线将指令代码文件编译为指令代码集;在预置的缓存库中存储指令代码集及离线编译指令代码文件时产生的编译信息;则在离线时具备充足的时间来对编译指令代码文件进行编译,进而可以得到较优的编译信息,提高了编译效率和质量。将指令代码集上载到非编程模型架构下的图形处理器中,得到第二函数句柄;在预置的接口管理模块中记录第一函数句柄与第二函数句柄之间的映射关系,则可以基于该映射关系进行异构指令调用。

22、应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。

本文档来自技高网...

【技术保护点】

1.一种图形处理器的指令编译方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述离线将所述指令代码文件编译为指令代码集,包括:

3.根据权利要求1所述的方法,其特征在于,所述编译信息包括优先级,离线编译的所述指令代码集的优先级为第一等级。

4.根据权利要求1-3中任一项所述的方法,其特征在于,还包括:

5.根据权利要求4所述的方法,其特征在于,还包括:

6.根据权利要求5所述的方法,其特征在于,所述在所述缓存库中依据所述编译信息读取其中一个所述指令代码集,包括:

7.根据权利要求4所述的方法,其特征在于,还包括:

8.根据权利要求7所述的方法,其特征在于,所述编译信息包括优先级,实时编译的所述指令代码集的优先级为第二等级。

9.一种电子设备,其特征在于,所述电子设备包括:

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-8中任一项所述的图形处理器的指令编译方法。

【技术特征摘要】

1.一种图形处理器的指令编译方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述离线将所述指令代码文件编译为指令代码集,包括:

3.根据权利要求1所述的方法,其特征在于,所述编译信息包括优先级,离线编译的所述指令代码集的优先级为第一等级。

4.根据权利要求1-3中任一项所述的方法,其特征在于,还包括:

5.根据权利要求4所述的方法,其特征在于,还包括:

6.根据权利要求5所述的方法,其特征在于,所述在所述缓...

【专利技术属性】
技术研发人员:程伟邓玲曾楚轩李飞鹏杜量
申请(专利权)人:中国联合网络通信有限公司广东省分公司
类型:发明
国别省市:

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

1