DistDir
Data Structures | Typedefs | Functions
backend_mpi.h File Reference
#include "mpi.h"

Go to the source code of this file.

Data Structures

struct  t_mpi_exchange
 The structure contains information about MPI backend. More...
 

Typedefs

typedef void(* kernel_backend_func_wait) (int, MPI_Request *, MPI_Status *)
 
typedef void(* kernel_func_isendirecv) (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *, int)
 
typedef void(* kernel_func_recv) (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *, int)
 
typedef struct t_mpi_exchange t_mpi_exchange
 

Functions

t_mpi_exchangenew_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...
 

Typedef Documentation

◆ kernel_backend_func_wait

typedef void(* kernel_backend_func_wait) (int, MPI_Request *, MPI_Status *)

◆ kernel_func_isendirecv

typedef void(* kernel_func_isendirecv) (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *, int)

◆ kernel_func_recv

typedef void(* kernel_func_recv) (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *, int)

◆ t_mpi_exchange