00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00053
00054
00055
00056
00057
00058
00059 #ifndef _VECTOR_MPICOMM_INCLUDE
00060 #define _VECTOR_MPICOMM_INCLUDE
00061
00062 #include <mpi.h>
00063 #include <vector>
00064
00065
00066
00067 #include "itaylor.hpp"
00068 #include "dim2taylor.hpp"
00069
00070 using namespace std;
00071
00072
00073
00078 template<class T>
00079 int MPI_Pack (vector<T> &, void *, int, int *, MPI_Comm);
00080 template<class T>
00081 int MPI_Unpack (void*, int, int *, vector<T> &, MPI_Comm);
00083
00088 template<class T>
00089 int MPI_Send(vector<T> &, int, int, MPI_Comm);
00090 template<class T>
00091 int MPI_Bsend(vector<T> &, int, int, MPI_Comm);
00092 template<class T>
00093 int MPI_Ssend(vector<T> &, int, int, MPI_Comm);
00094 template<class T>
00095 int MPI_Rsend(vector<T> &, int, int, MPI_Comm);
00096
00097 template<class T>
00098 int MPI_Isend(vector<T> &, int, int, MPI_Comm, MPI_Request*);
00099 template<class T>
00100 int MPI_Ibsend(vector<T> &, int, int, MPI_Comm, MPI_Request*);
00101 template<class T>
00102 int MPI_Issend(vector<T> &, int, int, MPI_Comm, MPI_Request*);
00103 template<class T>
00104 int MPI_Irsend(vector<T> &, int, int, MPI_Comm, MPI_Request*);
00105
00106 template<class T>
00107 int MPI_Recv (vector<T> &, int, int, MPI_Comm, MPI_Status*);
00109
00114 template<class T>
00115 int MPI_Bcast(vector<T>&, int, MPI_Comm);
00116 template<class T>
00117 int MPI_Bcast(vector<T>&, int, int, int, int, int, MPI_Comm);
00119
00120 #endif