In the fifteen years since the second edition of Using MPI was published, in 1999, high-performance computing (HPC) has undergone many changes. Some aspects of HPC have been disruptive and revolutionary; but others, no less significant, have been gradual and evolutionary. This edition of Using MPI u