README
Example MPI programs

This directory contains some example MPI programs.  They are described below.
Examples of MPI programs in Fortran 77, Fortran 90, and C++ are found in the
directories f77, f90, and cxx respectively.

cpi - A simple program to compute pi

Optional programs
These programs are not built by default, but may be built and run

hellow - A simple "hello world" program
icpi - An interactive version of cpi

parent and child - A simple example of using MPI_Comm_spawn

pmandel* - Programs to solve the Mandelbrot set

Running the pmandel* programs
-----------------------------
 The programs pmandel* solve the Mandelbrot set. The input to the program
 are the coordinates, scale etc for plotting the output of the program and the 
 number of iterations to solve the set. The output is an image file (default is
 pmandel.ppm) of the Portable Pixel Map format. Help on using the program can
 be obtained by running the executable with "-help" parameter.

 To run the pmandel* tests you can either run it in the interactive mode (-i option)
 or run it in a non-interactive mode. In the interactive mode the output of the
 program is saved as an image file (you can specify the name of the file using -out
 option of the program). In the non-interactive mode you need a visualizer for the 
 output (A Visualizer is available in Windows. Compile the project pman_vis for the
 visualizer.). 
 Non-interactive execution eg -- 
	mpiexec -n 2 pmandel -i
 (The program prompts for entering the coordinates, scales and no of iterations
  and output is saved in pmandel.ppm file)

 Interactive execution eg -- 
	mpiexec -n 2 pmandel

  (Now open the visualizer program, pman_vis.exe, created by compiling pmandel_vis
   project in windows. Click on File -> Connect and select "TCP Socket Connect".
   Leave the default settings and click connect. The visualizer program connects to
   pmandel program and displays the output)  

 pmandel* programs differ in the MPI functionalities used. For example,
 pmandel_service.c uses MPI_Open_Port() to connect to the visualizer while pmandel.c
 uses the sockets directly for the connection.  


Others will be documented later.