00001 #ifndef PLOGP_COLLECTIVES_H_
00002 #define PLOGP_COLLECTIVES_H_
00003
00004 #ifdef HAVE_CONFIG_H
00005 #include "models/plogp.h"
00006 #else
00007 #include "plogp.h"
00008 #endif
00009
00014 #ifdef __cplusplus
00015 extern "C" {
00016 #endif
00017
00023 int PLogP_initialize(MPI_Comm comm, PLogP_model* model);
00024
00027 int PLogP_finalize(MPI_Comm comm);
00028
00030 int PLogP_Scatterv_sorted_flat_asc(void* sendbuf, int* sendcounts, int* displs, MPI_Datatype sendtype,
00031 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00032 int root, MPI_Comm comm);
00033
00035 int PLogP_Gatherv_sorted_flat_asc(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00036 void* recvbuf, int* recvcounts, int* displs, MPI_Datatype recvtype,
00037 int root, MPI_Comm comm);
00038
00040 int PLogP_Scatterv_sorted_flat_dsc(void* sendbuf, int* sendcounts, int* displs, MPI_Datatype sendtype,
00041 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00042 int root, MPI_Comm comm);
00043
00045 int PLogP_Gatherv_sorted_flat_dsc(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00046 void* recvbuf, int* recvcounts, int* displs, MPI_Datatype recvtype,
00047 int root, MPI_Comm comm);
00048
00050 int PLogP_Bcast_dfs_binomial_min(void* buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm);
00051
00053 int PLogP_Reduce_dfs_binomial_min(void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype,
00054 MPI_Op op, int root, MPI_Comm comm);
00055
00057 int PLogP_Bcast_dfs_binomial_max(void* buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm);
00058
00060 int PLogP_Reduce_bfs_binomial_min(void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype,
00061 MPI_Op op, int root, MPI_Comm comm);
00062
00064 int PLogP_Reduce_bfs_binomial_max(void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype,
00065 MPI_Op op, int root, MPI_Comm comm);
00066
00068 int PLogP_Bcast_bfs_binomial_min(void* buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm);
00069
00071 int PLogP_Bcast_bfs_binomial_max(void* buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm);
00072
00074 int PLogP_Reduce_dfs_binomial_max(void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype,
00075 MPI_Op op, int root, MPI_Comm comm);
00076
00078 int PLogP_Bcast_ucs_binomial_min(void* buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm);
00079
00081 int PLogP_Reduce_ucs_binomial_min(void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype,
00082 MPI_Op op, int root, MPI_Comm comm);
00083
00085 int PLogP_Bcast_ucs_binomial_max(void* buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm);
00086
00088 int PLogP_Reduce_ucs_binomial_max(void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype,
00089 MPI_Op op, int root, MPI_Comm comm);
00090
00092 int PLogP_Scatter_dfs_binomial_min(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00093 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00094 int root, MPI_Comm comm);
00095
00097 int PLogP_Gather_dfs_binomial_min(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00098 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00099 int root, MPI_Comm comm);
00100
00102 int PLogP_Scatter_dfs_binomial_max(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00103 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00104 int root, MPI_Comm comm);
00105
00107 int PLogP_Gather_dfs_binomial_max(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00108 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00109 int root, MPI_Comm comm);
00110
00112 int PLogP_Scatter_ucs_binomial_min(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00113 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00114 int root, MPI_Comm comm);
00115
00117 int PLogP_Gather_ucs_binomial_min(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00118 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00119 int root, MPI_Comm comm);
00120
00122 int PLogP_Scatter_ucs_binomial_max(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00123 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00124 int root, MPI_Comm comm);
00125
00127 int PLogP_Gather_ucs_binomial_max(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00128 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00129 int root, MPI_Comm comm);
00130
00132 int PLogP_Scatter_bfs_binomial_min(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00133 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00134 int root, MPI_Comm comm);
00135
00137 int PLogP_Gather_bfs_binomial_min(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00138 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00139 int root, MPI_Comm comm);
00140
00142 int PLogP_Scatter_bfs_binomial_max(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00143 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00144 int root, MPI_Comm comm);
00145
00147 int PLogP_Gather_bfs_binomial_max(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00148 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00149 int root, MPI_Comm comm);
00150
00152 int PLogP_Scatterv_dfs_binomial_min(void* sendbuf, int* sendcounts, int* displs, MPI_Datatype sendtype,
00153 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00154 int root, MPI_Comm comm);
00155
00157 int PLogP_Gatherv_dfs_binomial_min(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00158 void* recvbuf, int* recvcounts, int* displs, MPI_Datatype recvtype,
00159 int root, MPI_Comm comm);
00160
00162 int PLogP_Scatterv_dfs_binomial_max(void* sendbuf, int* sendcounts, int* displs, MPI_Datatype sendtype,
00163 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00164 int root, MPI_Comm comm);
00165
00167 int PLogP_Gatherv_dfs_binomial_max(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00168 void* recvbuf, int* recvcounts, int* displs, MPI_Datatype recvtype,
00169 int root, MPI_Comm comm);
00170
00172 int PLogP_Scatterv_bfs_binomial_min(void* sendbuf, int* sendcounts, int* displs, MPI_Datatype sendtype,
00173 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00174 int root, MPI_Comm comm);
00175
00177 int PLogP_Gatherv_bfs_binomial_min(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00178 void* recvbuf, int* recvcounts, int* displs, MPI_Datatype recvtype,
00179 int root, MPI_Comm comm);
00180
00182 int PLogP_Scatterv_bfs_binomial_max(void* sendbuf, int* sendcounts, int* displs, MPI_Datatype sendtype,
00183 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00184 int root, MPI_Comm comm);
00185
00187 int PLogP_Gatherv_bfs_binomial_max(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00188 void* recvbuf, int* recvcounts, int* displs, MPI_Datatype recvtype,
00189 int root, MPI_Comm comm);
00190
00192 int PLogP_Scatterv_ucs_binomial_min(void* sendbuf, int* sendcounts, int* displs, MPI_Datatype sendtype,
00193 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00194 int root, MPI_Comm comm);
00195
00197 int PLogP_Gatherv_ucs_binomial_min(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00198 void* recvbuf, int* recvcounts, int* displs, MPI_Datatype recvtype,
00199 int root, MPI_Comm comm);
00200
00202 int PLogP_Scatterv_ucs_binomial_max(void* sendbuf, int* sendcounts, int* displs, MPI_Datatype sendtype,
00203 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00204 int root, MPI_Comm comm);
00205
00207 int PLogP_Gatherv_ucs_binomial_max(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00208 void* recvbuf, int* recvcounts, int* displs, MPI_Datatype recvtype,
00209 int root, MPI_Comm comm);
00210
00212 int PLogP_Scatterv_Traff(void* sendbuf, int* sendcounts, int* displs, MPI_Datatype sendtype,
00213 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00214 int root, MPI_Comm comm);
00215
00217 int PLogP_Gatherv_Traff(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00218 void* recvbuf, int* recvcounts, int* displs, MPI_Datatype recvtype,
00219 int root, MPI_Comm comm);
00220
00221
00222 #ifdef __cplusplus
00223 }
00224 #endif
00225
00229 #endif
00230