DistDir
|
Functions | |
t_mpi_exchange * | new_mpi_exchanger (MPI_Datatype type, int size) |
Create t_mpi_exchange object. More... | |
void | delete_mpi_exchanger (t_mpi_exchange *mpi_exchange) |
Free memory of t_mpi_exchange object. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
void | mpi_wrapper_waitall (int count, MPI_Request *requests, MPI_Status *statuses) |
Lightweight wrapper around MPI_Waitall. More... | |
Communication backend using MPI library
void delete_mpi_exchanger | ( | t_mpi_exchange * | mpi_exchange | ) |
Free memory of t_mpi_exchange object.
[in,out] | mpi_exchange | pointer to 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.
[in] | buffer | buffer to be received |
[in] | count | size of the message |
[in] | datatype | data type of buffer |
[in] | source | rank to receive the message from |
[in] | tag | message tag |
[in] | comm | MPI communicator |
[out] | request | MPI request for non blocking messages |
[in] | offset | buffer offset |
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.
[in] | buffer | buffer to be received |
[in] | count | size of the message |
[in] | datatype | data type of buffer |
[in] | source | rank to receive the message from |
[in] | tag | message tag |
[in] | comm | MPI communicator |
[out] | request | MPI request for non blocking messages |
[in] | offset | buffer offset |
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.
[in] | buffer | buffer to be received |
[in] | count | size of the message |
[in] | datatype | data type of buffer |
[in] | source | rank to receive the message from |
[in] | tag | message tag |
[in] | comm | MPI communicator |
[out] | request | MPI request for non blocking messages |
[in] | offset | buffer offset |
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.
[in] | buffer | buffer to be sent |
[in] | count | size of the message |
[in] | datatype | data type of buffer |
[in] | dest | rank to send the message to |
[in] | tag | message tag |
[in] | comm | MPI communicator |
[out] | request | MPI request for non blocking messages |
[in] | offset | buffer offset |
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.
[in] | buffer | buffer to be sent |
[in] | count | size of the message |
[in] | datatype | data type of buffer |
[in] | dest | rank to send the message to |
[in] | tag | message tag |
[in] | comm | MPI communicator |
[out] | request | MPI request for non blocking messages |
[in] | offset | buffer offset |
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.
[in] | buffer | buffer to be sent |
[in] | count | size of the message |
[in] | datatype | data type of buffer |
[in] | dest | rank to send the message to |
[in] | tag | message tag |
[in] | comm | MPI communicator |
[out] | request | MPI request for non blocking messages |
[in] | offset | buffer offset |
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.
[in] | buffer | buffer to be received |
[in] | count | size of the message |
[in] | datatype | data type of buffer |
[in] | source | rank to receive the message from |
[in] | tag | message tag |
[in] | comm | MPI communicator |
[out] | status | message status |
[in] | offset | buffer offset |
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.
[in] | buffer | buffer to be received |
[in] | count | size of the message |
[in] | datatype | data type of buffer |
[in] | source | rank to receive the message from |
[in] | tag | message tag |
[in] | comm | MPI communicator |
[out] | status | message status |
[in] | offset | buffer offset |
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.
[in] | buffer | buffer to be received |
[in] | count | size of the message |
[in] | datatype | data type of buffer |
[in] | source | rank to receive the message from |
[in] | tag | message tag |
[in] | comm | MPI communicator |
[out] | status | message status |
[in] | offset | buffer offset |
void mpi_wrapper_waitall | ( | int | count, |
MPI_Request * | requests, | ||
MPI_Status * | statuses | ||
) |
Lightweight wrapper around MPI_Waitall.
[in] | count | number of non blocking messages |
[in] | requests | array of MPI request |
[out] | statuses | array of message statuses |
t_mpi_exchange* new_mpi_exchanger | ( | MPI_Datatype | type, |
int | size | ||
) |
Create t_mpi_exchange object.
[in] | type | MPI type |
[in] | size | size of MPI requests and statuses |