IPM: A Post-MPI Programming Model

Barry Smith
Junchao Zhang
Seminar

The MPI parallel programming model has been a very successful parallel programming model for over twenty years. Though many alternative parallel programming models have been proposed over the years, both before and after the golden age of MPI, none has gained much traction because none have been better than MPI across the board. IPM is a programming model that attempts to be at least as good as MPI at everything and much better than MPI at certain things. One aspect that MPI is not good at is working with dynamic data structures that are often resizing and thus require the user to manage repartitioning and movement of the data structures across MPI processes. We will introduce the IPM programming model, discuss how it may be used to write an adaptive mesh refinement/unrefinement PDE simulation code, and compare its performance with the libMesh package. Humor will be used to make the presentation engaging.