MDMP: Managed data message passing
Paper i proceeding, 2014
MDMP is a parallel programming approach de- signed to provide users with an easy way to add parallelism to programs, optimise scientific simulation algorithms, and providing optimised communications to MPI-based programs without requiring them to be re-written from scratch. MDMP uses directives to allow users to specify what communications should take place in the code, and then implements those communications in an optimal manner using both the information provided by the user and data collected from instrumenting the code and gathering information on the data to be communicated at runtime. In this paper we outline the basic concepts and functionality of MDMP and discuss the performance that can be achieved using our prototype implementation of MDMP a range of benchmark cases.