42 MPI_Comm, MPI_Request *, int ) ;
45 MPI_Comm, MPI_Status * , int) ;
112 MPI_Comm comm, MPI_Request *request,
int offset);
129 MPI_Comm comm, MPI_Request *request,
int offset);
146 MPI_Comm comm, MPI_Request *request,
int offset);
163 MPI_Comm comm, MPI_Request *request,
int offset);
180 MPI_Comm comm, MPI_Request *request,
int offset);
197 MPI_Comm comm, MPI_Request *request,
int offset);
214 MPI_Comm comm, MPI_Status *status,
int offset);
231 MPI_Comm comm, MPI_Status *status,
int offset);
248 MPI_Comm comm, MPI_Status *status,
int offset);
void(* kernel_backend_func_wait)(int, MPI_Request *, MPI_Status *)
Definition: backend_mpi.h:39
void(* kernel_func_recv)(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *, int)
Definition: backend_mpi.h:44
void(* kernel_func_isendirecv)(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *, int)
Definition: backend_mpi.h:41
void mpi_wrapper_irecv_int(int *buffer, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request, int offset)
Lightweight wrapper around MPI_Irecv for integer buffers.
void mpi_wrapper_recv_double(double *buffer, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status, int offset)
Lightweight wrapper around MPI_Recv for double buffers.
void mpi_wrapper_irecv_float(float *buffer, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request, int offset)
Lightweight wrapper around MPI_Irecv for float buffers.
void delete_mpi_exchanger(t_mpi_exchange *mpi_exchange)
Free memory of t_mpi_exchange object.
void mpi_wrapper_irecv_double(double *buffer, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request, int offset)
Lightweight wrapper around MPI_Irecv for double buffers.
void mpi_wrapper_isend_float(float *buffer, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request, int offset)
Lightweight wrapper around MPI_Isend for float buffers.
void mpi_wrapper_recv_float(float *buffer, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status, int offset)
Lightweight wrapper around MPI_Recv for float buffers.
t_mpi_exchange * new_mpi_exchanger(MPI_Datatype type, int size)
Create t_mpi_exchange object.
void mpi_wrapper_waitall(int count, MPI_Request *requests, MPI_Status *statuses)
Lightweight wrapper around MPI_Waitall.
void mpi_wrapper_recv_int(int *buffer, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status, int offset)
Lightweight wrapper around MPI_Recv for integer buffers.
void mpi_wrapper_isend_int(int *buffer, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request, int offset)
Lightweight wrapper around MPI_Isend for integer buffers.
void mpi_wrapper_isend_double(double *buffer, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request, int offset)
Lightweight wrapper around MPI_Isend for double buffers.
The structure contains information about MPI backend.
Definition: backend_mpi.h:52
int nreq_recv
number of recv message requests
Definition: backend_mpi.h:64
kernel_func_recv recv
communication library recv function
Definition: backend_mpi.h:72
MPI_Aint type_size
Size of the MPI datatype used for the exchange.
Definition: backend_mpi.h:56
MPI_Status * stat
array of message status
Definition: backend_mpi.h:60
kernel_backend_func_wait wait
communication library wait function
Definition: backend_mpi.h:66
MPI_Request * req
array of message requests
Definition: backend_mpi.h:58
kernel_func_isendirecv irecv
communication library non blocking recv function
Definition: backend_mpi.h:70
int nreq_send
number of send message requests
Definition: backend_mpi.h:62
kernel_func_isendirecv isend
communication library non blocking send function
Definition: backend_mpi.h:68
MPI_Datatype type
MPI datatype used for the exchange.
Definition: backend_mpi.h:54