[发明专利]部分向量化编译系统有效
申请号: | 201280076012.1 | 申请日: | 2012-10-25 |
公开(公告)号: | CN104641351B | 公开(公告)日: | 2018-09-18 |
发明(设计)人: | T-F.恩盖;C.林;Y.沈;C.张 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/30 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 徐予红;刘春元 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 向量化 后向 体内 向量处理器 编译系统 动态循环 内容提供 向量指令 选择循环 循环迭代 迭代 配置 检查 | ||
通常,本公开内容提供用于生成和执行可包括要向量化的代码的循环体内的后向依赖的部分向量化代码的技术。方法可包括识别代码的循环体内的后向依赖;选择循环体内迭代的一个或更多个范围,其中,选择的范围不包括识别的后向依赖;并且将选择的范围向量化。系统可包括配置成提供断定的向量指令执行、循环迭代范围启用和动态循环依赖检查的向量处理器。
技术领域
本公开内容涉及编译技术,并且更具体地说,涉及具有部分向量化代码生成的编译系统。
背景技术
向量处理器通常通过提供包括多个标量单元/处理器的向量处理单元而允许增大的程序执行速度,以便并行处理多个数据元素或数据阵列。可用的标量单元/处理器的数量经常称为向量长度。向量处理单元执行的指令是向量指令,向量指令可指定操作和要并行操作的数据的阵列。每个标量单元/处理器在数据的阵列的对应元素上执行操作。存在向量化编译器,向量化编译器一般情况下将代码从例如便于程序员读和写的形式的自然形式转换成适合由向量处理器执行的形式。它们一般情况下识别操作的独立指令,重新布置对应数据操作数到数据阵列中,并且将它们转换成对应向量指令。此过程称为向量化。
然而,由于依赖问题,这些现有编译器经常未能向量化代码的区域。例如,如果第二指令的执行以某种方式取决于第一指令的执行的结果,则两个不同指令不能并行执行。在检测到此类依赖问题时,编译器可将大小增大的代码的区域指定为不适合向量化。因此,向量处理的可能性可能不完全实现。
发明内容
本申请一个方面提供一种用于处理部分向量化代码的系统,所述系统包括:部分向量化编译器,配置成识别所述代码的单个循环体内的后向依赖,其中所述单个循环体包括多个范围的迭代,选择所述循环体内迭代的一个或更多个范围,其中所述选择的范围不包括所述识别的后向依赖,并且将所述选择的范围向量化;以及向量处理器,配置成执行所述选择的范围。本申请另一方面提供一种用于代码的部分向量化的方法,所述方法包括:识别所述代码的单个循环体内的后向依赖;其中所述单个循环体包括多个范围的迭代,选择所述循环体内一个或更多个范围的迭代,其中所述选择的范围不包括所述识别的后向依赖;以及将所述选择的范围向量化。
本申请再一个方面提供上面存储有指令的计算机可读存储媒体,所述指令在由处理器执行时产生用于代码的部分向量化的以下操作,所述操作包括:识别所述代码的单个循环体内的后向依赖,其中所述单个循环体包括多个范围的迭代;选择所述循环体内迭代的一个或更多个范围,其中所述选择的范围不包括所述识别的后向依赖;以及将所述选择的范围向量化。
本申请再另一个方面提供一种用于代码的部分向量化的装置,所述装置包括:用于识别所述代码的单个循环体内的后向依赖的部件,其中所述单个循环体包括多个范围的迭代;用于选择所述循环体内迭代的一个或更多个范围的部件,其中所述选择的范围不包括所述识别的后向依赖;以及用于将所述选择的范围向量化的部件。
附图说明
所要求保护的主题的实施例的特征和优点随着以下具体实施例继续,并参照附图(其中类似的标号示出类似部分)将变得明白,并且其中:
图1示出与本公开内容一致的一个示范实施例的顶级系统图;
图2示出与本公开内容的示范实施例一致的部分向量化的图;
图3示出与本公开内容一致的一个示范实施例的框图;
图4示出与本公开内容的示范实施例一致的循环平整(flattening);
图5示出与本公开内容的示范实施例一致的循环依赖图生成;
图6示出与本公开内容的示范实施例一致的循环依赖图分割;
图7示出与本公开内容的示范实施例一致的条件向量化的示例;
图8示出与本公开内容的示范实施例一致的条件向量化的另一示例;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280076012.1/2.html,转载请声明来源钻瓜专利网。