Patent attributes
A system and method for automatic parallelization of computer code includes: measuring a performance of a computer program; identifying slow code of the computer program; implementing a computer code analysis of the computer program including: implementing a dependence analysis; implementing a side effect analysis of the computer program; constructing a dependency analysis basic block (DABB) graph for blocks of the code: a graphical representation of one or more possible paths through a respective disparate block of code; constructing a versioned dependency graph that optimizes a performance of the computer program; generating a metaprogram based on the versioned dependency graph; and automatically executing parallelization of the computer program at runtime based on the metaprogram.