25 static inline void recv(
size_t proc ,
size_t tag ,
void * buf,
size_t sz, MPI_Request & req)
29 MPI_SAFE_CALL(MPI_Irecv(buf,sz,MPI_BYTE, proc, tag , MPI_COMM_WORLD,&req));
33 MPI_SAFE_CALL(MPI_Irecv(buf,sz >> 8,MPI_DOUBLE, proc, tag , MPI_COMM_WORLD,&req));
47 static inline void recv(
size_t proc ,
size_t tag ,
openfpm::vector<T> & v, MPI_Request & req)
49 if (v.size() *
sizeof(T) < 2147483647)
51 MPI_SAFE_CALL(MPI_Irecv(v.getPointer(), v.size() *
sizeof(T),MPI_BYTE, proc, tag , MPI_COMM_WORLD,&req));
55 MPI_SAFE_CALL(MPI_Irecv(v.getPointer(),(v.size() *
sizeof(T)) >> 8,MPI_DOUBLE, proc, tag , MPI_COMM_WORLD,&req));
69 MPI_SAFE_CALL(MPI_Irecv(v.getPointer(), v.size(),MPI_INT, proc, tag , MPI_COMM_WORLD,&req));
81 MPI_SAFE_CALL(MPI_Irecv(v.getPointer(), v.size(),MPI_UNSIGNED, proc, tag , MPI_COMM_WORLD,&req));
93 MPI_SAFE_CALL(MPI_Irecv(v.getPointer(), v.size(),MPI_SHORT, proc, tag , MPI_COMM_WORLD,&req));
105 MPI_SAFE_CALL(MPI_Irecv(v.getPointer(), v.size(),MPI_UNSIGNED_SHORT, proc, tag , MPI_COMM_WORLD,&req));
117 MPI_SAFE_CALL(MPI_Irecv(v.getPointer(), v.size(),MPI_CHAR, proc, tag , MPI_COMM_WORLD,&req));
129 MPI_SAFE_CALL(MPI_Irecv(v.getPointer(), v.size(),MPI_UNSIGNED_CHAR, proc, tag , MPI_COMM_WORLD,&req));
141 MPI_SAFE_CALL(MPI_Irecv(v.getPointer(), v.size(),MPI_UNSIGNED_LONG, proc, tag , MPI_COMM_WORLD,&req));
153 MPI_SAFE_CALL(MPI_Irecv(v.getPointer(), v.size(),MPI_LONG, proc, tag , MPI_COMM_WORLD,&req));
165 MPI_SAFE_CALL(MPI_Irecv(v.getPointer(), v.size(),MPI_FLOAT, proc, tag , MPI_COMM_WORLD,&req));
177 MPI_SAFE_CALL(MPI_Irecv(v.getPointer(), v.size(),MPI_DOUBLE, proc, tag , MPI_COMM_WORLD,&req));
Set of wrapping classing for MPI_Irecv.
static void recv(size_t proc, size_t tag, void *buf, size_t sz, MPI_Request &req)
General recv for general buffer.
General recv for vector of.
Implementation of 1-D std::vector like structure.