Patent ID: 8949786
Filing Date: 2015-02-03
Classification: G06F

Abstract:
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.