PAP Recognizer: a tool for automatic recognition of parallelizable patterns - Di Martino, B.; Iannello, G. (WPC '96. 4th Workshop on Program Comprehension, 1996)
Techniques for automatic program comprehension can play a crucial role in overcoming limitations of existing tools for the automatic parallelization of programs for distributed-memory architectures. Uses of a program recognition-based parallelization procedure could range from the automatic selection of a data distribution, via the automatic selection of sequences of optimizing transformations of the sequential code, via the code replacement with optimized parallel libraries, up to the automatic selection of the parallel execution model that is best suited to the algorithm to be parallelized and to the target parallel architecture. This paper presents the implementation of a prototype tool for the recognition of parallelizable algorithmic patterns (PAP Recognizer), which has been integrated into the Vienna Fortran Compilation System, an interactive compilation system for scalable architectures. The distinctive features of the approach are discussed and the way the recognizer works is described with respect to a working example.