Verifying Correctness of Intermediate Results.


Now assume that the user has an existing serial application that is to be converted to parallel form. The new parallel application will perform the same function and produce the same output as the serial version; in other words, the serial program serves as a specification for the parallel application. The ensure that the process of parallelization is being done correctly, the user wants to compare the intermediate form of a matrix, as it is computed in the two versions of the program. To do so, he/she re cords the contents of the matrix from these two versions, in separate files, then invokes the graphical tool with the files as input.

The tool compares the two sets of values and displays the result as shown in figure below. As the mapping between color and value shown in the Color Key window indicates, the elements are colored white when the corresponding serial and parallel programs c alculated the same values. All other colors signify that the corresponding values differed by an amount in the indicated size range. The figure shows a large number of elements colored red. This signifies that the values differ by a large amount, so the p arallel version seems to be diverging significantly from the serial program.

If an element now appears as white, the user may want to verify whether the difference it represents is truly zero, or some value less than the tolerance. He/she positions the cursor over the corresponding square, and the precise value appears in the mess age area.

Using the Command Line Version, MATCMP

Back to MCF home page


Back to Pancake home page