[发明专利]面向异构SIMD扩展部件的自动向量化方法无效
申请号: | 201310155403.9 | 申请日: | 2013-04-28 |
公开(公告)号: | CN103279327A | 公开(公告)日: | 2013-09-04 |
发明(设计)人: | 赵荣彩;庞建民;姚远;刘鹏;索维毅 | 申请(专利权)人: | 中国人民解放军信息工程大学 |
主分类号: | G06F9/34 | 分类号: | G06F9/34 |
代理公司: | 郑州大通专利商标代理有限公司 41111 | 代理人: | 陈大通 |
地址: | 450002*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 simd 扩展 部件 自动 量化 方法 | ||
1.一种面向异构SIMD扩展部件的自动向量化方法,其特征在于包含如下步骤:
步骤1、设计虚拟向量指令集,针对不同向量长度和不同向量指令集的异构SIMD扩展部件,设计一套虚拟向量指令集,该虚拟向量指令集包括存取指令、算数运算指令、逻辑运算指令、移位指令、选择指令、比较指令和整理指令共七类基本指令,且该虚拟向量指令集与具体平台指令集无关、与向量长度无关、与数据类型无关,所述虚拟向量指令集中的虚拟向量长度Lenv与具体平台指令集架构的长度位数无关,其值
步骤2、预分析与优化,对能否进行基本块向量化进行可行性分析;
步骤3、引用点分析与优化;
步骤4:超字并行向量化发掘;
步骤5:向量长度解虚拟化,为保证虚拟向量长度能够转化为不同长度的物理向量,打包进虚拟向量的基本操作数为打包进物理向量操作数的倍数;
步骤6:指令集解虚拟化,由虚拟指令向具体平台指令集进行映射;
步骤7:向量化代码优化,针对基本块间的冗余操作,以基本块为单位构建控制流图和数据流图,发掘基本块间的数据依赖,在基本块间建立各个变量打包、拆包的收益模型,在相邻基本块间进行向量化代码优化。
2.根据权利要求1所述的面向异构SIMD扩展部件的自动向量化方法,其特征在于:所述步骤2包含:首先进行循环迭代次数分析,设置循环迭代次数阈值,分析语句向量化情况,其次,包含内容如下:
步骤2.1、根据循环中语句可向量化指令个数与语句的指令总数的比例,首先判断不同硬件平台上是否提供该条指令所对应的向量化指令,然后,对不同的指令赋于不同的权值,通过计算语句中可向量化操作的权重,得到向量化后收益值,当该收益值大于设定的阈值时,该语句向量化;
步骤2.2、根据循环中可向量化语句占循环中语句总数的比例,通过步骤2.2得到循环中可向量化语句占循环中语句总数的比例,当该值大于设定的阈值时,该语句向量化;
步骤2.3、根据循环中可向量化的操作个数占所有操作个数的比例,对不同的可向量化操作赋予不同的权重,得到循环中可向量化的操作个数占所有操作个数的比例,设定的阈值为从总体上判断循环中可向量化操作的数目,当得到的比例值大于设定的阈值时,该语句向量化;
步骤2.4、根据循环中访问存储器的操作个数占循环中所有操作个数的比例,设定的阈值为从总体上判断循环访问存储器的操作数目,当得到的比例值大于设定的阈值时,该语句向量化。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军信息工程大学,未经中国人民解放军信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310155403.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:水下分离电连接器组件及其插头
- 下一篇:多层陶瓷电子部件及其制造方法