Assignment - Parallel Computing | CS 632, Assignments of Computer Science

Material Type: Assignment; Professor: Bangalore; Class: Parallel Computing; Subject: Computer Science; University: University of Alabama - Birmingham; Term: Fall 2006;

Typology: Assignments

Pre 2010

Uploaded on 04/12/2010

koofers-user-qwi
koofers-user-qwi 🇺🇸

10 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Fall 2006 CS 431/632 Parallel Computing
Homework-3
10/24/2006 1-2
Individual work only. 200 points. Due Nov 7, 2006.
1. Implement the collective communication primitive “broadcast” (one-to-all) using point-to-
point message passing primitives provided by MPI using the following algorithms:
a. linear
b. ring
c. binary tree
For each of the above algorithms plot the time taken by the broadcast function and the
speedup curve for different number of processes. Note that you cannot use any MPI collective
function calls to implement the broadcast function. Use a single driver program to test
different algorithms. The driver program should test each broadcast function for different
messages sizes also (use a loop inside the driver program to vary the message size from 25 to
220).
Use the following table to include the timing measurements for each algorithm:
Processes
Bytes
1 2 4 6 8 16 32 64
32
64
128
256
512
1024
2048
4098
8192
16384
32768
65536
131072
262144
524288
1048576
2. If tm = tsend = trecv is the time taken for sending/receiving a message between any two
processes develop expressions to compute the total time spent in communication (tcomm) for
each of the above algorithms. [Graduate Students Only]
pf2

Partial preview of the text

Download Assignment - Parallel Computing | CS 632 and more Assignments Computer Science in PDF only on Docsity!

Fall 2006 CS 431/632 Parallel Computing Homework-

Individual work only. 200 points. Due Nov 7, 2006.

  1. Implement the collective communication primitive “broadcast” (one-to-all) using point-to- point message passing primitives provided by MPI using the following algorithms: a. linear b. ring c. binary tree For each of the above algorithms plot the time taken by the broadcast function and the speedup curve for different number of processes. Note that you cannot use any MPI collective function calls to implement the broadcast function. Use a single driver program to test different algorithms. The driver program should test each broadcast function for different messages sizes also (use a loop inside the driver program to vary the message size from 2 5 to 2 20 ). Use the following table to include the timing measurements for each algorithm: Processes Bytes
  1. If t (^) m = t (^) send = t (^) recv is the time taken for sending/receiving a message between any two processes develop expressions to compute the total time spent in communication (t (^) comm) for each of the above algorithms. [Graduate Students Only]

Fall 2006 CS 431/632 Parallel Computing Homework-

General Comments: You must implement and test these programs on the CIS cluster (Olympus) and use MPI for communication. Instructions for using the CIS cluster and submitting jobs to SGE can be found at: http://www.cis.uab.edu/cs632/fall2006/OlympusInstructions.html.

Submission: Email the source code along with any Makefile and scripts as a single tar file attachment to [email protected] with the subject “CS 432/632 Homework-3.” After submission, do not make any changes to your source code on Olympus, you will be asked to demonstrate your program on Olympus and the timestamp of the files will be used to determine late submissions.