I taught the first half of an MPI class for a university last friday. It was fun, I showed them how to engineer an application for maximum scalability, as well as how to do basic message passing. There isn’t a great deal we can do in a single day, but I did start to get into some of the minutae of MPI programming. It is hard for people to think in parallel.
One of the bits of feedback that came back has amazed me (and to a degree, made me grin). Apparently not everyone is using C in HPC, Fortran still holds sway. There are a few folks who want to use Matlab to tie bits together. We will likely add that to the course as well.
All in all it was fun, but writing a well thought out class is a tremendous amount of work.