OPTIMIZING EXECUTION OF KERNELS
    1.
    发明申请
    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.

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

    Optimizing execution of kernels
    2.
    发明授权
    Optimizing execution of kernels 有权
    优化内核的执行

    公开(公告)号:US08533698B2

    公开(公告)日:2013-09-10

    申请号:US13158966

    申请日:2011-06-13

    IPC分类号: G06F9/44

    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.

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

    Aliasing buffers
    3.
    发明授权
    Aliasing buffers 有权
    混叠缓冲区

    公开(公告)号:US08990515B2

    公开(公告)日:2015-03-24

    申请号:US13160373

    申请日:2011-06-14

    IPC分类号: G06F9/45 G06F9/445

    CPC分类号: G06F8/51 G06F9/44536

    摘要: The present invention extends to methods, systems, and computer program products for aliasing buffers. Embodiment of the inventions supporting buffer aliasing through introduction of a level of indirection between a source program's buffer accesses and the target executable physical buffers, and binding the logical buffer accesses to actual physical buffer accesses at runtime. A variety of techniques for can be used supporting runtime aliasing of buffers, in a system which otherwise disallows such runtime aliasing between separately defined buffers in the target executable code. Binding of logical buffer accesses in the source program to the actual physical buffers defined in the target executable code is delayed until runtime.

    摘要翻译: 本发明扩展到用于混叠缓冲器的方法,系统和计算机程序产品。 本发明的实施例通过引入源程序的缓冲器访问和目标可执行物理缓冲器之间的间接级别来支持缓冲器混叠,并且在运行时将逻辑缓冲器访问绑定到实际物理缓冲器访问。 可以使用各种技术来支持缓冲器的运行时混叠,在系统中,否则不允许在目标可执行代码中的单独定义的缓冲区之间的这种运行时混叠。 将源程序中的逻辑缓冲区访问绑定到目标可执行代码中定义的实际物理缓冲区将被延迟到运行时。

    Debugging in a multiple address space environment
    4.
    发明授权
    Debugging in a multiple address space environment 有权
    在多地址空间环境中进行调试

    公开(公告)号:US08677322B2

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

    申请号:US13172521

    申请日:2011-06-29

    IPC分类号: G06F9/44

    CPC分类号: G06F8/41 G06F11/3624

    摘要: The present invention extends to methods, systems, and computer program products for debugging in a multiple address space environment. Embodiments of the invention include techniques for recording debug information used for translating between an abstract unified address space and multiple address spaces at a target system (e.g., a co-processor, such as, a GPU or other accelerator). A table is stored in the recorded debug information. The table includes one or more entries mapping compiler assigned IDs to address spaces. During debugging within a symbolic debugger, the recorded debug information can be used for viewing program data across multiple address spaces in a live debugging session.

    摘要翻译: 本发明扩展到用于在多地址空间环境中进行调试的方法,系统和计算机程序产品。 本发明的实施例包括用于记录用于在抽象统一地址空间和目标系统(例如协同处理器,例如GPU或其他加速器)处的多个地址空间之间进行翻译的调试信息的技术。 表中存储有记录的调试信息。 该表包括将编译器分配的ID映射到地址空间的一个或多个条目。 在符号调试器调试期间,记录的调试信息可用于在实时调试会话中跨多个地址空间查看程序数据。

    DEBUGGING IN A MULTIPLE ADDRESS SPACE ENVIRONMENT
    5.
    发明申请
    DEBUGGING IN A MULTIPLE ADDRESS SPACE ENVIRONMENT 有权
    在多个地址空间环境中进行调试

    公开(公告)号:US20130007712A1

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

    申请号:US13172521

    申请日:2011-06-29

    IPC分类号: G06F9/44

    CPC分类号: G06F8/41 G06F11/3624

    摘要: The present invention extends to methods, systems, and computer program products for debugging in a multiple address space environment. Embodiments of the invention include techniques for recording debug information used for translating between an abstract unified address space and multiple address spaces at a target system (e.g., a co-processor, such as, a GPU or other accelerator). A table is stored in the recorded debug information. The table includes one or more entries mapping compiler assigned IDs to address spaces. During debugging within a symbolic debugger, the recorded debug information can be used for viewing program data across multiple address spaces in a live debugging session.

    摘要翻译: 本发明扩展到用于在多地址空间环境中进行调试的方法,系统和计算机程序产品。 本发明的实施例包括用于记录用于在抽象统一地址空间和目标系统(例如协同处理器,例如GPU或其他加速器)处的多个地址空间之间进行翻译的调试信息的技术。 表中存储有记录的调试信息。 该表包括将编译器分配的ID映射到地址空间的一个或多个条目。 在符号调试器调试期间,记录的调试信息可用于在实时调试会话中跨多个地址空间查看程序数据。

    BINDING EXECUTABLE CODE AT RUNTIME
    6.
    发明申请
    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.

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

    Binding executable code at runtime
    7.
    发明授权
    Binding executable code at runtime 有权
    在运行时绑定可执行代码

    公开(公告)号:US08468507B2

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

    申请号: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.

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

    ALIASING BUFFERS
    8.
    发明申请
    ALIASING BUFFERS 有权
    消除缓冲区

    公开(公告)号:US20120324430A1

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

    申请号:US13160373

    申请日:2011-06-14

    IPC分类号: G06F9/45

    CPC分类号: G06F8/51 G06F9/44536

    摘要: The present invention extends to methods, systems, and computer program products for aliasing buffers. Embodiment of the inventions supporting buffer aliasing through introduction of a level of indirection between a source program's buffer accesses and the target executable physical buffers, and binding the logical buffer accesses to actual physical buffer accesses at runtime. A variety of techniques for can be used supporting runtime aliasing of buffers, in a system which otherwise disallows such runtime aliasing between separately defined buffers in the target executable code. Binding of logical buffer accesses in the source program to the actual physical buffers defined in the target executable code is delayed until runtime.

    摘要翻译: 本发明扩展到用于混叠缓冲器的方法,系统和计算机程序产品。 本发明的实施例通过引入源程序的缓冲器访问和目标可执行物理缓冲器之间的间接级别来支持缓冲器混叠,并且在运行时将逻辑缓冲器访问绑定到实际物理缓冲器访问。 可以使用各种技术来支持缓冲器的运行时混叠,在系统中,否则不允许在目标可执行代码中的单独定义的缓冲区之间的这种运行时混叠。 将源程序中的逻辑缓冲区访问绑定到目标可执行代码中定义的实际物理缓冲区将被延迟到运行时。

    EMULATING POINTERS
    9.
    发明申请
    EMULATING POINTERS 有权
    模拟点

    公开(公告)号:US20120167062A1

    公开(公告)日:2012-06-28

    申请号:US12979094

    申请日:2010-12-27

    IPC分类号: G06F9/45

    CPC分类号: G06F9/455 G06F8/434

    摘要: The present invention extends to methods, systems, and computer program products for emulating pointers. Pointers can be emulated by replacing the pointers with a pair and replacing each dereference site with a switch on the tag and a switch body that executes the emulated pointer access on the corresponding variable the pointer points to. Data flow optimizations can be used to reduce the number of switches and/or reduce the number of cases which need be considered at each emulated pointer access sites.

    摘要翻译: 本发明扩展到用于模拟指针的方法,系统和计算机程序产品。 可以通过用对替换指针来替换指针,并使用标签上的开关替换每个解引用站点,以及在指针指向的相应变量上执行仿真指针访问的交换机主体。 可以使用数据流优化来减少交换机的数量和/或减少在每个仿真指针访问站点需要考虑的情况的数量。

    READ-ONLY COMMUNICATION OPERATOR
    10.
    发明申请
    READ-ONLY COMMUNICATION OPERATOR 有权
    只读通信操作器

    公开(公告)号:US20120131552A1

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

    申请号:US12949908

    申请日:2010-11-19

    IPC分类号: G06F9/45 G06F9/44

    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.

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