00001 #ifndef MPIB_TREE_COLLECTIVES_H_
00002 #define MPIB_TREE_COLLECTIVES_H_
00003
00004 #include <mpi.h>
00005
00041 #ifdef __cplusplus
00042 extern "C" {
00043 #endif
00044
00046 int MPIB_Bcast_binomial(void* buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm);
00047
00049 int MPIB_Reduce_binomial(void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype,
00050 MPI_Op op, int root, MPI_Comm comm);
00051
00053 int MPIB_Scatter_binomial(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00054 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00055 int root, MPI_Comm comm);
00056
00058 int MPIB_Gather_binomial(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00059 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00060 int root, MPI_Comm comm);
00061
00063 int MPIB_Scatterv_binomial(void* sendbuf, int* sendcounts, int* displs, MPI_Datatype sendtype,
00064 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00065 int root, MPI_Comm comm);
00066
00068 int MPIB_Gatherv_binomial(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00069 void* recvbuf, int* recvcounts, int* displs, MPI_Datatype recvtype,
00070 int root, MPI_Comm comm);
00071
00073 int MPIB_Scatterv_sorted_binomial_asc(void* sendbuf, int* sendcounts, int* displs, MPI_Datatype sendtype,
00074 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00075 int root, MPI_Comm comm);
00076
00078 int MPIB_Gatherv_sorted_binomial_asc(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00079 void* recvbuf, int* recvcounts, int* displs, MPI_Datatype recvtype,
00080 int root, MPI_Comm comm);
00081
00083 int MPIB_Scatterv_sorted_binomial_dsc(void* sendbuf, int* sendcounts, int* displs, MPI_Datatype sendtype,
00084 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00085 int root, MPI_Comm comm);
00086
00088 int MPIB_Gatherv_sorted_binomial_dsc(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00089 void* recvbuf, int* recvcounts, int* displs, MPI_Datatype recvtype,
00090 int root, MPI_Comm comm);
00091
00093 int MPIB_Scatterv_Traff(void* sendbuf, int* sendcounts, int* displs, MPI_Datatype sendtype,
00094 void* recvbuf, int recvcount, MPI_Datatype recvtype,
00095 int root, MPI_Comm comm);
00096
00098 int MPIB_Gatherv_Traff(void* sendbuf, int sendcount, MPI_Datatype sendtype,
00099 void* recvbuf, int* recvcounts, int* displs, MPI_Datatype recvtype,
00100 int root, MPI_Comm comm);
00101
00102 #ifdef __cplusplus
00103 }
00104 #endif
00105
00107 #endif