CSC 145 Final Assignment: Solving a PDE For the final assignment, I've decided to give you an easier alternative to the program I first described. Instead of arranging the processors into an efficient 2D mesh, you can just use a 1D configuration. That is, the matrix can be sliced into equal portions like in the matrix-multiplication program. You are still encouraged to do the mesh version, because otherwise you may end up feeling inferior all your life :( ********************************* You can either work in groups of two or three. IF YOU WORK IN A GROUP OF THREE, YOU MUST CHOOSE THE MESH VERSION. ********************************* On the homepage (or in /home/beowulf/liang2) you will find the following files: for the MESH version: mesh.h, meshskl.c for the SLICE version: slice.h, sliceskl.c In addition, download "threed.c" for the 3D graphical routines that I built on top of MPE. You should read the description of the mesh version even if you don't intend to do it, because the slice version is just a simplification of the mesh version, and inherits many of the same attributes. To compile these programs, do not use mpicc, but use the alias "mpecc", as in mpecc mesh.c -o mesh The definition of mpecc can be found in /home/beowulf/.bashrc - it's just mpicc with certain addtional libraries. When running a mpe program, use only one machine: -machinefile /home/beowulf/host1, when using graphical visualization. =============================================================== 1. Understanding the .h file: It is crucial that you familiarize yourself with what's already inside mesh.h (or slice.h): Macros: EPSILON : the threshold at which two double values are considered equal. That is, a and b are considered equal if |a-b|