Building approximate data dependences with a moving window
    1.
    发明授权
    Building approximate data dependences with a moving window 失效
    使用移动窗口构建近似数据依赖关系

    公开(公告)号:US08667260B2

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

    申请号:US12717985

    申请日:2010-03-05

    IPC分类号: G06F9/44

    CPC分类号: G06F9/32

    摘要: Mechanisms for building approximate data dependences using a moving look-back window are provided. The mechanisms track dependence information for memory accesses over iterations of execution of a portion of code. The mechanisms receive a memory access of an iteration of the portion of code, the memory access having an address for access the memory and an access type indicating at least one of a read or a write access type. An entry in a moving look-back window data structure is generated corresponding to a memory location accessed by the memory access. The entry comprises at least an identification of the address, the access type, and an iteration number corresponding to the iteration of the memory access. The moving look-back window data structure is utilized to determine dependence information for memory accesses over a plurality of iterations of the portion of code.

    摘要翻译: 提供了使用移动后视窗构建近似数据依赖关系的机制。 机制跟踪代码的一部分执行迭代的存储器访问的依赖信息。 机构接收代码部分的迭代的存储器访问,存储器访问具有用于访问存储器的地址和指示读取或写入访问类型中的至少一个的访问类型。 对应于由存储器访问访问的存储器位置产生移动后视窗数据结构中的条目。 该条目至少包括对应于存储器访问的迭代的地址的标识,访问类型和迭代号。 移动后视窗数据结构用于确定代码部分的多个迭代中的存储器访问的依赖信息。

    Tracking and detecting thread dependencies using speculative versioning cache
    2.
    发明授权
    Tracking and detecting thread dependencies using speculative versioning cache 有权
    使用推测版本缓存来跟踪和检测线程依赖关系

    公开(公告)号:US08468539B2

    公开(公告)日:2013-06-18

    申请号:US12553314

    申请日:2009-09-03

    IPC分类号: G06F9/46

    摘要: Mechanisms are provided for tracking dependencies of threads in a multi-threaded computer program execution. The mechanisms detect a dependency of a first thread's execution on results of a second thread's execution in an execution flow of the multi-threaded computer program. The mechanisms further store, in a hardware thread dependency vector storage associated with the first thread's execution, an identifier of the dependency by setting at least one bit in the hardware thread dependency vector storage corresponding to the second thread. Moreover, the mechanisms schedule tasks performed by the multi-threaded computer program based on the hardware thread dependency vector storage to minimize squashing of threads.

    摘要翻译: 提供了用于跟踪多线程计算机程序执行中线程依赖性的机制。 该机制检测第一个线程执行对多线程计算机程序执行流程中第二个线程执行结果的依赖性。 这些机制通过在与第二线程相对应的硬件线程相关性向量存储中设置至少一个比特来进一步存储与第一线程的执行相关联的硬件线程依赖向量存储中的依赖关系的标识符。 此外,该机制基于硬件线程依赖向量存储来调度由多线程计算机程序执行的任务以最小化线程的挤压。

    Domain stretching for an advanced dual-representation polyhedral loop transformation framework
    3.
    发明授权
    Domain stretching for an advanced dual-representation polyhedral loop transformation framework 失效
    领域拉伸为先进的双重表示多面体环转换框架

    公开(公告)号:US08087011B2

    公开(公告)日:2011-12-27

    申请号:US11861503

    申请日:2007-09-26

    IPC分类号: G06F9/45 G06F9/44

    CPC分类号: G06F8/452

    摘要: Mechanisms for domain stretching for an advanced dual-representation polyhedral loop transformation framework are provided. The mechanisms of the illustrative embodiments address the weaknesses of the known polyhedral loop transformation based approaches by providing mechanisms for performing code generation transformations on individual statement instances in an intermediate representation generated by the polyhedral loop transformation optimization of the source code. These code generation transformations have the important property that they do not change program order of the statements in the intermediate representation. This property allows the result of the code generation transformations to be provided back to the polyhedral loop transformation mechanisms in a program statement view, via a new re-entrance path of the illustrative embodiments, for additional optimization. In addition, mechanisms are provided for stretching the domains of statements in a program loop view of the source code to thereby normalize the domains.

    摘要翻译: 提供了用于高级双重表示多面体环转换框架的域拉伸的机制。 说明性实施例的机制通过提供用于在通过源代码的多面体环转换优化生成的中间表示中对各个语句实例执行代码生成变换的机制来解决已知的基于多面体循环变换的方法的弱点。 这些代码生成转换具有重要的属性,它们不改变中间表示中的语句的程序顺序。 该属性允许通过示例性实施例的新的重新导入路径将代码生成转换的结果提供给程序语句视图中的多面体循环变换机制,用于附加优化。 另外,提供了用于在源代码的程序循环视图中拉伸语句的域的机制,从而使域标准化。

    Stable transitions in the presence of conditionals for an advanced dual-representation polyhedral loop transformation framework
    4.
    发明授权
    Stable transitions in the presence of conditionals for an advanced dual-representation polyhedral loop transformation framework 失效
    在存在高级双重表示多面体循环转换框架的条件下的稳定转换

    公开(公告)号:US08056065B2

    公开(公告)日:2011-11-08

    申请号:US11861512

    申请日:2007-09-26

    IPC分类号: G06F9/45

    CPC分类号: G06F8/447

    摘要: Mechanisms for stable transitions in the presence of conditionals for an advanced dual-representation polyhedral loop transformation framework are provided. The mechanisms of the illustrative embodiments address the weaknesses of the known polyhedral loop transformation based approaches by providing mechanisms for performing code generation transformations on individual statement instances in an intermediate representation generated by the polyhedral loop transformation optimization of the source code. These code generation transformations have the important property that they do not change program order of the statements in the intermediate representation. This property allows the result of the code generation transformations to be provided back to the polyhedral loop transformation mechanisms in a program statement view, via a new re-entrance path of the illustrative embodiments, for additional optimization. In addition, mechanisms are provided for ensuring code stabilization in the presence of conditions such that code bloat is not encountered during re-entrance.

    摘要翻译: 提供了在高级双重表示多面体环转换框架的条件下存在稳定转换的机制。 说明性实施例的机制通过提供用于在通过源代码的多面体环转换优化生成的中间表示中对各个语句实例执行代码生成变换的机制来解决已知的基于多面体循环变换的方法的弱点。 这些代码生成转换具有重要的属性,它们不改变中间表示中的语句的程序顺序。 该属性允许通过示例性实施例的新的重新导入路径将代码生成转换的结果提供给程序语句视图中的多面体循环变换机制,用于附加优化。 此外,还提供了在存在条件的情况下确保代码稳定的机制,使得在重入期间不会遇到代码膨胀。

    System and Method for Advanced Polyhedral Loop Transformations of Source Code in a Compiler
    5.
    发明申请
    System and Method for Advanced Polyhedral Loop Transformations of Source Code in a Compiler 失效
    编译器中源代码的高级多面体循环变换的系统和方法

    公开(公告)号:US20090083724A1

    公开(公告)日:2009-03-26

    申请号:US11861449

    申请日:2007-09-26

    IPC分类号: G06F9/45

    CPC分类号: G06F8/447

    摘要: A system and method for advanced polyhedral loop transformations of source code in a compiler are provided. The mechanisms of the illustrative embodiments address the weaknesses of the known polyhedral loop transformation based approaches by providing mechanisms for performing code generation transformations on individual statement instances in an intermediate representation generated by the polyhedral loop transformation optimization of the source code. These code generation transformations have the important property that they do not change program order of the statements in the intermediate representation. This property allows the result of the code generation transformations to be provided back to the polyhedral loop transformation mechanisms in a program statement view, via a new re-entrance path of the illustrative embodiments, for additional optimization.

    摘要翻译: 提供了一种用于编译器中源代码的高级多面体循环变换的系统和方法。 说明性实施例的机制通过提供用于在通过源代码的多面体环转换优化生成的中间表示中对各个语句实例执行代码生成变换的机制来解决已知的基于多面体循环变换的方法的弱点。 这些代码生成转换具有重要的属性,它们不改变中间表示中的语句的程序顺序。 该属性允许通过示例性实施例的新的重新导入路径将代码生成转换的结果提供给程序语句视图中的多面体循环变换机制,用于附加优化。

    Selective code generation optimization for an advanced dual-representation polyhedral loop transformation framework
    6.
    发明授权
    Selective code generation optimization for an advanced dual-representation polyhedral loop transformation framework 失效
    高级双重表示多面体环转换框架的选择性代码生成优化

    公开(公告)号:US08087010B2

    公开(公告)日:2011-12-27

    申请号:US11861493

    申请日:2007-09-26

    IPC分类号: G06F9/45

    CPC分类号: G06F8/4452

    摘要: Mechanisms for selective code generation optimization for an advanced dual-representation polyhedral loop transformation framework are provided. The mechanisms of the illustrative embodiments address the weaknesses of the known polyhedral loop transformation based approaches by providing mechanisms for performing code generation transformations on individual statement instances in an intermediate representation generated by the polyhedral loop transformation optimization of the source code. These code generation transformations have the important property that they do not change program order of the statements in the intermediate representation. This property allows the result of the code generation transformations to be provided back to the polyhedral loop transformation mechanisms in a program statement view, via a new re-entrance path of the illustrative embodiments, for additional optimization.

    摘要翻译: 提供了用于高级双重表示多面体环转换框架的选择性代码生成优化的机制。 说明性实施例的机制通过提供用于在通过源代码的多面体环转换优化生成的中间表示中对各个语句实例执行代码生成变换的机制来解决已知的基于多面体循环变换的方法的弱点。 这些代码生成转换具有重要的属性,它们不改变中间表示中的语句的程序顺序。 该属性允许通过示例性实施例的新的重新导入路径将代码生成转换的结果提供给程序语句视图中的多面体循环变换机制,用于附加优化。

    System and Method for Domain Stretching for an Advanced Dual-Representation Polyhedral Loop Transformation Framework
    7.
    发明申请
    System and Method for Domain Stretching for an Advanced Dual-Representation Polyhedral Loop Transformation Framework 失效
    用于高级双表示多面体环转换框架的域拉伸的系统和方法

    公开(公告)号:US20090307673A1

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

    申请号:US11861503

    申请日:2007-09-26

    IPC分类号: G06F9/45

    CPC分类号: G06F8/452

    摘要: A system and method for domain stretching for an advanced dual-representation polyhedral loop transformation framework are provided. The mechanisms of the illustrative embodiments address the weaknesses of the known polyhedral loop transformation based approaches by providing mechanisms for performing code generation transformations on individual statement instances in an intermediate representation generated by the polyhedral loop transformation optimization of the source code. These code generation transformations have the important property that they do not change program order of the statements in the intermediate representation. This property allows the result of the code generation transformations to be provided back to the polyhedral loop transformation mechanisms in a program statement view, via a new re-entrance path of the illustrative embodiments, for additional optimization. In addition, mechanisms are provided for stretching the domains of statements in a program loop view of the source code to thereby normalize the domains.

    摘要翻译: 提供了一种用于高级双重表示多面体环转换框架的域拉伸的系统和方法。 说明性实施例的机制通过提供用于在通过源代码的多面体环转换优化生成的中间表示中对各个语句实例执行代码生成变换的机制来解决已知的基于多面体循环变换的方法的弱点。 这些代码生成转换具有重要的属性,它们不改变中间表示中的语句的程序顺序。 该属性允许通过示例性实施例的新的重新导入路径将代码生成转换的结果提供给程序语句视图中的多面体循环变换机制,用于附加优化。 另外,提供了用于在源代码的程序循环视图中拉伸语句的域的机制,从而使域标准化。

    System and method for advanced polyhedral loop transformations of source code in a compiler
    8.
    发明授权
    System and method for advanced polyhedral loop transformations of source code in a compiler 失效
    编译器中源代码的高级多面体循环变换的系统和方法

    公开(公告)号:US08060870B2

    公开(公告)日:2011-11-15

    申请号:US11861449

    申请日:2007-09-26

    IPC分类号: G06F9/45

    CPC分类号: G06F8/447

    摘要: A system and method for advanced polyhedral loop transformations of source code in a compiler are provided. The mechanisms of the illustrative embodiments address the weaknesses of the known polyhedral loop transformation based approaches by providing mechanisms for performing code generation transformations on individual statement instances in an intermediate representation generated by the polyhedral loop transformation optimization of the source code. These code generation transformations have the important property that they do not change program order of the statements in the intermediate representation. This property allows the result of the code generation transformations to be provided back to the polyhedral loop transformation mechanisms in a program statement view, via a new re-entrance path of the illustrative embodiments, for additional optimization.

    摘要翻译: 提供了一种用于编译器中源代码的高级多面体循环变换的系统和方法。 说明性实施例的机制通过提供用于在通过源代码的多面体环转换优化生成的中间表示中对各个语句实例执行代码生成变换的机制来解决已知的基于多面体循环变换的方法的弱点。 这些代码生成转换具有重要的属性,它们不改变中间表示中的语句的程序顺序。 该属性允许通过示例性实施例的新的重新导入路径将代码生成转换的结果提供给程序语句视图中的多面体循环变换机制,用于附加优化。

    System and Method for Stable Transitions in the Presence of Conditionals for an Advanced Dual-Representation Polyhedral Loop Transformation Framework
    9.
    发明申请
    System and Method for Stable Transitions in the Presence of Conditionals for an Advanced Dual-Representation Polyhedral Loop Transformation Framework 失效
    用于高级双重表示多面体环转换框架条件存在的稳定过渡的系统和方法

    公开(公告)号:US20090083722A1

    公开(公告)日:2009-03-26

    申请号:US11861512

    申请日:2007-09-26

    IPC分类号: G06F9/45

    CPC分类号: G06F8/447

    摘要: A system and method for stable transitions in the presence of conditionals for an advanced dual-representation polyhedral loop transformation framework are provided. The mechanisms of the illustrative embodiments address the weaknesses of the known polyhedral loop transformation based approaches by providing mechanisms for performing code generation transformations on individual statement instances in an intermediate representation generated by the polyhedral loop transformation optimization of the source code. These code generation transformations have the important property that they do not change program order of the statements in the intermediate representation. This property allows the result of the code generation transformations to be provided back to the polyhedral loop transformation mechanisms in a program statement view, via a new re-entrance path of the illustrative embodiments, for additional optimization. In addition, mechanisms are provided for ensuring code stabilization in the presence of conditions such that code bloat is not encountered during re-entrance.

    摘要翻译: 提供了一种用于高级双重表示多面体环转换框架的条件存在的稳定转换的系统和方法。 说明性实施例的机制通过提供用于在通过源代码的多面体环转换优化生成的中间表示中对各个语句实例执行代码生成变换的机制来解决已知的基于多面体循环变换的方法的弱点。 这些代码生成转换具有重要的属性,它们不改变中间表示中的语句的程序顺序。 该属性允许通过示例性实施例的新的重新导入路径将代码生成转换的结果提供给程序语句视图中的多面体循环变换机制,用于附加优化。 此外,还提供了在存在条件的情况下确保代码稳定的机制,使得在重入期间不会遇到代码膨胀。

    Constant time worker thread allocation via configuration caching
    10.
    发明授权
    Constant time worker thread allocation via configuration caching 有权
    通过配置缓存来定时工作线程分配

    公开(公告)号:US08881159B2

    公开(公告)日:2014-11-04

    申请号:US13070811

    申请日:2011-03-24

    IPC分类号: G06F9/46 G06F9/50

    CPC分类号: G06F9/5066

    摘要: Mechanisms are provided for allocating threads for execution of a parallel region of code. A request for allocation of worker threads to execute the parallel region of code is received from a master thread. Cached thread allocation information identifying prior thread allocations that have been performed for the master thread are accessed. Worker threads are allocated to the master thread based on the cached thread allocation information. The parallel region of code is executed using the allocated worker threads.

    摘要翻译: 提供了用于分配用于执行并行区域代码的线程的机制。 从主线程接收到用于分配工作线程以执行代码并行区域的请求。 识别为主线程执行的先前线程分配的缓存线程分配信息被访问。 工作线程基于缓存的线程分配信息分配给主线程。 使用分配的工作线程来执行代码的并行区域。