CS 480 Introduction to Parallel Computing

Fall 1999

Programming Assignment #5

Due:   12/10 12 pm.

30 points


Goal:

  • to practice using OMP directives to paralleize existing applications

This assignment is to be completed individually.


Using OMP directives, create parallelized versions of the matrix multiplcation, mandelbrodt and 2d heat equation programs.

Sources:

Reference: OMP C/C++ pragma directive reference ( pdf )

For each problem, run your program using 1,2,4 and 8 threads and at least the following problem sizes:

N=200,400,600

For each problem plot the timing results as:
   Time vs. # of threads
    Speedup vs. problem size

On each graph, plot the theorectical linear speedup for reference.

Turn in:

A hardcopy report containing:

For each problem
    the directives you used and a brief explanation supporting your choice
    Speed-up data
    Speed-up data plots
    Source Code with directives highlighted ( place all source code at the end of the report )

Comments & Conclusions 

EXTRA CREDIT A:

Use dynamic scheduling omp directives to attempt to improve the speedup of the mandelbrodt calcualation.

Include a section in your report labeled Extra Credit A containing:

  • the directives you used and a brief explanation supporting your choice
  • Speed-up data
  • Speed-up data plots
  • Source Code with directives highlighted ( place all source code at the end of the report )

EXTRA CREDIT B:

For either the heat equation: Create a client /server application consisting of a master process running on a bgsu machine (alpha, sigma, sci-xxx) which spawns a slave on the OSC origin. The slave process will compute several iterations of the heat equation solution in parallel using omp directives. The slave will send the results back to the bgsu machine for display using X-Windows. See instructor for more details if interested.

 


Last modified:9/30/99
Author: G.Zimmerman