[发明专利]一种基于重排指令融合的编译自动向量化方法在审

专利信息
申请号: 202111096907.9 申请日: 2021-09-17
公开(公告)号: CN113849180A 公开(公告)日: 2021-12-28
发明(设计)人: 漆楚衡;冯竞舸;郑兆凯;李姝其 申请(专利权)人: 中国科学院上海高等研究院
主分类号: G06F8/41 分类号: G06F8/41
代理公司: 上海智信专利代理有限公司 31002 代理人: 杨怡清
地址: 201210 上海市*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 重排 指令 融合 编译 自动 量化 方法
【权利要求书】:

1.一种基于重排指令融合的编译自动向量化方法,其特征在于,包括:

步骤S1:初始化一向量数据流,所述向量数据流用于记录指令组、指令组的索引和指令组间的依赖关系;

步骤S2:收集一个基本块中的Store指令,并按照访问的数据类型以及地址连续性来分组,最终形成若干个Store指令组,每一个Store指令组的所有Store指令访问一段连续地址空间且访问的数据宽度相同;以所有Store指令组作为种子指令组加入同一个向量数据流,同时,对每一个Store指令组赋予索引;

步骤S3:以步骤S2构造的带有种子指令组的向量数据流为起点,构造所有可行的向量数据流,并从中选择最优的向量数据流;

步骤S4:判断步骤S3得到的判断最优的向量数据流的代价是否大于0,如果大于0,则放弃向量化;否则,根据最优的向量数据流进行实质的程序的向量化变换。

2.根据权利要求1所述的基于重排指令融合的编译自动向量化方法,其特征在于,所述步骤S2包括:

步骤S21:通过Store指令收集模块寻找基本块中的Store指令;

步骤S22:检查这些Store指令各自访问的地址之间的依赖关系,将访问的地址之间没有依赖关系的多个Store指令作为能够并行执行的Store指令来分为一组,得到多组经过初次分组的Store指令;对于上述的每一组经过初次分组的Store指令,根据Store指令访问的地址的连续性进行进一步的排序分组,得到多个Store指令组;

步骤S23:以所有的Store指令组均作为种子指令组加入同一个向量数据流,同时,对于每一个Store指令组,按照访问的地址从小到大排列的方式赋予索引,以使得其中的所有Store指令各自具有不同的索引值。

3.根据权利要求2所述的基于重排指令融合的编译自动向量化方法,其特征在于,在所述步骤S22中,进行进一步的排序分组,包括:将同一组经过初次分组的Store指令中访问一段连续地址空间且访问的数据宽度相同的多个Store指令作为一个Store指令组,将其中访问的数据宽度不同或者访问的地址空间不连续的多个Store指令拆分为不同的Store指令组。

4.根据权利要求1所述的基于重排指令融合的编译自动向量化方法,其特征在于,在所述步骤S3中,进行向量数据流的构造,包括:

步骤S31:将所有种子指令组加入向量数据流后得到的向量数据流作为初始的向量数据流,将初始的向量数据流作为本级递归的向量数据流并将当前的本级递归作为第0级递归;

步骤S32:将本级递归的最优返回向量数据流和本级递归的候选指令组集合均设置为无效值;

步骤S33:根据本级递归的向量数据流构造本级递归的候选指令组的集合;

步骤S34:判断本级递归的候选指令组的集合是否为空;若本级递归的候选指令组的集合判断为空,以本级递归的向量数据流作为最下级递归时的本级递归的最优返回向量数据流,随后执行步骤S36;否则,备份本级递归的向量数据流、候选指令组的集合和最优返回向量数据流,随后,执行所述步骤S35;

步骤S35:从本级递归的候选指令组的集合中选取一尚未被取过的候选指令组,将该候选指令组加入本级递归的向量数据流,以使得本级递归的向量数据流的递归等级加一;随后转入步骤S32;

步骤S36:从备份还原出本级递归的向量数据流所在的上一级递归的所对应的向量数据流、候选指令组的集合和最优返回向量数据流,并将本级递归的最优返回向量数据流递归作为返回值返回给其上一级递归;

步骤S37:将所述步骤S36中的上一级递归作为新的本级递归,计算步骤S36的返回值的索引和代价,将其与本级递归的最优返回向量数据流的代价相比较,根据比较结果更新本级递归的最优返回向量数据流;

步骤S38:确定本级递归的向量数据流是否其所有候选指令组的选取分支均计算完毕,若尚未计算完毕,则回到所述步骤S35;否则,回到步骤S36以进一步返回至上一级递归,直到不存在上一级递归,输出此时的本级递归的最优返回向量数据流及其代价作为最优的向量数据流及其代价。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院上海高等研究院,未经中国科学院上海高等研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202111096907.9/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top