Cluster Computing

Assignment 3

Download the sequential program, mandelbrot.c which displays the Mandelbrot image (in black/white) on an Xwindows system. Compile and run the program normally.

Rewrite the program to operate as an MPI program with multiple processes. Graphical output is to be produced using Xlib calls (see below).

Instrument code with MPI_Wtime() or similar to determine time of execution.

As an alternative assignment, you may write any parallel MPI program that produces graphical output.

Grading:

Fully documented working MPI code with static process assignment and timing 100%

Without timing -10%
Late -10% per day
Partial credit for non-working programs.

Extra credit:

Dynamic process assignment (work pool) +10%

Compiling:

Sequential code to compile mandelbrot.c to create the executable mandelbrot:

cc -I/usr/openwin/include -o mandelbrot mandelbrot.c -L/usr/openwin/lib -L/usr/X11R6/lib -lX11 -lm

where -L/usr/X11R6/lib links the Xlib library.

Parallel code: use mpicc with same flags/libraries.

Submission:

Submit a written report  to me (hardcopy, NOT email). Include the code, the results of the program, and a one page description of the work, and the image printed.

Reference: Xlib Programming Manual Volume 1, O'Reilly & Associates Inc., 1989

Sequential Mandelbrot source program (black and white)

Sequential Mandelbrot source program (color)