CPM: A software tool for Communication Performance Modelling

LinInterp-based collective operations

Functions

int LinInterp_initialize (MPI_Comm comm, LinInterp_model *model)
int LinInterp_finalize (MPI_Comm comm)
int LinInterp_Scatterv_sorted_flat_asc (void *sendbuf, int *sendcounts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Gatherv_sorted_flat_asc (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Scatterv_sorted_flat_dsc (void *sendbuf, int *sendcounts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Gatherv_sorted_flat_dsc (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Bcast_dfs_binomial_min (void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm)
int LinInterp_Reduce_dfs_binomial_min (void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm)
int LinInterp_Bcast_dfs_binomial_max (void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm)
int LinInterp_Reduce_bfs_binomial_min (void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm)
int LinInterp_Reduce_bfs_binomial_max (void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm)
int LinInterp_Bcast_bfs_binomial_min (void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm)
int LinInterp_Bcast_bfs_binomial_max (void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm)
int LinInterp_Reduce_dfs_binomial_max (void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm)
int LinInterp_Bcast_ucs_binomial_min (void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm)
int LinInterp_Reduce_ucs_binomial_min (void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm)
int LinInterp_Bcast_ucs_binomial_max (void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm)
int LinInterp_Reduce_ucs_binomial_max (void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm)
int LinInterp_Scatter_dfs_binomial_min (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Gather_dfs_binomial_min (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Scatter_dfs_binomial_max (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Gather_dfs_binomial_max (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Scatter_ucs_binomial_min (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Gather_ucs_binomial_min (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Scatter_ucs_binomial_max (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Gather_ucs_binomial_max (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Scatter_bfs_binomial_min (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Gather_bfs_binomial_min (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Scatter_bfs_binomial_max (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Gather_bfs_binomial_max (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Scatterv_dfs_binomial_min (void *sendbuf, int *sendcounts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Gatherv_dfs_binomial_min (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Scatterv_dfs_binomial_max (void *sendbuf, int *sendcounts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Gatherv_dfs_binomial_max (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Scatterv_bfs_binomial_min (void *sendbuf, int *sendcounts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Gatherv_bfs_binomial_min (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Scatterv_bfs_binomial_max (void *sendbuf, int *sendcounts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Gatherv_bfs_binomial_max (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Scatterv_ucs_binomial_min (void *sendbuf, int *sendcounts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Gatherv_ucs_binomial_min (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Scatterv_ucs_binomial_max (void *sendbuf, int *sendcounts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Gatherv_ucs_binomial_max (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Scatterv_Traff (void *sendbuf, int *sendcounts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int LinInterp_Gatherv_Traff (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm)

Detailed Description

The implementations of tree-based algorithms are similar to .


Function Documentation

int LinInterp_initialize ( MPI_Comm  comm,
LinInterp_model model 
)

Initializes the instances of the LinInterp model at all processes in the communicatior.

Parameters:
comm MPI communicator
model LinInterp model (significant only at root)
int LinInterp_finalize ( MPI_Comm  comm  ) 

Destroys the instances of the LinInterp model at all processes in the communicatior.

int LinInterp_Scatterv_sorted_flat_asc ( void *  sendbuf,
int *  sendcounts,
int *  displs,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

Sorted flat-tree scatterv based on the LinInterp model.

int LinInterp_Gatherv_sorted_flat_asc ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int *  recvcounts,
int *  displs,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

Sorted flat-tree gatherv based on the LinInterp model.

int LinInterp_Scatterv_sorted_flat_dsc ( void *  sendbuf,
int *  sendcounts,
int *  displs,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

Sorted flat-tree scatterv based on the LinInterp model.

int LinInterp_Gatherv_sorted_flat_dsc ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int *  recvcounts,
int *  displs,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

Sorted flat-tree gatherv based on the LinInterp model.

int LinInterp_Bcast_dfs_binomial_min ( void *  buffer,
int  count,
MPI_Datatype  datatype,
int  root,
MPI_Comm  comm 
)

DFS binomial bcast based on the LinInterp model.

int LinInterp_Reduce_dfs_binomial_min ( void *  sendbuf,
void *  recvbuf,
int  count,
MPI_Datatype  datatype,
MPI_Op  op,
int  root,
MPI_Comm  comm 
)

DFS binomial reduce based on the LinInterp model.

int LinInterp_Bcast_dfs_binomial_max ( void *  buffer,
int  count,
MPI_Datatype  datatype,
int  root,
MPI_Comm  comm 
)

DFS binomial bcast based on the LinInterp model.

int LinInterp_Reduce_bfs_binomial_min ( void *  sendbuf,
void *  recvbuf,
int  count,
MPI_Datatype  datatype,
MPI_Op  op,
int  root,
MPI_Comm  comm 
)

BFS binomial reduce based on the LinInterp model.

int LinInterp_Reduce_bfs_binomial_max ( void *  sendbuf,
void *  recvbuf,
int  count,
MPI_Datatype  datatype,
MPI_Op  op,
int  root,
MPI_Comm  comm 
)

BFS binomial reduce based on the LinInterp model.

int LinInterp_Bcast_bfs_binomial_min ( void *  buffer,
int  count,
MPI_Datatype  datatype,
int  root,
MPI_Comm  comm 
)

BFS binomial bcast based on the LinInterp model.

int LinInterp_Bcast_bfs_binomial_max ( void *  buffer,
int  count,
MPI_Datatype  datatype,
int  root,
MPI_Comm  comm 
)

BFS binomial bcast based on the LinInterp model.

int LinInterp_Reduce_dfs_binomial_max ( void *  sendbuf,
void *  recvbuf,
int  count,
MPI_Datatype  datatype,
MPI_Op  op,
int  root,
MPI_Comm  comm 
)

DFS binomial reduce based on the LinInterp model.

int LinInterp_Bcast_ucs_binomial_min ( void *  buffer,
int  count,
MPI_Datatype  datatype,
int  root,
MPI_Comm  comm 
)

UCS binomial bcast based on the LinInterp model.

int LinInterp_Reduce_ucs_binomial_min ( void *  sendbuf,
void *  recvbuf,
int  count,
MPI_Datatype  datatype,
MPI_Op  op,
int  root,
MPI_Comm  comm 
)

UCS binomial reduce based on the LinInterp model.

int LinInterp_Bcast_ucs_binomial_max ( void *  buffer,
int  count,
MPI_Datatype  datatype,
int  root,
MPI_Comm  comm 
)

UCS binomial bcast based on the LinInterp model.

int LinInterp_Reduce_ucs_binomial_max ( void *  sendbuf,
void *  recvbuf,
int  count,
MPI_Datatype  datatype,
MPI_Op  op,
int  root,
MPI_Comm  comm 
)

UCS binomial reduce based on the LinInterp model.

int LinInterp_Scatter_dfs_binomial_min ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

DFS binomial scatter based on the LinInterp model.

int LinInterp_Gather_dfs_binomial_min ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

DFS binomial gather based on the LinInterp model.

int LinInterp_Scatter_dfs_binomial_max ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

DFS binomial scatter based on the LinInterp model.

int LinInterp_Gather_dfs_binomial_max ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

DFS binomial gather based on the LinInterp model.

int LinInterp_Scatter_ucs_binomial_min ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

UCS binomial scatter based on the LinInterp model.

int LinInterp_Gather_ucs_binomial_min ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

UCS binomial gather based on the LinInterp model.

int LinInterp_Scatter_ucs_binomial_max ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

UCS binomial scatter based on the LinInterp model.

int LinInterp_Gather_ucs_binomial_max ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

UCS binomial gather based on the LinInterp model.

int LinInterp_Scatter_bfs_binomial_min ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

BFS binomial scatter based on the LinInterp model.

int LinInterp_Gather_bfs_binomial_min ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

BFS binomial gather based on the LinInterp model.

int LinInterp_Scatter_bfs_binomial_max ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

BFS binomial scatter based on the LinInterp model.

int LinInterp_Gather_bfs_binomial_max ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

BFS binomial gather based on the LinInterp model.

int LinInterp_Scatterv_dfs_binomial_min ( void *  sendbuf,
int *  sendcounts,
int *  displs,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

DFS binomial scatterv based on the LinInterp model.

int LinInterp_Gatherv_dfs_binomial_min ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int *  recvcounts,
int *  displs,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

DFS binomial gatherv based on the LinInterp model.

int LinInterp_Scatterv_dfs_binomial_max ( void *  sendbuf,
int *  sendcounts,
int *  displs,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

DFS binomial scatterv based on the LinInterp model.

int LinInterp_Gatherv_dfs_binomial_max ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int *  recvcounts,
int *  displs,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

DFS binomial gatherv based on the LinInterp model.

int LinInterp_Scatterv_bfs_binomial_min ( void *  sendbuf,
int *  sendcounts,
int *  displs,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

BFS binomial scatterv based on the LinInterp model.

int LinInterp_Gatherv_bfs_binomial_min ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int *  recvcounts,
int *  displs,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

BFS binomial gatherv based on the LinInterp model.

int LinInterp_Scatterv_bfs_binomial_max ( void *  sendbuf,
int *  sendcounts,
int *  displs,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

BFS binomial scatterv based on the LinInterp model.

int LinInterp_Gatherv_bfs_binomial_max ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int *  recvcounts,
int *  displs,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

BFS binomial gatherv based on the LinInterp model.

int LinInterp_Scatterv_ucs_binomial_min ( void *  sendbuf,
int *  sendcounts,
int *  displs,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

UCS binomial scatterv based on the LinInterp model.

int LinInterp_Gatherv_ucs_binomial_min ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int *  recvcounts,
int *  displs,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

UCS binomial gatherv based on the LinInterp model.

int LinInterp_Scatterv_ucs_binomial_max ( void *  sendbuf,
int *  sendcounts,
int *  displs,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

UCS binomial scatterv based on the LinInterp model.

int LinInterp_Gatherv_ucs_binomial_max ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int *  recvcounts,
int *  displs,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

UCS binomial gatherv based on the LinInterp model.

int LinInterp_Scatterv_Traff ( void *  sendbuf,
int *  sendcounts,
int *  displs,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

Scatterv based on modified Traff using the LinInterp model.

int LinInterp_Gatherv_Traff ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int *  recvcounts,
int *  displs,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

Gatherv based on modified Traff using the LinInterp model.