STM WITH GLOBAL VERSION OVERFLOW HANDLING
    31.
    发明申请
    STM WITH GLOBAL VERSION OVERFLOW HANDLING 有权
    STM与全球版本的超流量处理

    公开(公告)号:US20100211931A1

    公开(公告)日:2010-08-19

    申请号:US12370742

    申请日:2009-02-13

    IPC分类号: G06F9/44

    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.

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

    DEBUGGING IN A MULTIPLE ADDRESS SPACE ENVIRONMENT
    32.
    发明申请
    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
    33.
    发明申请
    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
    34.
    发明授权
    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
    35.
    发明申请
    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.

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

    EXPEDITED COMPLETION OF A TRANSACTION IN STM
    36.
    发明申请
    EXPEDITED COMPLETION OF A TRANSACTION IN STM 审中-公开
    在STM中进行交易的预期完成

    公开(公告)号:US20100228929A1

    公开(公告)日:2010-09-09

    申请号:US12400209

    申请日:2009-03-09

    IPC分类号: G06F12/02

    CPC分类号: G06F9/467

    摘要: A software transactional memory system is provided that provides privatization safety. The system identifies situations where the completion of a transaction may be expedited because a privatization artifact will not occur. The system determines whether a privatization artifact may occur using a read and write set intersection test, transactional variables, pessimistic locks, or declared privatizing transactions. If a privatization artifact will not occur for a transaction, then the system may allow the transaction to complete prior to one or more earlier transactions.

    摘要翻译: 提供了提供私有化安全性的软件事务内存系统。 系统识别事务的完成可能因为私有化工件不会发生而加快的情况。 系统使用读写集合交集测试,事务变量,悲观锁或已声明的私有化事务来确定私有化工件是否可能发生。 如果事务不会发生私有化工件,则系统可能允许事务在一个或多个较早的事务之前完成。

    STM with global version overflow handling
    37.
    发明授权
    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.

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

    TRANSFORMING ADDRESSING ALIGNMENT DURING CODE GENERATION
    38.
    发明申请
    TRANSFORMING ADDRESSING ALIGNMENT DURING CODE GENERATION 有权
    在代码生成期间转换寻址对齐

    公开(公告)号:US20120317394A1

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

    申请号:US13158077

    申请日:2011-06-10

    IPC分类号: G06F12/00

    CPC分类号: G06F8/44

    摘要: The present invention extends to methods, systems, and computer program products for changing addressing mode during code generation. Generally, embodiments of the invention use a compiler transformation to transform lower level code from one address alignment to another address alignment. The transformation can be based upon assumptions of a source programming language. Based on the assumptions, the transformation can eliminate arithmetic operations that compensate for different addressing alignment, resulting in more efficient code. Some particular embodiments use a compiler transformation to transform an Intermediate Representation (“IR”) from one-byte addressing alignment into multi-byte (e.g., four-byte) addressing alignment.

    摘要翻译: 本发明扩展到用于在代码生成期间改变寻址模式的方法,系统和计算机程序产品。 通常,本发明的实施例使用编译器转换来将较低级别的代码从一个地址对齐转换到另一个地址对齐。 转换可以基于源程序设计语言的假设。 基于这些假设,转换可以消除补偿不同寻址对齐的算术运算,从而产生更有效的代码。 一些特定实施例使用编译器转换将中间表示(IR)从一字节寻址对准转换为多字节(例如,四字节)寻址对齐。