[发明专利]面向异构SIMD扩展部件的自动向量化方法无效
申请号: | 201310155403.9 | 申请日: | 2013-04-28 |
公开(公告)号: | CN103279327A | 公开(公告)日: | 2013-09-04 |
发明(设计)人: | 赵荣彩;庞建民;姚远;刘鹏;索维毅 | 申请(专利权)人: | 中国人民解放军信息工程大学 |
主分类号: | G06F9/34 | 分类号: | G06F9/34 |
代理公司: | 郑州大通专利商标代理有限公司 41111 | 代理人: | 陈大通 |
地址: | 450002*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及高性能计算自动并行化领域,特别涉及一种面向异构SIMD扩展部件的自动向量化方法,适用于不同向量长度、不同向量指令集的异构SIMD扩展部件,设计一套虚拟指令集,能够在自动向量化统一架构下将输入的C和Fortran程序转化为虚拟指令的中间表示,通过向量长度解虚拟化和指令集解虚拟化,自动变换为面向异构SIMD扩展部件的向量化代码,使程序员从繁冗复杂的手工向量化编码中解脱出来,本发明将向量化方法与相关优化方法相结合,从不同粒度进行向量识别,通过常规优化和引用点优化,最大限度的发掘循环级和基本块级的混合并行性,通过分析跨越基本块的数据依赖,对生成后的代码进行冗余优化,有效提升了程序的执行效率。 | ||
搜索关键词: | 面向 simd 扩展 部件 自动 量化 方法 | ||
【主权项】:
一种面向异构SIMD扩展部件的自动向量化方法,其特征在于包含如下步骤:步骤1、设计虚拟向量指令集,针对不同向量长度和不同向量指令集的异构SIMD扩展部件,设计一套虚拟向量指令集,该虚拟向量指令集包括存取指令、算数运算指令、逻辑运算指令、移位指令、选择指令、比较指令和整理指令共七类基本指令,且该虚拟向量指令集与具体平台指令集无关、与向量长度无关、与数据类型无关,所述虚拟向量指令集中的虚拟向量长度Lenv与具体平台指令集架构的长度位数无关,其值 Len v = 2 [ log 2 MAX ( Len 1 , . . . Len i , . . . ) ] , 其中Leni为不同平台的向量长度;步骤2、预分析与优化,对能否进行基本块向量化进行可行性分析;步骤3、引用点分析与优化;步骤4:超字并行向量化发掘;步骤5:向量长度解虚拟化,为保证虚拟向量长度能够转化为不同长度的物理向量,打包进虚拟向量的基本操作数为打包进物理向量操作数的倍数;步骤6:指令集解虚拟化,由虚拟指令向具体平台指令集进行映射;步骤7:向量化代码优化,针对基本块间的冗余操作,以基本块为单位构建控制流图和数据流图,发掘基本块间的数据依赖,在基本块间建立各个变量打包、拆包的收益模型,在相邻基本块间进行向量化代码优化。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军信息工程大学,未经中国人民解放军信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310155403.9/,转载请声明来源钻瓜专利网。
- 上一篇:水下分离电连接器组件及其插头
- 下一篇:多层陶瓷电子部件及其制造方法