Adaptive prefetch for irregular access patterns
    1.
    发明授权
    Adaptive prefetch for irregular access patterns 失效
    不规则访问模式的自适应预取

    公开(公告)号:US07155575B2

    公开(公告)日:2006-12-26

    申请号:US10323226

    申请日:2002-12-18

    IPC分类号: G06F12/08

    摘要: A computer program product determines whether a loop has a high usage count. If the computer program product determines the loop has a high usage count, the computer program product determines whether the loop has an irregularly accessed load. If the loop has an irregularly accessed load, the computer program product inserts pattern recognition code to calculate whether successive iterations of the irregular memory load in the loop have a predictable access pattern. The computer program product implants conditional adaptive prefetch code including a prefetch instruction into the output code.

    摘要翻译: 计算机程序产品确定循环是否具有高的使用计数。 如果计算机程序产品确定循环具有较高的使用次数,则计算机程序产品确定循环是否具有不规则访问的负载。 如果循环具有不规则访问的负载,则计算机程序产品插入模式识别码以计算循环中不规则存储器负载的连续迭代是否具有可预测的访问模式。 计算机程序产品将包括预取指令的条件自适应预取代码植入到输出代码中。

    Alias-free test for dynamic array structures
    2.
    发明授权
    Alias-free test for dynamic array structures 失效
    动态数组结构的无差别测试

    公开(公告)号:US06880154B2

    公开(公告)日:2005-04-12

    申请号:US09896936

    申请日:2001-06-29

    IPC分类号: G06F9/45

    CPC分类号: G06F8/445

    摘要: An apparatus, method, and program product for optimizing code that contains dynamically-allocated memory. The aliasing behavior of internal pointers of dynamically-allocated memory is used to disambiguate memory accesses and to eliminate false data dependencies. It is determined whether a dynamically-allocated array will behave like a statically-allocated array throughout the entire program execution once it has been allocated. This determination is used to improve the instruction scheduling efficiency, which yields better performance.

    摘要翻译: 一种用于优化包含动态分配内存的代码的设备,方法和程序产品。 动态分配内存的内部指针的混叠行为用于消除内存访问歧义并消除虚假的数据依赖性。 一旦动态分配的数组被分配,整个程序执行过程中,动态分配的数组是否会像一个静态分配的数组。 该决定用于提高指令调度效率,从而产生更好的性能。

    Compile-time memory coalescing for dynamic arrays
    3.
    发明授权
    Compile-time memory coalescing for dynamic arrays 有权
    用于动态数组的编译时存储器合并

    公开(公告)号:US06721943B2

    公开(公告)日:2004-04-13

    申请号:US09822736

    申请日:2001-03-30

    IPC分类号: G06F945

    CPC分类号: G06F8/4442

    摘要: In general, the malloc-combining transformation optimization during compile-time of a source program engaged in dynamically constructing multi-dimensional arrays provides an effective method of improving cache locality by combining qualified malloc and free/realloc calls found in counted loops into a single system call and hoisting out the single call and placing it immediately preceding the beginning of the counted loops. As a result of the application of the malloc-combining optimization results in improved cache locality allows for prefetching array pointers and data elements of the dynamic arrays as if the dynamic arrays were static.

    摘要翻译: 通常,在动态构建多维数组的源程序的编译期间的malloc组合变换优化提供了一种有效的方法,通过将在计数循环中发现的合格的malloc和free / realloc调用结合到单个系统中来提高高速缓存局部性 调用并提出单个呼叫,并将其放置在计数循环开始之前。 由于将malloc组合优化结果应用于改进的高速缓存位置的结果允许动态数组的预取数组指针和数据元素,如同动态数组是静态的。

    DATA DEPENDENCE TESTING FOR LOOP FUSION WITH CODE REPLICATION, ARRAY CONTRACTION, AND LOOP INTERCHANGE
    4.
    发明申请
    DATA DEPENDENCE TESTING FOR LOOP FUSION WITH CODE REPLICATION, ARRAY CONTRACTION, AND LOOP INTERCHANGE 有权
    使用代码复制,阵列合约和循环交换进行环路融合的数据依赖性测试

    公开(公告)号:US20090307675A1

    公开(公告)日:2009-12-10

    申请号:US12133285

    申请日:2008-06-04

    IPC分类号: G06F9/45

    CPC分类号: G06F8/4441

    摘要: Methods and apparatus to data dependence testing for loop fusion, e.g., with code replication, array contraction, and/or loop interchange, are described. In one embodiment, a compiler may optimize code for efficient execution during run-time by testing for dependencies associated with improving memory locality through code replication in loops that enable various loop transformations. Other embodiments are also described.

    摘要翻译: 描述了用于循环融合的数据依赖性测试的方法和装置,例如代码复制,阵列收缩和/或循环交换。 在一个实施例中,编译器可以通过测试通过能够进行各种循环变换的循环中的代码复制来改善存储器局部性的相关性,来优化代码以用于运行时的有效执行。 还描述了其它实施例。

    Data dependence testing for loop fusion with code replication, array contraction, and loop interchange
    5.
    发明授权
    Data dependence testing for loop fusion with code replication, array contraction, and loop interchange 有权
    用于循环融合的数据依赖性测试,具有代码复制,阵列收缩和循环交换

    公开(公告)号:US08677338B2

    公开(公告)日:2014-03-18

    申请号:US12133285

    申请日:2008-06-04

    IPC分类号: G06F9/45

    CPC分类号: G06F8/4441

    摘要: Methods and apparatus to data dependence testing for loop fusion, e.g., with code replication, array contraction, and/or loop interchange, are described. In one embodiment, a compiler may optimize code for efficient execution during run-time by testing for dependencies associated with improving memory locality through code replication in loops that enable various loop transformations. Other embodiments are also described.

    摘要翻译: 描述了用于循环融合的数据依赖性测试的方法和装置,例如代码复制,阵列收缩和/或循环交换。 在一个实施例中,编译器可以通过测试通过能够进行各种循环变换的循环中的代码复制来改善存储器局部性的相关性,来优化代码以用于运行时的有效执行。 还描述了其它实施例。

    Dynamic prefetch distance calculation
    6.
    发明申请
    Dynamic prefetch distance calculation 失效
    动态预取距离计算

    公开(公告)号:US20070106848A1

    公开(公告)日:2007-05-10

    申请号:US11271415

    申请日:2005-11-09

    IPC分类号: G06F13/00

    摘要: The prefetch distance to be used by a prefetch instruction may not always be correctly calculated using compile-time information. In one embodiment, the present invention generates prefetch distance calculation code to dynamically calculate a prefetch distance used by a prefetch instruction at run-time.

    摘要翻译: 预取指令使用的预取距离可能不总是使用编译时信息正确计算。 在一个实施例中,本发明产生预取距离计算代码以在运行时动态地计算由预取指令使用的预取距离。

    Dynamic prefetch distance calculation
    7.
    发明授权
    Dynamic prefetch distance calculation 失效
    动态预取距离计算

    公开(公告)号:US07702856B2

    公开(公告)日:2010-04-20

    申请号:US11271415

    申请日:2005-11-09

    IPC分类号: G06F13/00 G06F13/28

    摘要: The prefetch distance to be used by a prefetch instruction may not always be correctly calculated using compile-time information. In one embodiment, the present invention generates prefetch distance calculation code to dynamically calculate a prefetch distance used by a prefetch instruction at run-time.

    摘要翻译: 预取指令使用的预取距离可能不总是使用编译时信息正确计算。 在一个实施例中,本发明产生预取距离计算代码以在运行时动态地计算由预取指令使用的预取距离。

    SPECULATIVE COMPILATION TO GENERATE ADVICE MESSAGES
    9.
    发明申请
    SPECULATIVE COMPILATION TO GENERATE ADVICE MESSAGES 有权
    生成建议信息的统一编译

    公开(公告)号:US20120117552A1

    公开(公告)日:2012-05-10

    申请号:US12942543

    申请日:2010-11-09

    IPC分类号: G06F9/45

    摘要: Methods to improve optimization of compilation are presented. In one embodiment, a method includes identifying one or more optimization speculations with respect to a code region and speculatively performing transformation on an intermediate representation of the code region in accordance with an optimization speculation. The method includes generating an advice message corresponding to the optimization speculation and displaying the advice message if the optimization speculation results in an improved compilation result.

    摘要翻译: 提出了改进编译优化的方法。 在一个实施例中,一种方法包括根据优化推测识别关于代码区域的一个或多个优化推测和对代码区域的中间表示进行推测地执行变换。 该方法包括生成与优化推测对应的建议消息,并且如果优化推测导致改进的编译结果,则显示该建议消息。