MPIBlib: MPI Benchmark library

Containers for collective communication operations

Classes

class  MPIB_buffer_container
class  MPIB_SG_container
class  MPIB_Scatter_container
class  MPIB_Gather_container
class  MPIB_Bcast_container
class  MPIB_Reduce_container
class  MPIB_Comm_dup_free_container
class  MPIB_SGv_container
class  MPIB_Scatterv_container
class  MPIB_Gatherv_container
class  MPIB_Alltoall_container

Functions

void MPIB_coll_container_free (MPIB_coll_container *container)
MPIB_coll_containerMPIB_Scatter_container_alloc (MPIB_Scatter scatter)
MPIB_coll_containerMPIB_Gather_container_alloc (MPIB_Gather gather)
MPIB_coll_containerMPIB_Bcast_container_alloc (MPIB_Bcast bcast)
MPIB_coll_containerMPIB_Reduce_container_alloc (MPIB_Reduce reduce)
MPIB_coll_containerMPIB_Comm_dup_free_container_alloc ()
MPIB_coll_containerMPIB_Scatterv_container_alloc (MPIB_Scatterv scatterv, const double *factors)
MPIB_coll_containerMPIB_Gatherv_container_alloc (MPIB_Gatherv gatherv, const double *factors)
MPIB_coll_containerMPIB_Alltoall_container_alloc (MPIB_Alltoall alltoall)

Detailed Description

Data structures describing collective communications to be measured, which are used as an argument of collective benchmark functions. Collective container allocators usually have an argument that points to the implementation of the collective communication operation, for example MPIB_Scatter_container_alloc has an argument MPIB_Scatter, pointer to a scatter implementation. This provides three-level extension:

coll_containers.dot

The same container can be used in different benchmarks. Container can call different algorithms of the same collective operation.


Function Documentation

void MPIB_coll_container_free ( MPIB_coll_container container  ) 

Frees collective container

MPIB_coll_container* MPIB_Scatter_container_alloc ( MPIB_Scatter  scatter  ) 

Allocates Scatter container

MPIB_coll_container* MPIB_Gather_container_alloc ( MPIB_Gather  gather  ) 

Allocates Gather container

MPIB_coll_container* MPIB_Bcast_container_alloc ( MPIB_Bcast  bcast  ) 

Allocates Bcast container

MPIB_coll_container* MPIB_Reduce_container_alloc ( MPIB_Reduce  reduce  ) 

Allocates Reduce container

MPIB_coll_container* MPIB_Comm_dup_free_container_alloc (  ) 

Allocates MPI_Comm_dup-MPI_Comm_free container

MPIB_coll_container* MPIB_Scatterv_container_alloc ( MPIB_Scatterv  scatterv,
const double *  factors 
)

Allocates Scatterv container

MPIB_coll_container* MPIB_Gatherv_container_alloc ( MPIB_Gatherv  gatherv,
const double *  factors 
)

Allocates Gatherv container

MPIB_coll_container* MPIB_Alltoall_container_alloc ( MPIB_Alltoall  alltoall  ) 

Allocates Gatherv container