Patent ID: 8584103

Claim:
A method for reducing parallelism of computer source code, the method comprising: receiving multi-threaded program source code; representing the multi-threaded program source code as a polyhedral framework stored in computer readable memory; applying transformations to the polyhedral framework using a computer processor to convert the polyhedral framework from the multi-threaded program source code representation to a single-threaded program source code representation; and automatically generating a single-threaded program source code using the polyhedral framework, wherein the polyhedral framework includes: an alpha matrix identifying program loops for statements in the multi-threaded program source code; a beta matrix identifying a scheduling order of execution of the statements in the multi-threaded program source code; a gamma matrix containing symbolic constants of the multi-threaded program source code; and a lambda matrix containing domain restrictions of the statements in the multi-threaded program source code.