发明名称 Method and system for parallelization of sequential computer program codes
摘要 A method and system for parallelization of sequential computer program code are described. In one embodiment, an automatic parallelization system includes a syntactic analyzer to analyze the structure of the sequential computer program code to identify the positions to insert SPI to the sequential computer code; a profiler for profiling the sequential computer program code by preparing call graph to determine dependency of each line of the sequential computer program code and the time required for the execution of each function of the sequential computer program code; an analyzer to determine parallelizability of the sequential computer program code from the information obtained by analyzing and profiling of the sequential computer program code; and a code generator to insert SPI to the sequential computer program code upon determination of parallelizability to obtain parallel computer program code, which is further outputted to a parallel computing environment for execution and the method thereof.
申请公布号 US8949786(B2) 申请公布日期 2015.02.03
申请号 US200913132189 申请日期 2009.12.01
申请人 KPIT Technologies Limited 发明人 Vaidya Vinay G.;Priti Ranadive;Sudhakar Sah
分类号 G06F9/45;G06F9/44 主分类号 G06F9/45
代理机构 Foley & Lardner LLP 代理人 Foley & Lardner LLP
主权项 1. A method for parallelization of sequential computer program code for increasing the execution speed, comprising: inputting the sequential computer program code to an automatic parallelization system, wherein the sequential computer program code comprises a plurality of functions; analysing the structure of the sequential computer program code offline and before execution of the sequential computer program code; determining dependency of each line of the sequential computer program code; determining time required for the execution of each function of the sequential computer program code; plotting call 3D graphs based on the structure of the sequential computer program code, the dependency of said each line and the time required for execution of said each function; determining parallelizability of the sequential computer program code using the information in the call 3D graphs; generating a parallel executable computer program code by inserting special program instructions in the sequential computer program code based on the determined parallelizability; passing the parallel executable computer program code to a parallel computing environment for execution, wherein the call 3D graphs comprise graphs of variable vs time, variable vs line number, and function vs time of the sequential computer program and identifying and routing whole functions or parts thereof to different processors to achieve parallelization of sequential computer program code using the line and time dependency statistics.
地址 Pune IN