CS475 Lab 8: Wavefront Parallelization exercises
Objectives
This lab is intended to give you an hands-on experience on wave-front parallelization technique.
The objectives are
- To analyze and draw the data-dependencies in the given program.
- Redraw the dependence graph from the given iteration space to time and processor iteration space.
- Express the given and transformed iteration space in terms of inequalities.
- Find the loop bounds of the transformed iteration space using "inside out" method discussed in lecture.
- Re-write the loop body for the transformed iteration space.
- Verify the functionality of your transformed program.
- Insert parallel pragmas for OpenMP parallelization of the transformed program.
- Measure the performance(speed-up on 1-8 processors) of the parallel code to that of the given code on State-capital machines.
Provided code
Download the Lab8.tar file. It contains the following files.
- makefile
Comment out the lines to compile the necessary files after performing wavefront-parallelization.
- prog1.c
It is the same program(Example-1) as we saw in lecture. The sequential code and the wavefront-parallelized code for the transformation discussed in lecture is provided.
You have to insert the code for the transformation (i,j->p,t) = (i,j->j,i+j-1).
- prog2.c
It is a 3 dimensional loop structure. The sequential code is provided.
You have to work out the wavefront-parallelization technique discussed in class and insert the code corresponding to it.
- timer.c and timer.h
Description
In the given 2 programs, insert the code to perform Wavefront parallelization. In your lab report,
- Show the transformed loop bounds.
- Speed-up on 1-8 processors for N=200,2000,20000.
Last Modified: 11/15/2016