Procedural concurrency graph generator
    2.
    发明授权
    Procedural concurrency graph generator 有权
    程序并发图生成器

    公开(公告)号:US09141359B2

    公开(公告)日:2015-09-22

    申请号:US12966867

    申请日:2010-12-13

    IPC分类号: G06F9/45

    CPC分类号: G06F8/45

    摘要: A parallel-code optimization system includes a Procedural Concurrency Graph (PCG) generator. The PCG generator produces an initial PCG of a computer program including parallel code, and determines a refined PCG from the initial PCG by applying concurrency-type refinements and interference-type refinements to the initial PCG. The initial PCG and the refined PCG include nodes and edges connecting pairs of the nodes. The nodes represent defined procedures in the parallel code, and each edge represents a may-happen-in-parallel relation, and is associated with a set of lvalues that represents the immediate interference between the corresponding pair of nodes.

    摘要翻译: 并行代码优化系统包括一个过程并发图(PCG)生成器。 PCG生成器产生包括并行代码的计算机程序的初始PCG,并且通过对初始PCG应用并发型改进和干扰类型细化来确定来自初始PCG的精细PCG。 初始PCG和精细PCG包括连接节点对的节点和边。 节点表示并行代码中的定义的过程,并且每个边表示可并发并行关系,并且与表示相应对节点之间的即时干扰的一组左值相关联。

    Cross-module in-lining
    4.
    发明授权
    Cross-module in-lining 失效
    交叉模块内衬

    公开(公告)号:US07426725B2

    公开(公告)日:2008-09-16

    申请号:US10783761

    申请日:2004-02-20

    IPC分类号: G06F9/44 G06F9/45

    CPC分类号: G06F8/4441

    摘要: Techniques for cross-module in-lining are disclosed. In an embodiment, in-lining is done in conjunction with a 3-phase compiler including a front-end phase, an IPA (Inter-Procedural Analysis) phase, and a back-end phase. The front-end phase processes the source code in various modules and provides the intermediate representations of such source code. The IPA phase determines whether a function should be in-lined, and, if so, provides in-line transformation instructions for the back-end phase to execute. The back-end phase executes the instructions provided by the IPA, which, in effect, transforms the in-lining code.

    摘要翻译: 披露了用于跨模块内衬的技术。 在一个实施例中,内联是与包括前端阶段,IPA(程序间分析)阶段和后端阶段的三阶段编译器一起完成的。 前端阶段处理各种模块中的源代码,并提供这些源代码的中间表示。 IPA阶段确定一个功能是否应该是内联的,如果是这样,提供后端阶段执行的在线变换指令。 后端阶段执行由IPA提供的指令,其实际上转换内联代码。

    Partitioning modules for cross-module optimization
    5.
    发明授权
    Partitioning modules for cross-module optimization 失效
    用于跨模块优化的分区模块

    公开(公告)号:US07165162B2

    公开(公告)日:2007-01-16

    申请号:US10756881

    申请日:2004-01-13

    IPC分类号: G06F12/06

    CPC分类号: G06F8/443

    摘要: Techniques for partitioning modules into smaller groups are disclosed. In various embodiments, cross-module optimization may be performed on these smaller groups. Further, related modules are grouped together based on a predefined algorithm. Relatedness, or closeness, or affinity, of modules are considered based on various factors including, for example, the number of calls between routines in different modules, possibility of in-lining a first routine in a first module into a second routine in a second module, characteristics of parameters being passed between routines in different modules, etc.

    摘要翻译: 公开了将模块分成较小组的技术。 在各种实施例中,可以对这些较小的组执行交叉模块优化。 此外,相关模块基于预定义的算法被分组在一起。 基于各种因素考虑模块的相关性,或亲密性,或亲和性,例如包括例如不同模块中的例程之间的调用次数,将第一模块中的第一程序内插到第二程序中的第二程序的可能性 模块,在不同模块中的例程之间传递参数的特性等