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.