PAP Recognizer: A Tool for Automatic Recognition of Parallelizable Patterns

  • Authors:
  • Beniamino Di Martino;Giulio Iannello

  • Affiliations:
  • -;-

  • Venue:
  • WPC '96 Proceedings of the 4th International Workshop on Program Comprehension (WPC '96)
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

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. In this paper the implementation of a prototype tool for the recognition of parallelizable algorithmic patterns called 'PAP Recognizer' is presented. The PAP Recognizer implements a 'plan based' technique for the recognition of 'concept instances' in the code that works in a hierarchical way. The output of the tool is a graphical browser that permits the visualization of the hierarchical description of the recognized concepts, together with their implementation within the program code. The prototype has been integrated into the Vienna Fortran Compilation System, an interactive compilation system for scalable distributed memory multiprocessor architectures. It relies on Prolog as a system shell and takes advantage of Prolog's deductive inference-rule engine to perform the hierarchical concept recognition.