PARallelize Automatically by pattern MATching
PARAMAT is an automatic parallelization system
developed by C. W. Kessler,
for shared and distributed memory multiprocessors. PARAMAT is based
on the following key ideas:
The project was started in 1992 and finished in 1995,
the follow-up project
SPARAMAT in 2000.
- the observation that there is only a limited amount of typical
(mostly dataparallel) basic operations called 'patterns'
that often occur in
numerical application programs operating on vectors and
- a modular, fast and powerful bottom-up
pattern recognition tool that locally identifies
occurrences of these patterns in a given sequential C source program,
- a code generator that replaces each pattern occurrence by a
call to a parallel library routine and, in the case of a distributed
memory target machine, performs global optimization of array
distribution. Array distribution and fast and exact performance
prediction are supported by the information provided in the
The pattern recognition tool has been implemented, detailed results
can be found in the references below and in
C. Kessler's PhD thesis.
Also, a very simple code generator for the
physically-shared-memory multiprocessor, has been created; it generates
programs that are translated
by the Fork95 compiler
The later project
built upon the PARAMAT approach and
addressed program recognition techniques for detecting
and parallelizing sparse matrix computations in sequential codes.
SPARAMAT was funded by the DFG from 1997 to 2000 and
located at the University of Trier, Germany.
This page by Christoph W. Kessler (chrke \at ida.liu.se)