METHOD OF PROCEDURE CONTROL DESCRIPTOR-BASED CODE SPECIALIZATION FOR CONTEXT SENSITIVE MEMORY DISAMBIGUATION
    1.
    发明申请
    METHOD OF PROCEDURE CONTROL DESCRIPTOR-BASED CODE SPECIALIZATION FOR CONTEXT SENSITIVE MEMORY DISAMBIGUATION 有权
    程序控制方法基于描述符的中继敏感记忆体解析专用化

    公开(公告)号:US20080301656A1

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

    申请号:US11757941

    申请日:2007-06-04

    IPC分类号: G06F9/45

    CPC分类号: G06F8/4441

    摘要: A computer implemented method, apparatus, and computer program product for compiling source code. The source code is scanned to identify a candidate region. A procedure control descriptor is corresponding to the candidate region is generated. The procedure control descriptor identifies, for the candidate region, a condition which, if true at runtime means that the candidate region can be specialized. Responsive to a determination during compile time that satisfaction of at least one condition will be known only at runtime, the procedure control descriptor is used to specialize the candidate region at compile time to create a first version of the candidate region for execution in a case where the condition is true and a second version of the candidate region for execution in a case where the condition is false. Also responsive to the determination, code is further generated to correctly select one of the first region and the second region at runtime.

    摘要翻译: 用于编译源代码的计算机实现的方法,装置和计算机程序产品。 扫描源代码以识别候选区域。 程序控制描述符对应于生成候选区域。 程序控制描述符为候选区域识别条件,其在运行时为真,意味着候选区域可以是专门的。 在编译期间响应于在运行时仅满足至少一个条件的确定,过程控制描述符用于在编译时专门化候选区域,以在第一版本的候选区域中创建用于执行的候选区域, 条件是真实的,并且在条件为假的情况下用于执行的候选区域的第二版本。 还响应于确定,进一步生成代码以在运行时正确选择第一区域和第二区域中的一个。

    Procedure control descriptor-based code specialization for context sensitive memory disambiguation
    2.
    发明授权
    Procedure control descriptor-based code specialization for context sensitive memory disambiguation 有权
    过程控制描述符代码专用于上下文敏感内存消歧

    公开(公告)号:US08332833B2

    公开(公告)日:2012-12-11

    申请号:US11757941

    申请日:2007-06-04

    IPC分类号: G06F9/45

    CPC分类号: G06F8/4441

    摘要: A computer implemented method for facilitating debugging of source code. The source code is scanned to identify a candidate region. A procedure control descriptor is generated, wherein the procedure control descriptor corresponds to the candidate region. The procedure control descriptor identifies, for the candidate region, a condition which, if true at runtime means that the candidate region can be specialized. Responsive to a determination during compile time that satisfaction of at least one condition will be known only at runtime, the procedure control descriptor is used to specialize the candidate region at compile time to create a first version of the candidate region for execution in a case where the condition is true and a second version of the candidate region for execution in a case where the condition is false, and further generate code to correctly select one of the first region and the second region at runtime.

    摘要翻译: 一种用于促进源代码调试的计算机实现方法。 扫描源代码以识别候选区域。 生成过程控制描述符,其中过程控制描述符对应于候选区域。 程序控制描述符为候选区域识别条件,其在运行时为真,意味着候选区域可以是专门的。 在编译期间响应于在运行时仅满足至少一个条件的确定,过程控制描述符用于在编译时专门化候选区域,以在第一版本的候选区域中创建用于执行的候选区域, 条件为真,并且在条件为假的情况下用于执行的候选区域的第二版本,并且还在生成期间生成正确选择第一区域和第二区域中的一个的代码。

    Optimal cache replacement scheme using a training operation
    3.
    发明授权
    Optimal cache replacement scheme using a training operation 失效
    使用训练操作的最优缓存替换方案

    公开(公告)号:US08352684B2

    公开(公告)日:2013-01-08

    申请号:US12236188

    申请日:2008-09-23

    IPC分类号: G06F12/00

    CPC分类号: G06F12/123 G06F2212/502

    摘要: Computer implemented method, system and computer usable program code for cache management. A cache is provided, wherein the cache is viewed as a sorted array of data elements, wherein a top position of the array is a most recently used position of the array and a bottom position of the array is a least recently used position of the array. A memory access sequence is provided, and a training operation is performed with respect to a memory access of the memory access sequence to determine a type of memory access operation to be performed with respect to the memory access. Responsive to a result of the training operation, a cache replacement operation is performed using the determined memory access operation with respect to the memory access.

    摘要翻译: 计算机实现方法,系统和计算机可用程序代码进行缓存管理。 提供了缓存,其中高速缓存被视为数据元素的排序数组,其中阵列的顶部位置是阵列的最近使用的位置,并且阵列的底部位置是阵列的最近最近使用的位置 。 提供存储器访问序列,并且针对存储器访问序列的存储器访问执行训练操作,以确定要针对存储器访问执行的存储器访问操作的类型。 响应于训练操作的结果,使用关于存储器访问的确定的存储器访问操作来执行高速缓存替换操作。

    Optimal Cache Management Scheme
    4.
    发明申请
    Optimal Cache Management Scheme 失效
    最优缓存管理方案

    公开(公告)号:US20100077153A1

    公开(公告)日:2010-03-25

    申请号:US12236188

    申请日:2008-09-23

    IPC分类号: G06F12/08

    CPC分类号: G06F12/123 G06F2212/502

    摘要: Computer implemented method, system and computer usable program code for cache management. A cache is provided, wherein the cache is viewed as a sorted array of data elements, wherein a top position of the array is a most recently used position of the array and a bottom position of the array is a least recently used position of the array. A memory access sequence is provided, and a training operation is performed with respect to a memory access of the memory access sequence to determine a type of memory access operation to be performed with respect to the memory access. Responsive to a result of the training operation, a cache replacement operation is performed using the determined memory access operation with respect to the memory access.

    摘要翻译: 计算机实现方法,系统和计算机可用程序代码进行缓存管理。 提供了缓存,其中高速缓存被视为数据元素的排序数组,其中阵列的顶部位置是阵列的最近使用的位置,并且阵列的底部位置是阵列的最近最近使用的位置 。 提供存储器访问序列,并且针对存储器访问序列的存储器访问执行训练操作,以确定要针对存储器访问执行的存储器访问操作的类型。 响应于训练操作的结果,使用关于存储器访问的确定的存储器访问操作来执行高速缓存替换操作。

    Method and apparatus for improving data cache performance using inter-procedural strength reduction of global objects
    5.
    发明授权
    Method and apparatus for improving data cache performance using inter-procedural strength reduction of global objects 失效
    使用全局对象的程序间强度降低来提高数据高速缓存性能的方法和装置

    公开(公告)号:US07555748B2

    公开(公告)日:2009-06-30

    申请号:US10930037

    申请日:2004-08-30

    IPC分类号: G06F9/45

    CPC分类号: G06F8/4442

    摘要: Inter-procedural strength reduction is provided by a mechanism of the present invention to improve data cache performance. During a forward pass, the present invention collects information of global variables and analyzes the usage pattern of global objects to select candidate computations for optimization. During a backward pass, the present invention remaps global objects into smaller size new global objects and generates more cache efficient code by replacing candidate computations with indirect or indexed reference of smaller global objects and inserting store operations to the new global objects for each computation that references the candidate global objects.

    摘要翻译: 通过本发明的机制来提供程序间强度降低以提高数据高速缓存性能。 在正向通过期间,本发明收集全局变量的信息并分析全局对象的使用模式以选择用于优化的候选计算。 在反向传递期间,本发明将全局对象重新映射成更小尺寸的新全局对象,并且通过使用较小全局对象的间接索引引用或索引引用来替换候选计算,并且将引用存储操作插入到新的全局对象中,以引用每个计算 候选全球对象。

    Compiling source code
    6.
    发明授权
    Compiling source code 失效
    编译源代码

    公开(公告)号:US08161464B2

    公开(公告)日:2012-04-17

    申请号:US11402556

    申请日:2006-04-11

    IPC分类号: G06F9/45

    CPC分类号: G06F8/4442

    摘要: A method of compiling source code. The method includes converting pointer-based access in the source code to array-based access in the source code in a first pass compilation of the source code. Information is collected for objects in the source code during the first pass compilation. Candidate objects in the source code are selected based on the collected information to form selected candidate objects. Global stride variables are created for the selected candidate objects. Memory allocation operations are updated for the selected candidate objects in a second pass compilation of the source code. Multiple-level pointer indirect references are replaced in the source code with multi-dimensional array indexed references for the selected candidate objects in the second pass compilation of the source code.

    摘要翻译: 一种编译源代码的方法。 该方法包括在源代码的第一遍编译中将源代码中的基于指针的访问转换为源代码中的基于数组的访问。 在第一次编译期间,为源代码中的对象收集信息。 基于收集的信息来选择源代码中的候选对象以形成所选择的候选对象。 为所选候选对象创建全局步幅变量。 在源代码的第二遍编译中,针对所选候选对象更新内存分配操作。 在源代码的第二遍编译中,多级指针间接引用被替换为所选候选对象的多维数组索引引用的源代码。

    Method and apparatus for optimizing software program using inter-procedural strength reduction
    7.
    发明授权
    Method and apparatus for optimizing software program using inter-procedural strength reduction 失效
    使用程序间强度降低优化软件程序的方法和装置

    公开(公告)号:US08146070B2

    公开(公告)日:2012-03-27

    申请号:US12270707

    申请日:2008-11-13

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443

    摘要: Inter-procedural strength reduction is provided by a mechanism of the present invention to optimize software program. During a forward pass, the present invention collects information of global variables and analyzes the information to select candidate computations for optimization. During a backward pass, the present invention replaces costly computations with less costly or weaker computations using pre-computed values and inserts store operations of new global variables to pre-compute the costly computations at definition points of the global variables used in the costly computations.

    摘要翻译: 通过本发明的机制来优化软件程序来提供程序间强度降低。 在正向通过期间,本发明收集全局变量的信息并分析该信息以选择用于优化的候选计算。 在反向传递期间,本发明使用预先计算的值替代使用成本较低或较弱计算的昂贵的计算,并插入新的全局变量的存储操作,以在昂贵的计算中使用的全局变量的定义点处预先计算昂贵的计算。

    Method and Apparatus for Optimizing Software Program Using Inter-Procedural Strength Reduction
    8.
    发明申请
    Method and Apparatus for Optimizing Software Program Using Inter-Procedural Strength Reduction 失效
    使用程序间强度降低优化软件程序的方法和装置

    公开(公告)号:US20090106745A1

    公开(公告)日:2009-04-23

    申请号:US12270707

    申请日:2008-11-13

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443

    摘要: Inter-procedural strength reduction is provided by a mechanism of the present invention to optimize software program. During a forward pass, the present invention collects information of global variables and analyzes the information to select candidate computations for optimization. During a backward pass, the present invention replaces costly computations with less costly or weaker computations using pre-computed values and inserts store operations of new global variables to pre-compute the costly computations at definition points of the global variables used in the costly computations.

    摘要翻译: 通过本发明的机制来优化软件程序来提供程序间强度降低。 在正向通过期间,本发明收集全局变量的信息并分析该信息以选择用于优化的候选计算。 在反向传递期间,本发明使用预先计算的值替代使用成本较低或较弱计算的昂贵的计算,并插入新的全局变量的存储操作,以在昂贵的计算中使用的全局变量的定义点处预先计算昂贵的计算。

    Method for optimizing software program using inter-procedural strength reduction
    9.
    发明授权
    Method for optimizing software program using inter-procedural strength reduction 失效
    使用程序间强度降低优化软件程序的方法

    公开(公告)号:US07472382B2

    公开(公告)日:2008-12-30

    申请号:US10930038

    申请日:2004-08-30

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443

    摘要: Inter-procedural strength reduction is provided by a mechanism of the present invention to optimize software program. During a forward pass, the present invention collects information of global variables and analyzes the information to select candidate computations for optimization. During a backward pass, the present invention replaces costly computations with less costly or weaker computations using pre-computed values and inserts store operations of new global variables to pre-compute the costly computations at definition points of the global variables used in the costly computations.

    摘要翻译: 通过本发明的机制来优化软件程序来提供程序间强度降低。 在正向通过期间,本发明收集全局变量的信息并分析该信息以选择用于优化的候选计算。 在反向传递期间,本发明使用预先计算的值替代使用成本较低或较弱计算的昂贵的计算,并插入新的全局变量的存储操作,以在昂贵的计算中使用的全局变量的定义点处预先计算昂贵的计算。

    Method and system for reducing memory reference overhead associated with treadprivate variables in parallel programs
    10.
    发明授权
    Method and system for reducing memory reference overhead associated with treadprivate variables in parallel programs 有权
    并行程序中减少与独立变量相关联的内存引用开销的方法和系统

    公开(公告)号:US07818731B2

    公开(公告)日:2010-10-19

    申请号:US12129449

    申请日:2008-05-29

    IPC分类号: G06F9/45

    CPC分类号: G06F8/445 G06F8/443 G06F8/453

    摘要: A computer implemented method, system and computer program product for accessing threadprivate memory for threadprivate variables in a parallel program during program compilation. A computer implemented method for accessing threadprivate variables in a parallel program during program compilation includes aggregating threadprivate variables in the program, replacing references of the threadprivate variables by indirect references, moving address load operations of the threadprivate variables, and replacing the address load operations of the threadprivate variables by calls to runtime routines to access the threadprivate memory. The invention enables a compiler to minimize the runtime routines call times to access the threadprivate variables, thus improving program performance.

    摘要翻译: 一种计算机实现的方法,系统和计算机程序产品,用于在程序编译期间在并行程序中访问线程私有变量的线程私有存储器。 在程序编译过程中,一种用于在并行程序中访问线程私有变量的计算机实现方法包括在程序中聚合线程私有变量,通过间接引用替代线程私有变量的引用,移动线程私有变量的地址加载操作,以及替换 threadprivate变量通过调用运行时程序访问线程私有内存。 本发明使得编译器能够最小化运行时程序调用时间以访问线程私有变量,从而提高程序性能。