Message Passing Interface (MPI) is a communication protocol that is commonly used within a parallel program that runs across nodes of a high performance computing (HPC) system. This roadmap walks through the topics most needed by users to run their first MPI-based parallel program. It assumes you already have an allocation on an XSEDE resource and the knowledge of programming languages such as C and Fortran. (Target audience: XSEDE users)