CPM: A software tool for Communication Performance Modelling
Classes | |
| struct | Hockney_model |
Functions | |
| Hockney_model * | Hockney_alloc (int n) |
| void | Hockney_free (Hockney_model *model) |
| void | Hockney_read (FILE *stream, Hockney_model **model) |
| void | Hockney_write (FILE *stream, const Hockney_model *model) |
| void | Hockney_estimate (MPI_Comm comm, int M, MPIB_precision precision, int parallel, Hockney_model **model) |
| void | Hockney_estimate_regression (MPI_Comm comm, MPIB_msgset msgset, MPIB_precision precision, int parallel, Hockney_model **model) |
| double | Hockney_predict_p2p (void *_this, int i, int j, int M) |
| double | Hockney_predict_sg_flat_serial (void *_this, int root, int M) |
| double | Hockney_predict_sg_flat_parallel (void *_this, int root, int M) |
| double | Hockney_predict_sg_binomial (void *_this, int root, int M) |
| double | Hockney_hpredict_sg_flat_serial (void *_this, int M) |
| double | Hockney_hpredict_sg_flat_parallel (void *_this, int M) |
| double | Hockney_hpredict_sg_binomial (void *_this, int M) |
| void | HHockney_estimate (MPI_Comm comm, MPIB_precision precision, MPIB_msgset msgset, Hockney_model **model) |
| double | HHockney_predict_p2p (void *_this, int i, int j, int m) |
| double | HHockney_predict_scatter_flat (void *_this, int root, int m, int n) |
Detailed Description
This module provides building of the heterogeneous extension of the Hockney model and estimation of the execution time of point-to-point and collective communication operations.
In contrast to the original model , which is based on two point-to-point parameters, estimating the point-to-point execution time as
, the heterogeneous model distinguishes the parameters of each pair of processors
.
Function Documentation
| Hockney_model* Hockney_alloc | ( | int | n | ) |
Allocates memory for the Hockney model.
- Parameters:
-
n number of processors
| void Hockney_free | ( | Hockney_model * | model | ) |
Frees the Hockney model.
- Parameters:
-
model the Hockney model
| void Hockney_read | ( | FILE * | stream, | |
| Hockney_model ** | model | |||
| ) |
Reads the Hockney model.
| void Hockney_write | ( | FILE * | stream, | |
| const Hockney_model * | model | |||
| ) |
Writes the Hockney model.
| void Hockney_estimate | ( | MPI_Comm | comm, | |
| int | M, | |||
| MPIB_precision | precision, | |||
| int | parallel, | |||
| Hockney_model ** | model | |||
| ) |
Estimates the parameters of the Hockney model in two series of roundtrips with empty and non-empty messages. (accuracy depends on the precision of measurements):
- Measures the execution time
of each
roundtrip in the communicator,
, to find
. To obtain more accurate results performs a series of roundtrips and takes the average
. - Measures the execution time
of each
roundtrip in the communicator,
, to find
. To obtain more accurate results performs a series of roundtrips and takes the average
.
- Parameters:
-
comm communicator, number of nodes
M message size precision measurement precision parallel several non-overlapped point-to-point communications at the same time if non-zero model Hockney model (significant only at root)
| void Hockney_estimate_regression | ( | MPI_Comm | comm, | |
| MPIB_msgset | msgset, | |||
| MPIB_precision | precision, | |||
| int | parallel, | |||
| Hockney_model ** | model | |||
| ) |
Estimates the parameters of the Hockney model in a series of roundtrips with different message sizes (accuracy depends on the message set):
- Performs single communication experiments for different message sizes.
- Selects message sizes regularly TODO: Adaptive selection, comparing the result of measurement with the prediction based on the linear regression over all previous results.
- Parameters:
-
comm communicator, number of nodes
msgset message set precision measurement precision parallel several non-overlapped point-to-point communications at the same time if non-zero model Hockney model (significant only at root)
| double Hockney_predict_p2p | ( | void * | _this, | |
| int | i, | |||
| int | j, | |||
| int | M | |||
| ) |
Predicts the execution time of a point-to-point communication as
.
| double Hockney_predict_sg_flat_serial | ( | void * | _this, | |
| int | root, | |||
| int | M | |||
| ) |
Heterogeneous prediction of flat-tree scatter/gather (sequential point-to-point communications)
| double Hockney_predict_sg_flat_parallel | ( | void * | _this, | |
| int | root, | |||
| int | M | |||
| ) |
Heterogeneous prediction of flat-tree scatter/gather (parallel point-to-point communications)
| double Hockney_predict_sg_binomial | ( | void * | _this, | |
| int | root, | |||
| int | M | |||
| ) |
Heterogeneous prediction of binomial scatter/gather (point-to-point communications are sequential within the same root or parallel otherwise)
| double Hockney_hpredict_sg_flat_serial | ( | void * | _this, | |
| int | M | |||
| ) |
Homogeneous prediction of flat-tree scatter/gather (sequential point-to-point communications)
| double Hockney_hpredict_sg_flat_parallel | ( | void * | _this, | |
| int | M | |||
| ) |
Homogeneous prediction of flat-tree scatter/gather (parallel point-to-point communications)
| double Hockney_hpredict_sg_binomial | ( | void * | _this, | |
| int | M | |||
| ) |
Homogeneous prediction of binomial scatter/gather (point-to-point communications are sequential within the same root or parallel otherwise)
| void HHockney_estimate | ( | MPI_Comm | comm, | |
| MPIB_precision | precision, | |||
| MPIB_msgset | msgset, | |||
| Hockney_model ** | model | |||
| ) |
Estimates the parameters of the homogeneous Hockney model (n = 2). Requires at least 3 processes. Based on the homogeneous Hockney prediction of flat scatter
. Uses benchmarks for m = msgset.max_size and msgset.min_size, and n = comm_size.
- See also:
- tests/hmodel.c
| double HHockney_predict_p2p | ( | void * | _this, | |
| int | i, | |||
| int | j, | |||
| int | m | |||
| ) |
Predicts the execution time of point-to-point communication, using the homogeneous LMO model
| double HHockney_predict_scatter_flat | ( | void * | _this, | |
| int | root, | |||
| int | m, | |||
| int | n | |||
| ) |
Predicts the execution time of flat-tree scatter, using the homogeneous LMO model


