【技术实现步骤摘要】
相关申请的交叉引用本申请要求2013年3月15日提交的标题名称为“A METHOD TO PARALLELIZE LOOPS IN THE PRESENCE OF POSSIBLE MEMORY ALIASES”的美国申请61/788,471的优先权,所述美国申请在此以引用的方式整体并入本文中。
本公开一般来说涉及并行处理,并且更具体来说涉及并行化循环。
技术介绍
现代硬件技术通过使用多个处理元件(PE)来提供增加处理速度的能力,所述多个处理元件各自可以执行分开的并行操作;这样的处理有时被称为并行处理或并行化。为了在处理中利用来自并行化的潜在加速,编译器可确定是否可并行化源代码。例如,如果循环的每一迭代不依赖于循环的任何先前迭代,则编译器可并行化循环-被称为向量化。这样的依赖性通常是以存储器别名的形式-即,其中多个指针引用单个存储地址。编译器可在编译时间尝试证明这样的潜在存储器别名不存在,以使得编译器可产生并行代码。附图说明根据以下详细描述和附图最好地理解本公开。应强调的是,根据行业中的标准惯例,各种特征并没有按比例描绘并且仅用于图解说明目的。事实上,为了论述的清晰性,可任意增大或减小各种特征的尺寸。图1为根据本说明书的一个或多个实施方案的用于在存在可能的存储器别名的情况下并行化循环的例示性逻辑的流程图。图2为根据本说明书的一个或多个实施方案的包括含有启用的< ...
【技术保护点】
一种用以在存在可能的存储器别名的情况下确定可能用于循环的并行化程度的方法,所述方法包括:提供硬件指令,所述硬件指令在运行时间测试存储地址;以及设定模式或寄存器,所述模式或寄存器使循环的单个实例能够运行遵守初始标量循环的语义的最大数目的单指令多数据(SIMD)通道以便并行地运行。
【技术特征摘要】
2013.03.15 US 61/788,471;2014.03.07 US 14/200,7881.一种用以在存在可能的存储器别名的情况下确定可能用于循
环的并行化程度的方法,所述方法包括:
提供硬件指令,所述硬件指令在运行时间测试存储地址;以及
设定模式或寄存器,所述模式或寄存器使循环的单个实例能够运
行遵守初始标量循环的语义的最大数目的单指令多数据(SIMD)通道
以便并行地运行。
2.如权利要求1所述的方法,其中启用的并行化的量是由用于
指针别名使用的运行时间测试来确定的。
3.如权利要求1所述的方法,其中服从遵守所述初始标量循环
的循环携带依赖性,启用最大数目的向量通道以获得最大加速。
4.如权利要求1所述的方法,其中处理器被配置来确定可启用
仅一个向量通道以再生所述标量循环的所述语义。
5.如权利要求1所述的方法,其中硬件具有用以规定启用多少
向量通道的机构,并且其中所述硬件包括模式寄存器,所述模式寄存
器含有启用的通道的数目,或所述硬件包括屏蔽寄存器,所述屏蔽寄
存器控制启用哪些通道。
6.如权利要求5所述的方法,其中所述硬件具有用以依赖于在
运行时间的存储地址的测试来设定所述模式寄存器以启用所述最大
数目的向量通道的机构。
7.如权利要求5所述的方法,其中所述硬件具有依赖于所述启
用的通道的数目来更改所述循环的迭代的数目的机构。
8.如权利要求1所述的方法,其中SIMD分级循环允许所述循
环在并非向量化因数的倍数的向量长度上运行。
9.如权利要求1所述的方法,其中归纳变量的增量是通过在所
述循环中启用的向量通道的数目来按比例缩放的。
10.如权利要求1所述的方法,其中所述方法包括跨越当前根据
模式寄存器启用的向量通道来执行约简,所述约简进一步包括求和、
逐位运算、最小值或最大值。
11.如权利要求1所述的方法,其中所述方法包括将值从在循环
的最后迭代中使用的最后向量通道复制到存储器或复制到已知的寄
存器位置。
12.一种用于在存...
【专利技术属性】
技术研发人员:M·G·佩尔金斯,J·L·瑞德福特,K·桑海,
申请(专利权)人:亚德诺半导体技术公司,
类型:发明
国别省市:百慕大群岛;BM
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。