会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 32. 发明授权
    • Anticipatory helper thread based code execution
    • 基于预期的助手线程代码执行
    • US08595744B2
    • 2013-11-26
    • US11436948
    • 2006-05-18
    • Partha P. TirumalaiYonghong SongSpiros Kalogeropulos
    • Partha P. TirumalaiYonghong SongSpiros Kalogeropulos
    • G06F9/46
    • G06F9/4843G06F9/52
    • A method and mechanism for using threads in a computing system. A multithreaded computing system is configured to execute a first thread and a second thread. Responsive to the first thread detecting a launch point for a function, the first thread is configured to provide an indication to the second thread that the second thread may begin execution of a given function. The launch point of the function precedes an actual call point of the function in an execution sequence. The second thread is configured to initiate execution of the function in response to the indication. The function includes one or more inputs and the second thread uses anticipated values for each of the one or more inputs. When the first thread reaches a call point for the function, the first thread is configured to use a results of the second thread's execution, in response to determining the anticipated values used by the second thread were correct.
    • 一种在计算系统中使用线程的方法和机制。 多线程计算系统被配置为执行第一线程和第二线程。 响应于检测功能的发起点的第一线程,第一线程被配置为向第二线程提供指示第二线程可以开始执行给定功能的指示。 该功能的启动点在执行顺序中的函数的实际调用点之前。 第二线程被配置为响应于该指示来启动该功能的执行。 该功能包括一个或多个输入,第二线程使用一个或多个输入中的每一个的预期值。 当第一线程到达功能的调用点时,第一线程被配置为使用第二线程的执行结果,以响应于确定第二线程使用的预期值是正确的。
    • 33. 发明授权
    • Method and system for interprocedural prefetching
    • 进程间预取的方法和系统
    • US08312442B2
    • 2012-11-13
    • US12331999
    • 2008-12-10
    • Yonghong SongSpiros KalogeropulosPartha P. Tirumalai
    • Yonghong SongSpiros KalogeropulosPartha P. Tirumalai
    • G06F9/45
    • G06F8/456
    • A computing system has an amount of shared cache, and performs runtime automatic parallelization wherein when a parallelized loop is encountered, a main thread shares the workload with at least one other non-main thread. A method for providing interprocedural prefetching includes compiling source code to produce compiled code having a main thread including a parallelized loop. Prior to the parallelized loop in the main thread, the main thread includes prefetching instructions for the at least one other non-main thread that shares the workload of the parallelized loop. As a result, the main thread prefetches data into the shared cache for use by the at least one other non-main thread.
    • 计算系统具有一定数量的共享缓存,并且执行运行时自动并行化,其中当遇到并行循环时,主线程与至少一个其他非主线程共享工作负载。 提供过程间预取的方法包括编译源代码以产生具有包括并行化循环的主线程的编译代码。 在主线程中的并行循环之前,主线程包括用于共享并行化循环的工作负载的至少一个其他非主线程的预取指令。 结果,主线程将数据预取到共享高速缓存中以供至少一个其他非主线程使用。
    • 34. 发明授权
    • Adaptive code through self steered execution
    • 自适应代码通过自我转向执行
    • US08069440B2
    • 2011-11-29
    • US11588639
    • 2006-10-27
    • Partha P. TirumalaiKurt J. GoebelYonghong SongSpiros Kalogeropulos
    • Partha P. TirumalaiKurt J. GoebelYonghong SongSpiros Kalogeropulos
    • G06F9/45G06F9/44
    • G06F9/45525G06F8/443
    • A method and mechanism for producing and executing self-steering program code. A method comprises analyzing program code and identifying portions which may be amenable to optimization. Having identified such a portion of code, at least one optimized version of the identified code is added to the program code. Additionally, a selection mechanism is added to the program code which is configured to select between two or more versions of the portion of code during runtime. The modified program code is then compiled with the added optimized version and the selection mechanism. During execution, monitoring of behavior of the code may be enabled or disabled. Based upon such monitored behavior, a different version of the code may be selected for execution. Various optimized versions may be selected for execution in a manner which takes advantage of the current behavior of the program.
    • 一种生产和执行自我导向程序代码的方法和机制。 一种方法包括分析程序代码和识别可能适于优化的部分。 在识别出这样的代码部分之后,将所识别代码的至少一个优化版本添加到程序代码中。 另外,选择机制被添加到被配置为在运行时期间在代码部分的两个或多个版本之间进行选择的程序代码。 然后,修改的程序代码将使用添加的优化版本和选择机制进行编译。 在执行期间,可以启用或禁用对代码行为的监视。 基于这样的监视行为,可以选择代码的不同版本来执行。 可以以利用程序的当前行为的方式来选择各种优化版本来执行。
    • 35. 发明申请
    • FAULT TOLERANT COMPILATION WITH AUTOMATIC ERROR CORRECTION
    • 具有自动错误校正的容错编译
    • US20100325618A1
    • 2010-12-23
    • US12488710
    • 2009-06-22
    • Yonghong SongSpiros KalogeropulosPartha P. Tirumalai
    • Yonghong SongSpiros KalogeropulosPartha P. Tirumalai
    • G06F9/45G06F11/07
    • G06F8/43G06F8/443G06F11/3624
    • A compilation method is provided for automated user error correction. The method includes using a compiler driver run by a processor to receive a source file for compilation. With a compiler component invoked by the compiler driver, the method includes identifying an error in the source file such as a linking problem or syntax error in the user's program. The method includes receiving with the compiler driver an error message corresponding to the identified error. With an error corrector module run by the processor, the method includes processing the error message to determine an error correction for the identified error in the source file. The compiler driver modifies the source file based on the error correction and compiles the modified source file with the compiler component.
    • 提供了自动化用户错误校正的编译方法。 该方法包括使用由处理器运行的编译器驱动程序接收源文件进行编译。 使用由编译器驱动程序调用的编译器组件,该方法包括识别源文件中的错误,例如用户程序中的链接问题或语法错误。 该方法包括使用编译器驱动程序接收与所识别的错误相对应的错误消息。 使用由处理器运行的错误校正器模块,该方法包括处理错误消息以确定源文件中识别的错误的错误校正。 编译器驱动程序根据纠错修改源文件,并使用编译器组件编译修改的源文件。
    • 36. 发明申请
    • CONTROLLING AND DYNAMICALLY VARYING AUTOMATIC PARALLELIZATION
    • 控制和动态变化自动并行
    • US20100153959A1
    • 2010-06-17
    • US12335124
    • 2008-12-15
    • Yonghong SongSpiros KalogeropulosPartha P. Tirumalai
    • Yonghong SongSpiros KalogeropulosPartha P. Tirumalai
    • G06F9/50
    • G06F9/485
    • A system and method for automatically controlling run-time parallelization of a software application. A buffer is allocated during execution of program code of an application. When a point in program code near a parallelized region is reached, demand information is stored in the buffer in response to reaching a predetermined first checkpoint. Subsequently, the demand information is read from the buffer in response to reaching a predetermined second checkpoint. Allocation information corresponding to the read demand information is computed and stored the in the buffer for the application to later access. The allocation information is read from the buffer in response to reaching a predetermined third checkpoint, and the parallelized region of code is executed in a manner corresponding to the allocation information.
    • 一种用于自动控制软件应用程序运行时并行化的系统和方法。 在执行应用程序代码期间分配缓冲区。 当到达并行化区域附近的程序代码点时,响应于到达预定的第一检查点,请求信息被存储在缓冲器中。 随后,响应于到达预定的第二检查点,从缓冲器读取需求信息。 计算与读请求信息相对应的分配信息,并将其存储在用于应用的缓冲器中以供稍后访问。 响应于到达预定的第三检查点,从缓冲器读取分配信息,并且以对应于分配信息的方式执行并行化的代码区域。
    • 37. 发明申请
    • STATIC PROFITABILITY CONTROL FOR SPECULATIVE AUTOMATIC PARALLELIZATION
    • 用于统计自动并行的静态利润控制
    • US20090276758A1
    • 2009-11-05
    • US12113716
    • 2008-05-01
    • Yonghong SongSpiros KalogeropulosPartha P. Tirumalai
    • Yonghong SongSpiros KalogeropulosPartha P. Tirumalai
    • G06F9/44
    • 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. Having identified one or more suitable candidates, the profitability of parallelizing the candidate code is determined. If the profitability determination meets a predetermined criteria, then the candidate code may be parallelized. If, however, the profitability determination does not meet the predetermined criteria, then the candidate code may not be parallelized. Candidate code may comprises a loop, and determining profitability of parallelization may include computing a probability of transaction failure for the loop. Additionally, a determination of an execution time of a parallelized version of the loop is made. If the determined execution time is less than an execution time of a non-parallelized version of said loop by at least a given amount, then the loop may be parallelized. If the determined execution time is not less than an execution time of a non-parallelized version of said loop by at least a given amount, then the loop may not be parallelized.
    • 用于并行化程序代码的编译方法和机制。 一种编译方法包括分析源代码和识别用于并行化的候选代码。 确定了一个或多个合适的候选者后,确定并行化候选代码的盈利能力。 如果盈利能力确定满足预定标准,则候选代码可以并行化。 然而,如果盈利能力确定不符合预定标准,则候选代码可能不并行化。 候选代码可以包括循环,并且确定并行化的获利能力可以包括计算循环的事务失败概率。 此外,进行环路的并行化版本的执行时间的确定。 如果确定的执行时间小于所述循环的非并行化版本的执行时间至少给定量,则可以并行化该循环。 如果确定的执行时间不小于所述循环的非并行化版本的执行时间至少给定量,则循环可能不并行化。
    • 38. 发明申请
    • Adaptive code through self steered execution
    • 自适应代码通过自我转向执行
    • US20080127134A1
    • 2008-05-29
    • US11588639
    • 2006-10-27
    • Partha P. TirumalaiKurt J. GoebelYonghong SongSpiros Kalogeropulos
    • Partha P. TirumalaiKurt J. GoebelYonghong SongSpiros Kalogeropulos
    • G06F9/45
    • G06F9/45525G06F8/443
    • A method and mechanism for producing and executing self-steering program code. A method comprises analyzing program code and identifying portions which may be amenable to optimization. Having identified such a portion of code, at least one optimized version of the identified code is added to the program code. Additionally, a selection mechanism is added to the program code which is configured to select between two or more versions of the portion of code during runtime. The modified program code is then compiled with the added optimized version and the selection mechanism. During execution, monitoring of behavior of the code may be enabled or disabled. Based upon such monitored behavior, a different version of the code may be selected for execution. Various optimized versions may be selected for execution in a manner which takes advantage of the current behavior of the program
    • 一种生产和执行自我导向程序代码的方法和机制。 一种方法包括分析程序代码和识别可能适于优化的部分。 在识别出这样的代码部分之后,将所识别代码的至少一个优化版本添加到程序代码中。 另外,选择机制被添加到被配置为在运行时期间在代码部分的两个或多个版本之间进行选择的程序代码。 然后,修改的程序代码将使用添加的优化版本和选择机制进行编译。 在执行期间,可以启用或禁用对代码行为的监视。 基于这样的监视行为,可以选择代码的不同版本来执行。 可以以利用程序的当前行为的方式来选择各种优化版本来执行
    • 39. 发明申请
    • Method and system for identifying multi-block indirect memory access chains
    • 用于识别多块间接存储器访问链的方法和系统
    • US20070283105A1
    • 2007-12-06
    • US11446624
    • 2006-06-05
    • Spiros KalogeropulosYonghong SongPartha P. Tirumalai
    • Spiros KalogeropulosYonghong SongPartha P. Tirumalai
    • G06F13/00G06F12/00
    • G06F12/0862G06F2212/6028
    • A method and system for identifying multi-block indirect memory access chains. A method may include identifying basic blocks between an entry point and an exit point of a procedure, where the procedure includes a control statement governing its execution. It may be determined whether a probability of execution of a given basic block relative to the control statement equals or exceeds a first threshold value. If so, a respective set of one or more chains of indirect memory accesses may be generated, where each chain includes at least a respective head memory access that does not depend for its memory address computation on another memory access within the given basic block. Chains may be joined across basic blocks dependent upon whether the relative execution probabilities of the blocks exceed a threshold value.
    • 一种用于识别多块间接存储器访问链的方法和系统。 方法可以包括识别过程的入口点和出口点之间的基本块,其中过程包括管理其执行的控制语句。 可以确定给定基本块相对于控制语句的执行概率是否等于或超过第一阈值。 如果是这样,则可以生成一组或多个间接存储器访问链,其中每个链包括至少一个相应的头部存储器访问,其不依赖于其在给定基本块内的另一个存储器访问上的存储器地址计算。 可以根据块的相对执行概率是否超过阈值,跨基本块连接链。