Compiler implementation of lock/unlock using hardware transactional memory
    82.
    发明授权
    Compiler implementation of lock/unlock using hardware transactional memory 有权
    使用硬件事务内存的编译器实现锁定/解锁

    公开(公告)号:US08612929B2

    公开(公告)日:2013-12-17

    申请号:US12331950

    申请日:2008-12-10

    IPC分类号: G06F9/44 G06F9/45

    摘要: A system and method for automatic efficient parallelization of code combined with hardware transactional memory support. A software application may contain a transaction synchronization region (TSR) utilizing lock and unlock transaction synchronization function calls for a shared region of memory within a shared memory. The TSR is replaced with two portions of code. The first portion comprises hardware transactional memory primitives in place of lock and unlock function calls. Also, the first portion ensures no other transaction is accessing the shared region without disabling existing hardware transactional memory support. The second portion performs a fail routine, which utilizes lock and unlock transaction synchronization primitives in response to an indication that a failure occurs within said first portion.

    摘要翻译: 用于自动高效并行化代码并结合硬件事务内存支持的系统和方法。 软件应用可以包含利用对共享存储器内的共享存储器区域的锁定和解锁事务同步功能调用的事务同步区域(TSR)。 TSR被替换为两部分代码。 第一部分包括代替锁定和解锁功能调用的硬件事务存储器原语。 此外,第一部分确保没有其他事务访问共享区域,而不会禁用现有的硬件事务内存支持。 第二部分执行故障例程,其响应于在所述第一部分内发生故障的指示,利用锁定和解锁事务同步原语。

    Runtime profitability control for speculative automatic parallelization
    83.
    发明授权
    Runtime profitability control for speculative automatic parallelization 有权
    投机自动并行化的运行时获利控制

    公开(公告)号:US08359587B2

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

    申请号:US12113706

    申请日:2008-05-01

    IPC分类号: G06F9/45

    CPC分类号: G06F8/456

    摘要: A compilation method and mechanism for parallelizing program code. A method for compilation includes analyzing source code and identifying candidate code for parallelization. The method includes parallelizing the candidate code, in response to determining said profitability meets a predetermined criteria; and generating object code corresponding to the source code. The generated object code includes both a non-parallelized version of the candidate code and a parallelized version of the candidate code. During execution of the object code, a dynamic selection between execution of the non-parallelized version of the candidate code and the parallelized version of the candidate code is made. Changing execution from said parallelized version of the candidate code to the non-parallelized version of the candidate code, may be in response to determining a transaction failure count meets a pre-determined threshold. Additionally, changing execution from one version to the other may be in further response to determining an execution time of the parallelized version of the candidate code is greater than an execution time of the non-parallelized version of the candidate code.

    摘要翻译: 用于并行化程序代码的编译方法和机制。 一种编译方法包括分析源代码和识别用于并行化的候选代码。 响应于确定所述获利能力满足预定标准,该方法包括并行化候选代码; 并产生与源代码相对应的目标代码。 生成的目标代码包括候选代码的非并行化版本和候选代码的并行化版本。 在执行对象代码期间,进行候选代码的非并行化版本的执行与候选代码的并行化版本之间的动态选择。 将候选代码的所述并行化版本的执行改变为候选代码的非并行化版本可以响应于确定事务故障计数满足预定阈值。 此外,将执行从一个版本改变到另一版本可能进一步响应于确定候选代码的并行化版本的执行时间大于候选代码的非并行化版本的执行时间。

    Method and apparatus for generating efficient code for scout thread to prefetch data values for a main thread
    85.
    发明申请
    Method and apparatus for generating efficient code for scout thread to prefetch data values for a main thread 审中-公开
    用于生成用于侦察线程的有效代码以预取主线程的数据值的方法和装置

    公开(公告)号:US20120226892A1

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

    申请号:US11081984

    申请日:2005-03-16

    IPC分类号: G06F9/38 G06F12/08

    CPC分类号: G06F9/3851 G06F9/383

    摘要: One embodiment of the present invention provides a system that generates code for a scout thread to prefetch data values for a main thread. During operation, the system compiles source code for a program to produce executable code for the program. This compilation process involves performing reuse analysis to identify prefetch candidates which are likely to be touched during execution of the program. Additionally, this compilation process produces executable code for the scout thread which contains prefetch instructions to prefetch the identified prefetch candidates for the main thread. In this way, the scout thread can subsequently be executed in parallel with the main thread in advance of where the main thread is executing to prefetch data items for the main thread.

    摘要翻译: 本发明的一个实施例提供一种系统,其生成侦察线程的代码以预取主线程的数据值。 在操作期间,系统编译程序的源代码,以生成程序的可执行代码。 该编译过程涉及执行重用分析以识别在执行程序期间可能被触摸的预取候选。 此外,该编译过程产生用于侦察线程的可执行代码,其包含预取指令以预取主线程的所识别的预取候选。 以这种方式,侦察线程随后可以在主线程正在执行以预取主线程的数据项之前与主线程并行执行。

    Inhibitors of protein kinases
    86.
    发明授权
    Inhibitors of protein kinases 有权
    蛋白激酶抑制剂

    公开(公告)号:US08258144B2

    公开(公告)日:2012-09-04

    申请号:US12386848

    申请日:2009-04-22

    IPC分类号: C07D487/00 A61K31/519

    摘要: The present invention is directed to compounds of formula I-II and pharmaceutically acceptable salts, esters, and prodrugs thereof which are inhibitors of syk and/or JAK kinase. The present invention is also directed to intermediates used in making such compounds, the preparation of such a compound, pharmaceutical compositions containing such a compound, methods of inhibition syk and/or JAK kinase activity, methods of inhibition the platelet aggregation, and methods to prevent or treat a number of conditions mediated at least in part by syk and/or JAK kinase activity, such as undesired thrombosis and Non Hodgkin's Lymphoma.

    摘要翻译: 本发明涉及式I-II化合物及其药学上可接受的盐,酯和前体药物,它们是syk和/或JAK激酶的抑制剂。 本发明还涉及用于制备这种化合物的中间体,这种化合物的制备,含有这种化合物的药物组合物,抑制性syk和/或JAK激酶活性的方法,抑制血小板聚集的方法以及预防方法 或治疗至少部分通过syk和/或JAK激酶活性介导的许多病症,例如不期望的血栓形成和非霍奇金淋巴瘤。

    Facilitating communication and synchronization between main and scout threads
    88.
    发明授权
    Facilitating communication and synchronization between main and scout threads 有权
    促进主和侦察线程之间的通信和同步

    公开(公告)号:US07950012B2

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

    申请号:US11272178

    申请日:2005-11-09

    IPC分类号: G06F9/46 G06F9/38

    摘要: One embodiment of the present invention provides a system for communicating and performing synchronization operations between a main thread and a helper-thread. The system starts by executing a program in a main thread. Upon encountering a loop which has associated helper-thread code, the system commences the execution of the code by the helper-thread separately and in parallel with the main thread. While executing the code by the helper-thread, the system periodically checks the progress of the main thread and deactivates the helper-thread if the code being executed by the helper-thread is no longer performing useful work. Hence, the helper-thread is executes in advance of where the main thread is executing to prefetch data items for the main thread without unnecessarily consuming processor resources or hampering the execution of the main thread.

    摘要翻译: 本发明的一个实施例提供一种用于在主线程和辅助线程之间进行通信和执行同步操作的系统。 系统通过在主线程中执行程序来启动。 在遇到具有相关联的助手线程代码的循环时,系统通过辅助线程分别开始与主线程并行执行代码。 在由辅助线程执行代码的同时,如果由辅助线程执行的代码不再执行有用的工作,则系统将定期检查主线程的进度并停用辅助线程。 因此,辅助线程在主线程正在执行的地方执行以预取主线程的数据项,而不必耗费处理器资源或妨碍主线程的执行。

    FAULT TOLERANT COMPILATION WITH AUTOMATIC OPTIMIZATION ADJUSTMENT
    90.
    发明申请
    FAULT TOLERANT COMPILATION WITH AUTOMATIC OPTIMIZATION ADJUSTMENT 有权
    具有自动优化调整的容错编译

    公开(公告)号:US20100325619A1

    公开(公告)日:2010-12-23

    申请号:US12488905

    申请日:2009-06-22

    IPC分类号: G06F9/45

    摘要: A compilation method is provided for correcting compiler errors that include compiler internal errors and errors produced by running a validation suite. The method includes running a compiler on a computer and storing a set of optimization levels in memory accessible by the compiler. The method includes receiving a source file with the compiler that includes a user-defined optimization level to be used in compiling the source file. The method includes identifying a set of functions within the source file and using compiler components to compile these functions using the original optimization level. When the compiling results in an internal error occurring and being reported for one or more of the functions, the method includes using an optimization adjustment module to process the internal error and assign an adjusted or lower optimization level to the one or more functions and recompiling of these functions again with the lower optimization level.

    摘要翻译: 提供了一种编译方法,用于纠正编译器错误,包括编译器内部错误和运行验证套件产生的错误。 该方法包括在计算机上运行编译器,并将一组优化级别存储在编译器可访问的存储器中。 该方法包括接收包含用于编译源文件的用户定义的优化级别的编译器的源文件。 该方法包括识别源文件中的一组函数,并使用编译器组件使用原始优化级别编译这些函数。 当编译导致内部错误发生并被报告给一个或多个功能时,该方法包括使用优化调整模块来处理内部错误并且将调整的或较低的优化级别分配给一个或多个功能并重新编译 这些功能再次具有较低的优化级别。