METHODS AND SYSTEMS TO VECTORIZE SCALAR COMPUTER PROGRAM LOOPS HAVING LOOP-CARRIED DEPENDENCES
    2.
    发明申请
    METHODS AND SYSTEMS TO VECTORIZE SCALAR COMPUTER PROGRAM LOOPS HAVING LOOP-CARRIED DEPENDENCES 有权
    用于展示具有循环载体的标量计算机程序脚本的方法和系统

    公开(公告)号:US20160154638A1

    公开(公告)日:2016-06-02

    申请号:US15018445

    申请日:2016-02-08

    Abstract: Methods and systems to convert a scalar computer program loop having loop-carried dependences into a vector computer program loop are disclosed. One such method includes, replacing the scalar recurrence operation in the scalar computer program loop with a first vector summing operation and a first vector recurrence operation. The first vector summing operation is to generate a first running sum and the first vector recurrence operation is to generate a first vector. In some examples, the first vector recurrence operation is based on the scalar recurrence operation. Disclosed methods also include inserting: 1) a renaming operation to rename the first vector, 2) a second vector summing operation that is to generate a second running sum; and 3) a second vector recurrence operation to generate a second vector based on the renamed first vector.

    Abstract translation: 公开了将具有循环携带依赖性的标量计算机程序循环转换为向量计算机程序循环的方法和系统。 一种这样的方法包括用第一矢量求和操作和第一矢量再现操作来代替标量计算机程序循环中的标量重复运算。 第一矢量求和运算是产生第一运行和,第一矢量再现运算是产生第一矢量。 在一些示例中,第一个矢量复现操作基于标量重复操作。 所公开的方法还包括插入:1)重命名操作以重命名第一向量,2)第二向量求和操作,用于生成第二运行和; 以及3)第二矢量再现操作,以基于所述重命名的第一矢量生成第二矢量。

    Methods and systems to vectorize scalar computer program loops having loop-carried dependences

    公开(公告)号:US10402177B2

    公开(公告)日:2019-09-03

    申请号:US15660603

    申请日:2017-07-26

    Abstract: Methods and systems to convert a scalar computer program loop having loop-carried dependences into a vector computer program loop are disclosed. One such method includes, at runtime, identifying, by executing an instruction with one or more processors, a first loop iteration that cannot be executed in parallel with a second loop iteration due to a set of conflicting scalar loop operations. The first loop iteration is executed after the second loop iteration. The method also includes sectioning, by executing an instruction with one or more processors, a vector loop into vector partitions including a first vector partition. The first vector partition executes consecutive loop iterations in parallel and the consecutive loop iterations start at the second loop iteration and end before the first loop iteration.

    LOOP VECTORIZATION METHODS AND APPARATUS
    10.
    发明申请
    LOOP VECTORIZATION METHODS AND APPARATUS 有权
    LOOP VECTORIZATION方法和装置

    公开(公告)号:US20160139897A1

    公开(公告)日:2016-05-19

    申请号:US15005781

    申请日:2016-01-25

    Abstract: Loop vectorization methods and apparatus are disclosed. An example method includes prior to executing an original loop having iterations, analyzing, via a processor, the iterations of the original loop, identifying a dependency between a first one of the iterations of the original loop and a second one of the iterations of the original loop, after identifying the dependency, vectorizing a first group of the iterations of the original loop based on the identified dependency to form a vectorization loop, and setting a dynamic adjustment value of the vectorization loop based on the identified dependency.

    Abstract translation: 公开了环向量化方法和装置。 示例性方法包括在执行具有迭代的原始循环之前,经由处理器分析原始循环的迭代,识别原始循环的第一迭代和原始循环的第二迭代之间的依赖关系 循环,在识别依赖性之后,基于所识别的依赖关系对原始循环的第一组迭代进行矢量化以形成矢量化循环,以及基于所识别的依赖关系来设置矢量化循环的动态调整值。

Patent Agency Ranking