ENCCS/intermediate-mpi

Episode 0: communicators and groups

Closed this issue · 5 comments

  • Describe what communicators are and why it might be useful to have more than one.
  • Exercise: computing pi with Monte Carlo.

To follow up:

  • figures
  • better style for the exercises
  • exercises with increasing levels of difficulty
  • more quiz questions

MPI_Group_excl is missing from the glossary

Some comments in comms-groups-divide-evenly.c refer to ranks1 and ranks2 and new_comm but those declarations have been commented out for the exercise. We could probably express the task more clearly.

Eg. the rst describes the task here, but we could have a comment in the code that repeats that.

comms-groups-divide-evenly.c suggests using MPI_Group_incl but that's not in the lesson text nor the glossary

I don't think comms-groups-divide-evenly benefits from introducing Allreduce to return a cryptic recvbuf. It should be enough to report the rank of the process in MPI_COMM_WORLD, its size, the rank within new_comm, and its size.

It would also be good for the example to tell the student whether it is working correctly, since we know what the answer is if they do it right!