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]