TY - GEN
T1 - Data-flow analysis for MPI programs
AU - Strout, Michelle Mills
AU - Kreaseck, Barbara
AU - Hovland, Paul D.
PY - 2006
Y1 - 2006
N2 - Message passing via MPI is widely used in single-program, multiple-data (SPMD) parallel programs. Existing data-flow frameworks do not model the semantics of message-passing SPMD programs, which can result in less precise and even incorrect analysis results. We present a data-flow analysis framework for performing interprocedural analysis of message-passing SPMD programs. The framework is based on the MPI-ICFG representation, which is an interprocedural control-flow graph (ICFG) augmented with communication edges between possible send and receive pairs and partial context sensitivity. We show how to formulate nonseparable data-flow analyses within our framework using reaching constants as a canonical example. We also formulate and provide experimental results for the nonseparable analysis, activity analysis. Activity analysis is a domain-specific analysis used to reduce the computation and storage requirements for automatically differentiated MPI programs. Automatic differentiation is important for application domains such as climate modeling, electronic device simulation, oil reservoir simulation, medical treatment planning and computational economics to name a few. Our experimental results show that using the MPI-ICFG data-flow analysis framework improves the precision of activity analysis and as a result significantly reduces memory requirements for the automatically differentiated versions of a set of parallel benchmarks, including some of the NAS Parallel Benchmarks.
AB - Message passing via MPI is widely used in single-program, multiple-data (SPMD) parallel programs. Existing data-flow frameworks do not model the semantics of message-passing SPMD programs, which can result in less precise and even incorrect analysis results. We present a data-flow analysis framework for performing interprocedural analysis of message-passing SPMD programs. The framework is based on the MPI-ICFG representation, which is an interprocedural control-flow graph (ICFG) augmented with communication edges between possible send and receive pairs and partial context sensitivity. We show how to formulate nonseparable data-flow analyses within our framework using reaching constants as a canonical example. We also formulate and provide experimental results for the nonseparable analysis, activity analysis. Activity analysis is a domain-specific analysis used to reduce the computation and storage requirements for automatically differentiated MPI programs. Automatic differentiation is important for application domains such as climate modeling, electronic device simulation, oil reservoir simulation, medical treatment planning and computational economics to name a few. Our experimental results show that using the MPI-ICFG data-flow analysis framework improves the precision of activity analysis and as a result significantly reduces memory requirements for the automatically differentiated versions of a set of parallel benchmarks, including some of the NAS Parallel Benchmarks.
KW - Activity analysis
KW - Data-flow analysis
KW - MPI
KW - MPI-ICFG
KW - SPMD
UR - http://www.scopus.com/inward/record.url?scp=34547469429&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=34547469429&partnerID=8YFLogxK
U2 - 10.1109/ICPP.2006.32
DO - 10.1109/ICPP.2006.32
M3 - Conference contribution
AN - SCOPUS:34547469429
SN - 0769526365
SN - 9780769526362
T3 - Proceedings of the International Conference on Parallel Processing
SP - 175
EP - 184
BT - ICPP 2006
T2 - ICPP 2006: 2006 International Conference on Parallel Processing
Y2 - 14 August 2006 through 18 August 2006
ER -