CPM: A software tool for Communication Performance Modelling
Communication performance models
This module provide the following models:
- The linear interpolation model
- The heterogeneous Hockney model
- The heterogeneous PLogP model
- LMO: an advanced heterogeneous communication performance model
For each model, this module provides the following interface (X
stands for the name of the model: Hockney
, PLogP
or LMO
):
- is a data structure containing the parameters of the model and a set of the estimation functions defined by CPM_predictor.
struct X_model { CPM_predictor predictor; ... // parameters }
- are functions to allocate/free the model data.
X_model* X_alloc(int); void X_free(X_model*);
- is a function responsible for estimation of the model with given precision and message sizes. If the
void X_estimate(MPI_Comm, MPIB_msgset, MPIB_precision, int parallel, X_model**);
parallel
argument is set to zero, the communication experiments will be performed consequently, otherwise in parallel. - are functions for input/output of the model data.
void X_read(FILE*, X_model**); void X_write(FILE*, const X_model*);
This interface can be used directly in parallel applications. It is also a basis for optimized implementations of MPI collective communication operations (see Model-based collectives).