## Parallel Computation Laboratory |

Write parallel implementations of the

Gaussian elimination algorithm with partial pivoting

(see the materials handed out in class) for solving a linear equation system
*Ax=b* of dimension *n* over floating point numbers (Fortran `REAL*8`,
C `double`):

Use the parallelization features of the Convex Fortran or C compiler located
in `/usr/convex/bin` (set your path appropriately, otherwise the HP
compilers in `/bin` are called!):

- First write a sequential base version and compile it with -O2.
This version should initialize the system with random coefficients and include
a final correctness check by printing the result vector
*x*and the differences between*Ax*and*b*.*The corresponding parallel programs must deliver the same result (up to approximation errors)!* - Let in one parallel version the compiler generate parallelism automatically; try to restructure the program to improve performance but do not use any pragmas or optimization flags other than -O3.
- Try in another parallel version to optimize the program as much as
possible using compilation flags, pragmas, or
`mpa`

. - Run the programs
with input sizes
*n = 50, 100, 200, ...*(until the sequential program runs longer than 2 minutes) and the parallel programs with 1, 2, 4, 6, 8, ...processors (as many as possible). - Use for time measurements wall clock times (
`time`

, see the man pages). The timings must include the initialization of the linear system but not any output. - Use the Convex debugger
`cxdb`and the Convex performance analyzer`cxpa`for debugging and improving your program. - The result of this exercise is a paper containing the
- Documented source code,
- Output for one test run of each program (same input sizes),
- Tables with absolute runtimes,
- Runtime diagrams,
- Speedup diagrams,
- Efficiency diagrams,
- Your analysis of the results, your experiences and conclusions.

- 2 extra points for the program that solves in least time with not more
than 8 processors a system with largest
*n = 50, 100, 200, ...*such that the program runs not more than 2 minutes.

**Deadline and Presentation: April 14.**

- 4 exercises.
- 4 points per exercise plus "best solution" points,
- Grades: SGT1 (15 points), GUT2 (13 points), BEF3 (11 points), GEN4 (9 points).

Maintained by: Wolfgang Schreiner

Last Modification: March 17, 1997

[Up] [RISC-Linz] [University] [Search]