PARAMAT
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 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
dense matrices,
- a modular, fast and powerful bottom-up
pattern recognition tool that locally identifies
occurrences of these patterns in a given sequential C source program,
and
- 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
pattern instances.
The project was started in 1992 and finished in 1995,
the follow-up project
SPARAMAT in 2000.
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
SB-PRAM,
a massively-parallel
physically-shared-memory multiprocessor, has been created; it generates
Fork95
programs that are translated
by the Fork95 compiler
fcc.
The later project
SPARAMAT
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.
References
This page by Christoph W. Kessler (chrke \at ida.liu.se)