Translation and transformation of heterogeneous programs
    1.
    发明授权
    Translation and transformation of heterogeneous programs 失效
    异构程序的翻译和转换

    公开(公告)号:US06802056B1

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

    申请号:US09343805

    申请日:1999-06-30

    IPC分类号: G06F945

    CPC分类号: G06F8/52

    摘要: Each component binary in a heterogeneous program is translated from a platform-specific instruction set into a set of intermediate representation (IR) instructions that are platform-neutral. The IR instructions are grouped into IR code blocks, the IR code blocks into IR procedures, and the IR procedures into IR components to create an intermediate representation hierarchy for the program. An application program interface is provided that permits user access to the IR hierarchy for instrumentation, optimization, navigation, and manipulation of the IR hierarchy. The transformed IR hierarchy is then translated into platform-specific instructions and output as a modified binary. The user can designate a different platform for the output translation of a code block than the platform for which the code block was originally written. Prologue and epilog code is added to contiguous blocks that are translated into different architectures. The modified binary can be iterated through the translation and transformation process to produce multiple versions of the heterogeneous program.

    摘要翻译: 异构程序中的每个组件二进制文件从平台特定的指令集转换为平台中立的一组中间表示(IR)指令。 IR指令分为IR代码块,IR代码块转换为IR程序,IR程序分为IR组件,以创建程序的中间表示层次结构。 提供了一个应用程序接口,允许用户访问IR层次结构,以进行IR层次结构的检测,优化,导航和操作。 转换的IR层次结构然后被转换为平台特定的指令并作为修改的二进制输出。 用户可以为代码块的输出转换指定与代码块最初写入的平台不同的平台。 序言和epilog代码被添加到被转换成不同架构的连续块。 修改的二进制文件可以通过翻译和转换过程进行迭代,以生成异构程序的多个版本。

    Instrumentation and optimization tools for heterogeneous programs
    2.
    发明授权
    Instrumentation and optimization tools for heterogeneous programs 有权
    用于异构程序的仪器和优化工具

    公开(公告)号:US06481008B1

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

    申请号:US09343298

    申请日:1999-06-30

    IPC分类号: G06F945

    摘要: Pre-defined performance tools enable instrumentation and optimization of a heterogeneous program by modifying a platform-neutral intermediate representation (IR) of the program. The intermediate representation is hierarchy of base elements that correspond to instructions, code blocks, procedures and components within the program. Each base element exports an application program interface that provides for navigation, querying and modification of the corresponding element in the hierarchy. An application program interface for the entire intermediate representation includes the application program interfaces for the individual elements along with additional functionality. A user can request instrumentation and optimization of any level of the intermediate representation hierarchy and the performance tools perform the required modifications to the intermediate representation. When a modification requires inserting instructions, the performance tools add prologue and epilog code to connect the inserted instructions with the original intermediate representation instructions. When the intermediate representation instructions are translated into platform-specific instructions and executed, the modifications made to the intermediate representation provide the instrumentation and/or optimization of the heterogeneous program.

    摘要翻译: 预定义的性能工具可以通过修改程序的平台中立中间表示(IR)来对异构程序进行测试和优化。 中间表示是与程序中的指令,代码块,过程和组件相对应的基本元素的层次。 每个基本元素导出一个应用程序接口,该界面提供层次结构中相应元素的导航,查询和修改。 用于整个中间表示的应用程序接口包括用于各个元素的应用程序接口以及附加的功能。 用户可以请求对中间表示层次结构的任何级别的仪器和优化,并且性能工具对中间表示执行所需的修改。 当修改需要插入指令时,性能工具会添加序言和epilog代码,将插入的指令与原始中间表示指令进行连接。 当中间表示指令被转换为特定于平台的指令并执行时,对中间表示的修改提供异构程序的检测和/或优化。

    Application program interface for transforming heterogeneous programs
    3.
    发明授权
    Application program interface for transforming heterogeneous programs 失效
    用于转换异构程序的应用程序接口

    公开(公告)号:US06662356B1

    公开(公告)日:2003-12-09

    申请号:US09343276

    申请日:1999-06-30

    IPC分类号: G06F944

    CPC分类号: G06F9/54 Y10S707/99952

    摘要: An application program interface (API) into an hierarchical intermediate representation (IR) of a heterogeneous program enables the navigation and modification of the IR at all levels of the hierarchy. Additional functions provide information about the IR that can be employed by a user in understanding the logic flow of the program and by an output translator to convert the IR into blocks of platform-specific instructions for a new version of the heterogeneous program. The API functions are also utilized by pre-defined program tools to instrument and optimize the IR, and thus the heterogeneous program created from the IR.

    摘要翻译: 将应用程序接口(API)转换为异构程序的分层中间表示(IR)使得能够在层次结构的所有级别上导航和修改IR。 附加功能提供有关IR的信息,用户可以使用这些信息来理解程序的逻辑流程,以及输出转换器将IR转换为特定于平台的指令块,用于新版异构程序。 预定义的程序工具还利用API函数来对IR进行仪器和优化,从而从IR创建的异构程序。

    Methods for comparing versions of a program
    4.
    发明授权
    Methods for comparing versions of a program 失效
    比较程序版本的方法

    公开(公告)号:US07571427B2

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

    申请号:US10874676

    申请日:2004-06-24

    IPC分类号: G06F9/44 G06F12/00

    摘要: Systems and methods are discussed that allow profile information to be reused by various versions of a program. One illustrative aspect includes a method for comparing versions of a program in binary format. The method includes finding equivalent contents in portions of two versions of the program, finding equivalent structure in the portions of the two versions, and forming a match when a portion of one of the two versions is an equivalence of a portion of the other of the two versions.

    摘要翻译: 讨论了允许简档信息由程序的各种版本重用的系统和方法。 一个说明性方面包括用于比较二进制格式的程序的版本的方法。 该方法包括在程序的两个版本的部分中找到等同的内容,在两个版本的部分中找到等同的结构,并且当两个版本之一的一部分的一部分是 两个版本。

    Translation and transformation of heterogeneous programs
    5.
    发明授权
    Translation and transformation of heterogeneous programs 有权
    异构程序的翻译和转换

    公开(公告)号:US07197748B2

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

    申请号:US10911901

    申请日:2004-08-04

    IPC分类号: G06F9/45

    CPC分类号: G06F8/52

    摘要: Each component binary in a heterogeneous program is translated from a platform-specific instruction set into a set of intermediate representation (IR) instructions that are platform-neutral. The IR instructions are grouped into IR code blocks, the IR code blocks into IR procedures, and the IR procedures into IR components to create an intermediate representation hierarchy for the program. An application program interface is provided that permits user access to the IR hierarchy for instrumentation, optimization, navigation, and manipulation of the IR hierarchy. The transformed IR hierarchy is then translated into platform-specific instructions and output as a modified binary. The user can designate a different platform for the output translation of a code block than the platform for which the code block was originally written. Prologue and epilog code is added to contiguous blocks that are translated into different architectures. The modified binary can be iterated through the translation and transformation process to produce multiple versions of the heterogeneous program.

    摘要翻译: 异构程序中的每个组件二进制文件从平台特定的指令集转换为平台中立的一组中间表示(IR)指令。 IR指令分为IR代码块,IR代码块转换为IR程序,IR程序分为IR组件,以创建程序的中间表示层次结构。 提供了一个应用程序接口,允许用户访问IR层次结构,以进行IR层次结构的检测,优化,导航和操作。 转换的IR层次结构然后被转换为平台特定的指令并作为修改的二进制输出。 用户可以为代码块的输出转换指定与代码块最初写入的平台不同的平台。 序言和epilog代码被添加到被转换成不同架构的连续块。 修改的二进制文件可以通过翻译和转换过程进行迭代,以生成异构程序的多个版本。

    Methods for comparing versions of a program
    6.
    发明授权
    Methods for comparing versions of a program 失效
    比较程序版本的方法

    公开(公告)号:US06954747B1

    公开(公告)日:2005-10-11

    申请号:US09712063

    申请日:2000-11-14

    摘要: Systems and methods are discussed that allow profile information to be reused by various versions of a program. One illustrative aspect includes a method for comparing versions of a program in binary format. The method includes finding equivalent contents in portions of two versions of the program, finding equivalent structure in the portions of the two versions, and forming a match when a portion of one of the two versions is an equivalence of a portion of the other of the two versions.

    摘要翻译: 讨论了允许简档信息由程序的各种版本重用的系统和方法。 一个说明性方面包括用于比较二进制格式的程序的版本的方法。 该方法包括在程序的两个版本的部分中找到等同的内容,在两个版本的部分中找到等同的结构,并且当两个版本之一的一部分的一部分是 两个版本。