MPIBlib: MPI Benchmark library

Wrappers for p2p operations

Functions

int p2p_init_max_fragment_size ()
int p2p_init (MPI_Comm comm, int proc_num_spawned)
int p2p_finalize ()
int MPIB_Send_wrapper (void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
int MPIB_Isend_wrapper (void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPIB_Recv_wrapper (void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status)
int MPIB_Irecv_wrapper (void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request)
int MPIB_Waitall_wrapper (int count, MPI_Request *array_of_requests, MPI_Status *array_of_statuses)

Function Documentation

int p2p_init_max_fragment_size (  ) 

This routine initializes the maximum fragment size for p2p benchmarks by reading the environment variable FRAGMENT_SIZE at all processes. If it is not defined, no fragmentation will occur.

int p2p_init ( MPI_Comm  comm,
int  proc_num_spawned 
)

This init routine is called by all processes in the original MPI communicator. Process 0 spawns a number of additional MPI processes everywhere (see Spawned process for scatter-gather point-to-point communication) for the scatter-gather-based point-to-point communication. After the routine, the global communicator intracomm contains all processes (spawning and spawned)

int p2p_finalize (  ) 

This finalize routine is used by process 0 to send a terminate signal to all spawned processes

int MPIB_Send_wrapper ( void *  buf,
int  count,
MPI_Datatype  datatype,
int  dest,
int  tag,
MPI_Comm  comm 
)

Wrapper send function for standard or modified operation

int MPIB_Isend_wrapper ( void *  buf,
int  count,
MPI_Datatype  datatype,
int  dest,
int  tag,
MPI_Comm  comm,
MPI_Request *  request 
)

Wrapper non-blocking send function for standard or modified operation

int MPIB_Recv_wrapper ( void *  buf,
int  count,
MPI_Datatype  datatype,
int  source,
int  tag,
MPI_Comm  comm,
MPI_Status *  status 
)

Wrapper receive function for standard or modified operation

int MPIB_Irecv_wrapper ( void *  buf,
int  count,
MPI_Datatype  datatype,
int  source,
int  tag,
MPI_Comm  comm,
MPI_Request *  request 
)

Wrapper non-blocking receive function for standard or modified operation

int MPIB_Waitall_wrapper ( int  count,
MPI_Request *  array_of_requests,
MPI_Status *  array_of_statuses 
)

Wrapper waitall function for standard or modified operation