-
1.
公开(公告)号:US08959496B2
公开(公告)日:2015-02-17
申请号:US12764103
申请日:2010-04-21
申请人: Wolfram Schulte , Nikolai Tillmann , Michal J. Moskal , Manuel A. Fahndrich , Daniel J P Leijen , Barend H. Venter
发明人: Wolfram Schulte , Nikolai Tillmann , Michal J. Moskal , Manuel A. Fahndrich , Daniel J P Leijen , Barend H. Venter
CPC分类号: G06F9/45516 , G06F8/456 , G06F9/445 , G06F9/449
摘要: A tracing just-in-time (TJIT) compiler system is described for performing parallelization of code in a runtime phase in the execution of code. Upon detecting a hot loop during the execution of the code, the compiler system extracts trace information from sequentially recorded traces. In a first phase, the compiler system uses the trace information to identify at least one group of operation components that can be operated on in a parallel manner. In a second phase, the compiler system provides instructions which allocate the group of operation components to plural processing resources. A native code generator module carries out those instructions by recompiling native code that directs the operation of a native system to perform parallel processing. The compiler system terminates a group if it encounters program data in a loop iteration that is not consistent with previously encountered predicated information (upon which it records a new trace in a sequential manner).
摘要翻译: 描述了即时(TJIT)跟踪编译器系统,用于在执行代码的运行时阶段执行代码并行化。 在执行代码期间检测到热循环时,编译器系统从顺序记录的轨迹提取跟踪信息。 在第一阶段,编译器系统使用跟踪信息来识别可以以并行方式操作的至少一组操作组件。 在第二阶段,编译器系统提供将操作组分组分配给多个处理资源的指令。 本地代码生成器模块通过重新编译引导本地系统的操作来执行并行处理的本机代码来执行这些指令。 如果编译器系统遇到与以前遇到的预定信息不一致的循环迭代中遇到程序数据(在其中以顺序方式记录新的跟踪),则终止组。