Pattern-driven automatic program transformation and parallelization
Christoph W. Keßler · 2002
The PARAMAT system is able to automatically parallelize a wide class of sequential numeric codes operating on dense vectors, matrices etc. without any user interaction, for execution on distributed memory message-passing multiprocessors. A powerful pattern recognition tool locally identifies program semantics and concepts in scientific codes. It also works for dusty deck codes that have been 'encrypted' by former machine-specific code transformations. Successful pattern recognition guides sophisticated code transformations including local algorithm replacement. We propose a unified framework for parallel code generation where the user can allow or prevent the system to choose a suitable new parallel algorithm that does not emerge from the sequential program structure by just parallelizing some loops. The partially restored program semantics also supports local array alignment distribution and redistribution, and allows for faster and more exact prediction of the performance of the parallelized target code than usually possible.>