This presentation on High Performance Computing is from a Faculty Development Workshop. This field is not much explored in Graduate or Post-Graduate programs. It is still cosidered a field of research for most faculties although there is huge requirement for HPC Programmers.
MPI programming is not much different from usual C or .NET programming, however one has to learn to think of solving problems in parallel on multiple cores. I have talked about a few real world examples including my own experience working on Images.
During College days, I worked on Image Processing research projects and we used to experiement with colors, build histogram, extract features, etc. At times, it used to take 11Hrs to process one image, and there would be hundreds in our sample. This problem, we later solved by processing in parallel. Though our appriach was not so interesting, but given the current state of HPC, we can achieve a great performance appraisal.
HPC and MPI programming is yet another great and less explored field in technology of future to build career on.