BINDING EXECUTABLE CODE AT RUNTIME
    21.
    发明申请
    BINDING EXECUTABLE CODE AT RUNTIME 有权
    在运行期间绑定可执行代码

    公开(公告)号:US20120317558A1

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

    申请号:US13158226

    申请日:2011-06-10

    IPC分类号: G06F9/45

    摘要: The present invention extends to methods, systems, and computer program products for binding executable code at runtime. Embodiments of the invention include late binding of specified aspects of code to improve execution performance. A runtime dynamically binds lower level code based on runtime information to optimize execution of a higher level algorithm. Aspects of a higher level algorithm having a requisite (e.g., higher) impact on execution performance can be targeted for late binding. Improved performance can be achieved with minimal runtime costs using late binding for aspects having the requisite execution performance impact.

    摘要翻译: 本发明扩展到用于在运行时绑定可执行代码的方法,系统和计算机程序产品。 本发明的实施例包括代码的特定方面的后期绑定以改善执行性能。 运行时基于运行时信息动态地绑定较低级别的代码,以优化较高级算法的执行。 具有对执行性能的必要(例如更高)影响的较高级算法的方面可以针对后期绑定。 通过对具有必要的执行性能影响的方面的后期绑定,可以以最小的运行时成本实现改进的性能。

    OPTIMIZING EXECUTION OF KERNELS
    22.
    发明申请
    OPTIMIZING EXECUTION OF KERNELS 有权
    优化KERNELS执行

    公开(公告)号:US20120317556A1

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

    申请号:US13158966

    申请日:2011-06-13

    IPC分类号: G06F9/45

    CPC分类号: G06F8/451

    摘要: The present invention extends to methods, systems, and computer program products for optimizing execution of kernels. Embodiments of the invention include an optimization framework for optimizing runtime execution of kernels. During compilation, information about the execution properties of a kernel are identified and stored alongside the executable code for the kernel. At runtime, calling contexts access the information. The calling contexts interpret the information and optimize kernel execution based on the interpretation.

    摘要翻译: 本发明扩展到用于优化内核的执行的方法,系统和计算机程序产品。 本发明的实施例包括用于优化内核的运行时执行的优化框架。 在编译期间,内核的执行属性的信息被识别并存储在内核的可执行代码旁边。 在运行时,调用上下文访问信息。 调用上下文根据解释来解释信息并优化内核执行。

    MAP TRANSFORMATION IN DATA PARALLEL CODE
    23.
    发明申请
    MAP TRANSFORMATION IN DATA PARALLEL CODE 有权
    数据并行代码中的MAP转换

    公开(公告)号:US20120124564A1

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

    申请号:US12947989

    申请日:2010-11-17

    IPC分类号: G06F9/45 G06F9/40

    CPC分类号: G06F8/45

    摘要: A high level programming language provides a map transformation that takes a data parallel algorithm and a set of one or more input indexable types as arguments. The map transformation applies the data parallel algorithm to the set of input indexable types to generate an output indexable type, and returns the output indexable type. The map transformation may be used to fuse one or more data parallel algorithms with another data parallel algorithm.

    摘要翻译: 高级编程语言提供了将数据并行算法和一组一个或多个输入可索引类型作为参数的映射变换。 映射变换将数据并行算法应用于输入可索引类型的集合,以生成输出可索引类型,并返回输出可索引类型。 地图变换可以用于将一个或多个数据并行算法与另一数据并行算法融合。

    Read-only communication operator
    25.
    发明授权
    Read-only communication operator 有权
    只读通讯操作员

    公开(公告)号:US09430204B2

    公开(公告)日:2016-08-30

    申请号:US12949908

    申请日:2010-11-19

    IPC分类号: G06F9/44 G06F9/45

    CPC分类号: G06F8/314 G06F8/458

    摘要: A high level programming language provides a read-only communication operator that prevents a computational space from being written. An indexable type with a rank and element type defines the computational space. For an input indexable type, the read-only communication operator produces an output indexable type with the same rank and element type as the input indexable type but ensures that the output indexable type may not be written. The read-only communication operator ensures that any attempt to write to the output indexable type will be detected as an error at compile time.

    摘要翻译: 高级编程语言提供了一种只读通信操作符,防止写入计算空间。 具有等级和元素类型的可索引类型定义了计算空间。 对于输入可索引类型,只读通信运算符产生具有与输入可索引类型相同的排名和元素类型的输出可索引类型,但确保可能不写入输出可索引类型。 只读通信运算符确保在编译时检测到对输出可索引类型的任何尝试都将作为错误检测。

    Indexable type transformations
    27.
    发明授权
    Indexable type transformations 有权
    可索引类型转换

    公开(公告)号:US08839214B2

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

    申请号:US12827217

    申请日:2010-06-30

    IPC分类号: G06F9/45

    CPC分类号: G06F8/453

    摘要: A high level programming language provides an extensible set of transformations for use on indexable types in a data parallel processing environment. A compiler for the language implements each transformation as a map from indexable types to allow each transformation to be applied to other transformations. At compile time, the compiler identifies sequences of the transformations on each indexable type in data parallel source code and generates data parallel executable code to implement the sequences as a combined operation at runtime using the transformation maps. The compiler also incorporates optimizations that are based on the sequences of transformations into the data parallel executable code.

    摘要翻译: 高级编程语言为数据并行处理环境中的可索引类型提供了一组可扩展的转换。 该语言的编译器将实现每个变换作为可索引类型的映射,以允许将每个转换应用于其他转换。 在编译时,编译器在数据并行源代码中识别每个可索引类型的转换序列,并生成数据并行可执行代码,以便在运行时使用变换映射来实现序列作为组合操作。 编译器还集成了基于转换为数据并行可执行代码的序列的优化。

    Binding data parallel device source code
    28.
    发明授权
    Binding data parallel device source code 有权
    绑定数据并行设备源代码

    公开(公告)号:US08756590B2

    公开(公告)日:2014-06-17

    申请号:US12820240

    申请日:2010-06-22

    IPC分类号: G06F9/45

    摘要: A compile environment is provided in a computer system that allows programmers to program both CPUs and data parallel devices (e.g., GPUs) using a high level general purpose programming language that has data parallel (DP) extensions. A compilation process translates modular DP code written in the general purpose language into DP device source code in a high level DP device programming language using a set of binding descriptors for the DP device source code. A binder generates a single, self-contained DP device source code unit from the set of binding descriptors. A DP device compiler generates a DP device executable for execution on one or more data parallel devices from the DP device source code unit.

    摘要翻译: 在计算机系统中提供编译环境,允许程序员使用具有数据并行(DP)扩展的高级通用编程语言对CPU和数据并行设备(例如,GPU)进行编程。 编译过程使用一组用于DP设备源代码的绑定描述符将以通用语言编写的模块化DP代码转换为高级DP设备编程语言的DP设备源代码。 装订器从一组绑定描述符生成单个独立的DP设备源代码单元。 DP设备编译器生成可执行DP器件,以便从DP设备源代码单元在一个或多个数据并行设备上执行。

    STM with global version overflow handling
    30.
    发明授权
    STM with global version overflow handling 有权
    STM与全局版本溢出处理

    公开(公告)号:US08627292B2

    公开(公告)日:2014-01-07

    申请号:US12370742

    申请日:2009-02-13

    IPC分类号: G06F9/44 G06F11/00

    CPC分类号: G06F9/466 G06F11/141

    摘要: A software transactional memory system is provided with overflow handling. The system includes a global version counter with an epoch number and a version number. The system accesses the global version counter prior to and subsequent to memory accesses of transactions to validate read accesses of the transaction. The system includes mechanisms to detect global version number overflow and may allow some or all transactions to execute to completion subsequent to the global version number overflowing. The system also provides publication, privatization, and granular safety properties.

    摘要翻译: 软件事务内存系统提供溢出处理。 该系统包括具有时代号和版本号的全局版本计数器。 系统在事务的内存访问之前和之后访问全局版本计数器,以验证事务的读取访问。 该系统包括检测全局版本号溢出的机制,并且可允许一些或所有事务在全球版本号码溢出之后执行完成。 该系统还提供出版物,私有化和粒状安全属性。