{"title":"MDMP: Managed Data Message Passing","authors":"A. Jackson, P. Strand","doi":"10.1109/SYNASC.2013.71","DOIUrl":null,"url":null,"abstract":"MDMP is a parallel programming approach designed 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.","PeriodicalId":293085,"journal":{"name":"2013 15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing","volume":"161 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-04-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2013 15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SYNASC.2013.71","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
MDMP is a parallel programming approach designed 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.