代码编译方法及相关装置制造方法及图纸

技术编号:38756737 阅读:29 留言:0更新日期:2023-09-10 09:41
本发明专利技术实施例公开一种代码编译方法及相关装置,所述方法包括:获取待编译的目标中间代码;解析所述目标中间代码中的函数体外函数调用信息,得到多个函数体外函数;根据所述目标中间代码中的多个函数调用指令对应的函数名以及实参的数据类型,以及所述多个函数体外函数,确定多个被调用的函数的目标副本,其中,所述被调用的函数的目标副本中标识有形参的矢量属性;根据所述多个被调用的函数的目标副本得到可被并行处理器执行的目标指令集。这样,电子设备的中央处理器能够基于目标中间代码将标量指令与矢量指令区分开来,从而使得并行处理器中不同的处理单元/处理单元组能够正确执行标量/矢量指令,提高处理速度,降低功耗。耗。耗。

【技术实现步骤摘要】
代码编译方法及相关装置


[0001]本专利技术涉及新一代信息技术产业的一般编码、译码或代码转换
,具体涉及一种代码编译方法及相关装置。

技术介绍

[0002]在对数据进行并行处理的过程中,并行处理器所执行的指令集既存在与数据处理相关的矢量指令,也存在与数据处理无关的标量指令,对于传统的并行处理器(如图形处理器GPU)而言,其遵循单指令多线程(Single Instruction Multiple Thread,SIMT)架构同等对待执行每一条指令,而不会去区分指令中的矢量指令和标量指令。这样一来,标量指令也会在多线程中重复运行,而由于标量指令与数据处理无关,所以标量指令的重复运行是毫无意义的,导致传统的并行处理器存在浪费运行时间和功耗的问题。
[0003]目前,存在一种新型的并行处理器,能够分别执行矢量指令和标量指令,以实现更快速、更低功耗的运行。但是,在针对该新型的并行处理器进行相关的开发工作时,由于编写习惯等因素,开发人员仍具有采用传统的并行编程模型进行编写源代码的需求,但是采用传统的并行编程模型所编写出的源代码可能存在与该新本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种代码编译方法,其特征在于,应用于电子设备的中央处理器,所述电子设备包括所述中央处理器和并行处理器,所述并行处理器包括标量指令处理单元和矢量指令处理单元组,所述方法包括:获取待编译的目标中间代码;解析所述目标中间代码中的函数体外函数调用信息,得到多个函数体外函数;根据所述目标中间代码中的多个函数调用指令对应的函数名以及实参的数据类型,以及所述多个函数体外函数,确定多个被调用的函数的目标副本,其中,所述被调用的函数的目标副本中标识有形参的矢量属性,所述被调用的函数与所述函数名以及所述实参的数据类型对应;根据所述多个被调用的函数的目标副本得到可被所述并行处理器执行的目标指令集,所述目标指令集包括目标标量指令集和目标矢量指令集,所述目标标量指令集包括可被所述标量指令处理单元执行的多个标量指令,所述标量指令是指与数据处理无关的指令,所述目标矢量指令集包括可被所述矢量指令处理单元组执行的多个矢量指令,所述矢量指令是指与数据处理相关的指令。2.根据权利要求1所述的方法,其特征在于,所述解析所述目标中间代码中的函数体外函数调用信息,得到多个函数体外函数,包括:对所述目标中间代码进行解析,以确定入口函数的位置;对所述入口函数进行解析,以得到多个第一函数,所述第一函数为所述入口函数调用的外部函数;对所述多个第一函数分别进行解析,直到所述多个第一函数中存在调用关系的外部函数均解析完,得到多个第二函数,所述多个函数体外函数包括所述多个第一函数和所述多个第二函数。3.根据权利要求2所述的方法,其特征在于,所述对所述多个第一函数分别进行解析,直到所述多个第一函数中存在调用关系的外部函数均解析完,得到多个第二函数,包括:分别解析所述多个第一函数,并确认所述多个第一函数中是否有存在调用关系的外部函数;若所述多个第一函数中有存在调用关系的外部函数,对所述存在调用关系的外部函数分别进行解析,直到所述存在调用关系的外部函数中不存在外部引用的函数,得到多个第二函数。4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述目标中间代码中的多个函数调用指令对应的函数名以及实参的数据类型,以及所述多个函数体外函数,确定多个被调用的函数的目标副本,包括:根据所述多个函数调用指令对应的函数名和实参的数据类型,从所述多个函数体外函数中确定多个函数体,所述函数体与所述函数名、所述实参的数据类型、所述函数体外函数对应;根据所述多个函数体对应的函数被调用时的实参的矢量属性,得到多个被调用的函数的目标副本。5.根据权利要求4所述的方法,其特征在于,所述根据所述多个函数体对应的函数被调用时的实参的矢量属性,得到多个被调用的函数的目标副本,包括:
复制所述多个函数体,以得到多个被调用的函数的初始副本;根据每个所述函数名和所述实参的数据类型对应的函数被调用时的实参的矢量属性,对所述多个被调用...

【专利技术属性】
技术研发人员:贾昆猛李原朱建斌付尧雷宇
申请(专利权)人:珠海市芯动力科技有限公司
类型:发明
国别省市:

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

1