一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

编译的方法、装置、设备及介质与流程

2022-02-19 12:45:18 来源:中国专利 TAG:

技术特征:
1.一种编译的方法,其中,包括:对源程序数据进行分析,确定目标不规则分支;根据所述目标不规则分支生成更新数据流图;以及将所述更新数据流图映射至目标硬件上,以完成所述编译。2.根据权利要求1所述的方法,其中,所述对源程序数据进行分析,确定目标不规则分支,包括:对所述源程序数据进行分析,以确定对应的原始转化数据;基于所述原始转化数据生成的初始间隔集合,确定所述目标不规则分支。3.根据权利要求2所述的方法,其中,所述对所述源程序数据进行分析,以确定对应的原始转化数据,包括:通过编译前端对所述源程序数据进行解析,以生成中间表达式;采用图生成技术将所述中间表达式转化为原始数据流图和原始控制流图;其中,所述原始数据流图和所述原始控制流图为所述原始转化数据。4.根据权利要求3所述的方法,其中,所述基于所述原始转化数据生成的初始间隔集合,确定所述目标不规则分支,包括:根据所述目标硬件的计算单元数量,确定对应所述原始数据流图和所述原始控制流图的初始间隔集合,其中所述初始间隔集合包括:长路径初始间隔和短路径初始间隔;根据所述长路径初始间隔和所述短路径初始间隔之间的大小关系,确定目标不规则分支。5.根据权利要求4所述的方法,其中,所述根据所述目标硬件的计算单元数量,确定对应所述原始数据流图和所述原始控制流图的初始间隔集合,包括:分别统计属于所述原始控制流图的第一基本块中的操作数量和第二基本块中的操作数量,以确定分支结构的路径长度和所述初始间隔集合。6.根据权利要求3所述的方法,其中,所述根据所述目标不规则分支生成更新数据流图,包括:确定所述目标不规则分支的目标结点;根据所述目标结点的数据依赖关系、所述目标结点与所述原始数据流图对应的操作控制关系,生成所述更新数据流图。7.根据权利要求6所述的方法,其中,所述确定所述目标不规则分支的目标结点,包括:根据输出的分支整体流水线内核,结合所述目标不规则分支的路径初始间隔关系,确定所述目标不规则分支的结点复制次数,其中,所述路径初始间隔关系为所述结点复制次数与对应所述目标不规则分支的长路径流水线内核初始间隔、以及分支整体流水线内核之间的预设关系;对所述目标不规则分支包含的结点执行所述结点复制次数的复制,以确定所述目标不规则分支的目标结点。8.根据权利要求6所述的方法,其中,所述根据所述目标结点的数据依赖关系、所述目标结点与所述原始数据流图对应的操作控制关系,生成所述更新数据流图,包括:根据所述原始数据流图的数据依赖关系与原始路径切换的控制依赖关系,在所述原始数据流图中为所述目标结点增加相应的数据边和控制边、并为所述原始数据流图中的目标
不规则分支中的结点增加相应的控制边,以生成所述更新数据流图。9.根据权利要求1所述的方法,其中,所述将所述更新数据流图映射至目标硬件上,以完成所述编译,包括:将所述更新数据流图映射到所述目标硬件的时间扩展的抽象图上,以生成映射结果;对所述映射结果执行翻译转化,得到在所述目标硬件上执行的二进制配置文件,以完成所述编译。10.根据权利要求9所述的方法,其中,所述将所述更新数据流图映射到所述目标硬件的时间扩展的抽象图上,以生成映射结果,包括:确定所述更新数据流图中至少一个操作的执行时间;根据所述执行时间建立所述至少一个操作与所述目标硬件的至少一个计算单元之间的映射对应关系;以及根据所述映射对应关系,将所述更新数据流图中至少一个边对应到所述抽象图的互连线中的对应边上,生成所述映射结果。11.根据权利要求10所述的方法,其中,所述根据所述执行时间建立所述至少一个操作与所述目标硬件的至少一个计算单元之间的映射对应关系,包括:查询在所述执行时间中尚未被占用的所述至少一个计算单元;查询在所述执行时间中尚未被占用的硬件互连资源;将所述至少一个操作与所述至少一个计算单元的单元标号一一对应,以及将所述至少一条边与所述硬件互连资源一一对应,以建立映射对应关系。12.根据权利要求9所述的方法,其中,所述对所述映射结果执行翻译转化,得到在所述目标硬件上执行的二进制配置文件,以完成所述编译,包括:根据所述目标硬件的配置包格式对所述映射结果执行信息提取和转换,以生成所述二进制配置文件;通过所述目标硬件执行所述二进制配置文件。13.根据权利要求1所述的方法,其中,在所述根据所述目标不规则分支生成更新数据流图之前,还包括:分析所述源程序数据对应的多个流水线方案的最小初始间隔之间的大小关系;根据所述最小初始间隔之间的大小关系,从所述多个流水线方案中选出最小初始间隔最小的一个流水线方案作为目标流水线方案,其中,所述多个流水线方案包括基于部分谓词技术的第一流水线方案、基于全谓词技术的第二流水线方案和基于权利要求1所述的第三流水线方案;其中,所述根据所述目标不规则分支生成更新数据流图包括:当所述目标流水线方案为所述第三流水线方案时,根据所述目标不规则分支生成更新数据流图。14.根据权利要求13所述的方法,其中,所述分析所述源程序数据对应的多个流水线方案的最小初始间隔之间的大小关系,包括:解析所述源程序数据,以确定原始转化数据;根据所述目标硬件的计算单元数量,分别确定对所述原始转化数据采用所述第一流水线方案、所述第二流水线方案以及所述第三流水线方案处理分支时所能实现的第一最小初
始间隔、第二最小初始间隔以及第三最小初始间隔,以确定所述第一流水线方案、所述第二流水线方案以及所述第三流水线方案之间的所述最小初始间隔之间的大小关系。15.根据权利要求13所述的方法,其中,所述根据所述最小初始间隔之间的大小关系,从所述多个流水线方案中选出最小初始间隔最小的一个流水线方案作为目标流水线方案,包括:通过对比所述第一最小初始间隔、所述第二最小初始间隔以及所述第三最小初始间隔,确定所述第一流水线方案、第二流水线方案以及第三流水线方案中之一作为所述目标流水线方案;其中,当所述第一最小初始间隔、所述第二最小初始间隔以及所述第三最小初始间隔相同时,根据所述目标硬件的承载力,确定所述第一流水线方案、第二流水线方案以及第三流水线方案中之一作为所述目标流水线方案。16.根据权利要求13所述的方法,还包括:当所述一个流水线方案为第一流水线方案时,根据选择操作在所述原始转化数据的原始数据流图中增加细粒度选择信号;当所述一个流水线方案为第二流水线方案时,在所述原始转化数据的原始数据流图中增加细粒度使能控制边;当所述一个流水线方案为第三流水线方案时,在所述原始转化数据的原始数据流图中增加结点、粗粒度数据边、细粒度使能控制边。17.一种编译的装置,其中,包括:分析确定模块,用于对源程序数据进行分析,确定目标不规则分支;流图生成模块,用于根据所述目标不规则分支生成更新数据流图;以及流图映射模块,用于将所述更新数据流图映射至目标硬件上,以完成所述编译。18.一种电子设备,其中,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~16中任一项所述的方法。19.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~16中任一项所述的方法。20.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~16中任一项所述的方法。

技术总结
本发明提供了一种编译的方法、装置、设备及可读存储介质。其中,该编译的方法包括:对源程序数据进行分析,确定目标不规则分支;根据目标不规则分支生成更新数据流图;以及将更新数据流图映射至目标硬件上,以完成编译。因此,可以充分挖掘源程序中分支结构的特征,解决现有谓词技术在处理不规则分支时性能较差的问题,使得编译过程的性能收益最大化。使得编译过程的性能收益最大化。使得编译过程的性能收益最大化。


技术研发人员:刘雷波 原宝芬 尹首一 魏少军
受保护的技术使用者:清华大学
技术研发日:2021.10.11
技术公布日:2022/1/4
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献