Course Assignment
The assignment consists of 3 parts:
1) Read, understand, compile and run all codes in the mpi-intro directory. Follow the examples in the lecture's slides and reproduce their output. Copy the standard output of you session into a text file called mpi-intro.txt. Submit this file to the assignment section on the course website.
2) Slide 59 refers to the hands-on problem related to the 1D diffusion equation. The base code is located at intro-mpi/diffusion directory and is called diffusion.c. Fortran version also available. Copy it either to diffusionc-mpi.c, C version, or diffusionf-mpi.f90, Fortran version, and make a MPI version of the code to be run in parallel. Follow instructions and tips on lecture's slide 59. Submit either the C or Fortran MPI versions of your solution into the assignment section.
3) The lecture's slide number 70 refers to an example of scatter collective communication from the intro-mpi/collectives directory. Study the scatter.c code in that directory, compile and run it so you understand what it is doing. Copy scatter.c to gather.c and reverse the process. Send from 4 processes and collect on root using MPI_Gather(). Submit gather.c into the assignment section.
Part 2 is mandatory for receiving course credit. Please submit them by Thursday, November 24, 2022, 11:59PM. Solution for part 2 will be reviewed and discussed on our last class, Friday, November 25. So this date is is a hard deadline for this part. After you completed parts 1 and 2, please feel free to complete part 3 later on and submit your work by Thursday, December 1, 2022, 11:59PM. Part 3 is optional but it still counts as work submitted for credit.
Reminder: You need to submit the assignment in addition to attend at least two sessions in order to get credit for your participation. Getting your hands dirty is more important than submitting the right answer. Please do submit your work, even if it is not correct or complete. Happy MPI coding and do not hesitate in reaching out with questions.