【技术实现步骤摘要】
【国外来华专利技术】使用混洗表和掩码存储表经由矢量指令优化程序循环的方法专利
本专利技术的各实施例通常涉及程序循环的优化。尤其,本专利技术的各实施例涉及使用混洗表和掩码存储表经由矢量指令优化程序循环的优化。背景几乎所有数据处理应用都涉及必须对数据集合迭代地执行的操作。这样的程序循环可以包括任何数量的指令,且可以迭代根据计算机程序确定的任何次数。很常见的情况是,基于第三数组的条件把第一数组的值赋值给第二数组。通常,为了实现这样的操作,取决于第三数组的相应元素,利用程序循环来把第一数组的元素迭代地赋值给第二数组的元素,以标量方式每次一个元素地进行,如图3中所示的。在如图3中所示出的示例中,基于数组b[]的相应元素的值或条件,在程序循环中每次一个元素地把数组a[]的元素赋值给数组dest[]。然而,因为由处理器执行的大量的迭代和指令,这样的实现是低效的。附图简述作为示例而非限制,在附图的各图中阐释本专利技术的各实施例,附图中,类似的标号指示相似的元素。图1是阐释根据一种实施例的代码优化器的框图。图2是阐释根据一种实施例优化程序代码的方法的流程图。图3是表示典型程序循环的伪代码。图4是根据一种实施例用高级矢量指令表示程序循环的伪代码。图5是阐释根据一种实施例存储混洗表和掩码存储表的数据结构的图。图6是阐释根据一种实施例用于优化程序循环的方法的流程图。图7是根据另一实施例用高级矢量指令表示程序循环的伪代码。图8是阐释根据一种实施例存储混洗表和混合表的数据结构的图。图9是阐释根据另一实施例用于优化程序循环的方法的流程图。图10是阐释根据一种实施例的数据处理系统的示例的框图。图11是阐 ...
【技术保护点】
一种计算机实现的方法,包括:接收第一代码,所述第一代码具有以标量指令实现的程序循环,用于基于第三数组的值把第一数组的值存储到第二数组中;以及生成第二代码,所述第二代码用矢量指令表示所述程序循环,所述第二代码包括混洗指令,用于以矢量方式使用混洗表基于所述第三数组混洗所述第一数组的元素,以及存储指令,用于以矢量方式使用掩码存储表将所述第一数组的已混洗的元素存储在所述第二数组中。
【技术特征摘要】
【国外来华专利技术】1.一种计算机实现的方法,包括:接收第一代码,所述第一代码具有以标量指令实现的程序循环,以便基于第三数组的值把第一数组的值存储到第二数组中;以及生成第二代码,所述第二代码用矢量指令表示所述程序循环,其中所述第二代码包括:混洗指令,用于以矢量方式使用混洗表基于所述第三数组混洗所述第一数组的元素,以及存储指令,用于以矢量方式使用掩码存储表将所述第一数组的已混洗的元素存储在所述第二数组中。2.如权利要求1所述的方法,其特征在于,所述第二代码进一步包括:用于将所述第三数组的元素与预先确定的阈值进行比较,从而生成比较结果的指令,以及用于基于所述比较结果生成掩码的指令,其中所述第一数组的所述元素将基于所述掩码而被混洗。3.如权利要求2所述的方法,其特征在于,所述第二代码进一步包括:用于加载基于所述掩码选择的所述混洗表的元素的指令,并且所述第一数组的所述元素将基于所述混洗表的已选择的元素经由所述混洗指令而被混洗。4.如权利要求2所述的方法,其特征在于,所述第二代码进一步包括用于加载基于所述掩码而选择的所述掩码存储表的元素的指令,并且所述第一数组的已混洗的元素将基于所述掩码存储表的已选择的元素经由所述存储指令而被存储。5.如权利要求4所述的方法,其特征在于,基于所述掩码的具有预先确定的逻辑值的比特的数量,确定所述掩码存储表的已选择的元素。6.如权利要求2所述的方法,其特征在于,所述第二代码进一步包括用于将所述预先确定的阈值存储在矢量寄存器中的指令,并且所述第一数组的所述元素将经由矢量比较指令与存储在所述矢量寄存器中的值进行比较。7.如权利要求2所述的方法,其特征在于,基于存储在矢量寄存器中的所述比较结果的符号位,生成所述掩码。8.一种用于计算机的设备,所述设备包括:代码接收装置,被配置成接收第一代码,所述第一代码具有以标量指令实现的程序循环,以便基于第三数组的值把第一数组的值存储到第二数组中;以及代码生成装置,被配置成生成第二代码,所述第二代码用矢量指令表示所述程序循环,其中所述第二代码包括:混洗指令,用于以矢量方式基于所述第三数组使用混洗表混洗所述第一数组的元素,以及存储指令,用于以矢量方式使用掩码存储表将所述第一数组的已混洗的元素存储在所述第二数组中。9.如权利要求8所述的设备,其特征在于,所述第二代码进一步包括:用于将所述第三数组的元素与预先确定的阈值进行比较,从而生成比较结果的指令,以及用于基于所述比较结果生成掩码的指令,其中所述第一数组的所述元素将基于所述掩码而被混洗。10.如权利要求9所述的设备,其特征在于,所述第二代码进一步包括用于加载基于所述掩码选择的所述混洗表的元素的指令,并且所...
【专利技术属性】
技术研发人员:T·尤里尔,E·乌尔德阿迈德瓦尔,B·L·托尔,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。