Automated algorithmic concept recognition within sequential code can support compilation techniques for program parallelization by allowing the introduction of heuristics and extensive pruning of the search space associated with the code transformation selections, thus enabling application of more aggressive transformations.
This paper shows, through a case study, how automatic recognition of algorithmic patterns can enable automatic selection of suitable sequences of loop transformations for the implementing code, selection of suitable data and work distributions, and provision for communication optimizations.