8 #ifndef OPENFPM_VCLUSTER_SRC_MPI_WRAPPER_MPI_IALLGATHER_HPP_
9 #define OPENFPM_VCLUSTER_SRC_MPI_WRAPPER_MPI_IALLGATHER_HPP_
31 static inline void gather(
void * sbuf,
size_t sz_s ,
void * rbuf,
size_t sz_r, MPI_Request & req, MPI_Comm ext_comm)
33 MPI_SAFE_CALL(MPI_Iallgather(sbuf,sz_s,MPI_BYTE, rbuf, sz_r, MPI_BYTE, ext_comm,&req));
47 static inline void gather(
void * sbuf,
size_t sz_s ,
void * rbuf,
size_t sz_r, MPI_Request & req, MPI_Comm ext_comm)
49 MPI_SAFE_CALL(MPI_Iallgather(sbuf,
sizeof(T) * sz_s,MPI_BYTE, rbuf, sz_r *
sizeof(T), MPI_BYTE, ext_comm,&req));
60 static inline void gather(
void * sbuf,
size_t sz_s ,
void * rbuf,
size_t sz_r, MPI_Request & req, MPI_Comm ext_comm)
62 MPI_SAFE_CALL(MPI_Iallgather(sbuf,sz_s,MPI_INT, rbuf, sz_r, MPI_INT, ext_comm,&req));
72 static inline void gather(
void * sbuf,
size_t sz_s ,
void * rbuf,
size_t sz_r, MPI_Request & req, MPI_Comm ext_comm)
74 MPI_SAFE_CALL(MPI_Iallgather(sbuf,sz_s,MPI_UNSIGNED, rbuf, sz_r, MPI_UNSIGNED, ext_comm,&req));
84 static inline void gather(
void * sbuf,
size_t sz_s ,
void * rbuf,
size_t sz_r, MPI_Request & req, MPI_Comm ext_comm)
86 MPI_SAFE_CALL(MPI_Iallgather(sbuf,sz_s,MPI_SHORT, rbuf, sz_r, MPI_SHORT, ext_comm,&req));
97 static inline void gather(
void * sbuf,
size_t sz_s ,
void * rbuf,
size_t sz_r, MPI_Request & req, MPI_Comm ext_comm)
99 MPI_SAFE_CALL(MPI_Iallgather(sbuf,sz_s,MPI_UNSIGNED_SHORT, rbuf, sz_r, MPI_UNSIGNED_SHORT, ext_comm,&req));
110 static inline void gather(
void * sbuf,
size_t sz_s ,
void * rbuf,
size_t sz_r, MPI_Request & req, MPI_Comm ext_comm)
112 MPI_SAFE_CALL(MPI_Iallgather(sbuf,sz_s,MPI_CHAR, rbuf, sz_r, MPI_CHAR, ext_comm,&req));
123 static inline void gather(
void * sbuf,
size_t sz_s ,
void * rbuf,
size_t sz_r, MPI_Request & req, MPI_Comm ext_comm)
125 MPI_SAFE_CALL(MPI_Iallgather(sbuf,sz_s,MPI_UNSIGNED_CHAR, rbuf, sz_r, MPI_UNSIGNED_CHAR, ext_comm,&req));
135 static inline void gather(
void * sbuf,
size_t sz_s ,
void * rbuf,
size_t sz_r, MPI_Request & req, MPI_Comm ext_comm)
137 MPI_SAFE_CALL(MPI_Iallgather(sbuf,sz_s,MPI_UNSIGNED_LONG, rbuf, sz_r, MPI_UNSIGNED_LONG, ext_comm,&req));
147 static inline void gather(
void * sbuf,
size_t sz_s ,
void * rbuf,
size_t sz_r, MPI_Request & req, MPI_Comm ext_comm)
149 MPI_SAFE_CALL(MPI_Iallgather(sbuf,sz_s,MPI_LONG, rbuf, sz_r, MPI_LONG, ext_comm,&req));
159 static inline void gather(
void * sbuf,
size_t sz_s ,
void * rbuf,
size_t sz_r, MPI_Request & req, MPI_Comm ext_comm)
161 MPI_SAFE_CALL(MPI_Iallgather(sbuf,sz_s,MPI_FLOAT, rbuf, sz_r, MPI_FLOAT, ext_comm,&req));
171 static inline void gather(
void * sbuf,
size_t sz_s ,
void * rbuf,
size_t sz_r, MPI_Request & req, MPI_Comm ext_comm)
173 MPI_SAFE_CALL(MPI_Iallgather(sbuf,sz_s,MPI_DOUBLE, rbuf, sz_r, MPI_DOUBLE, ext_comm,&req));
Set of wrapping classing for MPI_Irecv.
General recv for vector of.
KeyT const ValueT ValueT OffsetIteratorT OffsetIteratorT int
[in] The number of segments that comprise the sorting data