Ames researchers have developed a system that simplifies the
process of debugging programs produced by computer-aided parallelization tools.
The system uses relative debugging techniques to compare serial and parallel
executions in order to show where the computations begin to differ. If the
original serial code is correct, errors due to parallelization will be isolated
by the comparison.
The debugging system uses information produced by the parallelization tool
to drive the comparison process. In particular, the debugging system relies
on the parallelization tool to provide information about where variables may
have been modified and how arrays are distributed across multiple processes.