SimGrid  3.13
Versatile Simulation of Distributed Systems
smpi_comm.cpp File Reference
#include <stdlib.h>
#include "private.h"
#include "xbt/dict.h"
#include "smpi_mpi_dt_private.h"
#include "limits.h"
#include "src/simix/smx_private.h"
#include "colls/colls.h"
#include "xbt/ex.h"

Classes

struct  s_smpi_mpi_communicator
 

Typedefs

typedef struct s_smpi_mpi_communicator s_smpi_mpi_communicator_t
 

Functions

 XBT_LOG_NEW_DEFAULT_SUBCATEGORY (smpi_comm, smpi,"Logging specific to SMPI (comm)")
 
static int smpi_compare_rankmap (const void *a, const void *b)
 
MPI_Comm smpi_comm_new (MPI_Group group, MPI_Topology topo)
 
void smpi_comm_destroy (MPI_Comm comm)
 
int smpi_comm_dup (MPI_Comm comm, MPI_Comm *newcomm)
 
MPI_Group smpi_comm_group (MPI_Comm comm)
 
MPI_Topology smpi_comm_topo (MPI_Comm comm)
 
int smpi_comm_size (MPI_Comm comm)
 
int smpi_comm_rank (MPI_Comm comm)
 
void smpi_comm_get_name (MPI_Comm comm, char *name, int *len)
 
void smpi_comm_set_leaders_comm (MPI_Comm comm, MPI_Comm leaders)
 
void smpi_comm_set_intra_comm (MPI_Comm comm, MPI_Comm leaders)
 
int * smpi_comm_get_non_uniform_map (MPI_Comm comm)
 
int * smpi_comm_get_leaders_map (MPI_Comm comm)
 
MPI_Comm smpi_comm_get_leaders_comm (MPI_Comm comm)
 
MPI_Comm smpi_comm_get_intra_comm (MPI_Comm comm)
 
int smpi_comm_is_uniform (MPI_Comm comm)
 
int smpi_comm_is_blocked (MPI_Comm comm)
 
MPI_Comm smpi_comm_split (MPI_Comm comm, int color, int key)
 
void smpi_comm_use (MPI_Comm comm)
 
void smpi_comm_cleanup_attributes (MPI_Comm comm)
 
void smpi_comm_cleanup_smp (MPI_Comm comm)
 
void smpi_comm_unuse (MPI_Comm comm)
 
static int compare_ints (const void *a, const void *b)
 
void smpi_comm_init_smp (MPI_Comm comm)
 
int smpi_comm_attr_delete (MPI_Comm comm, int keyval)
 
int smpi_comm_attr_get (MPI_Comm comm, int keyval, void *attr_value, int *flag)
 
int smpi_comm_attr_put (MPI_Comm comm, int keyval, void *attr_value)
 
int smpi_comm_keyval_create (MPI_Comm_copy_attr_function *copy_fn, MPI_Comm_delete_attr_function *delete_fn, int *keyval, void *extra_state)
 
int smpi_comm_keyval_free (int *keyval)
 

Variables

xbt_dict_t smpi_comm_keyvals = NULL
 
int comm_keyval_id = 0
 

Typedef Documentation

Function Documentation

XBT_LOG_NEW_DEFAULT_SUBCATEGORY ( smpi_comm  ,
smpi  ,
"Logging specific to SMPI (comm)"   
)
static int smpi_compare_rankmap ( const void a,
const void b 
)
static
MPI_Comm smpi_comm_new ( MPI_Group  group,
MPI_Topology  topo 
)
void smpi_comm_destroy ( MPI_Comm  comm)
int smpi_comm_dup ( MPI_Comm  comm,
MPI_Comm *  newcomm 
)
MPI_Group smpi_comm_group ( MPI_Comm  comm)
MPI_Topology smpi_comm_topo ( MPI_Comm  comm)
int smpi_comm_size ( MPI_Comm  comm)
int smpi_comm_rank ( MPI_Comm  comm)
void smpi_comm_get_name ( MPI_Comm  comm,
char *  name,
int *  len 
)
void smpi_comm_set_leaders_comm ( MPI_Comm  comm,
MPI_Comm  leaders 
)
void smpi_comm_set_intra_comm ( MPI_Comm  comm,
MPI_Comm  leaders 
)
int* smpi_comm_get_non_uniform_map ( MPI_Comm  comm)
int* smpi_comm_get_leaders_map ( MPI_Comm  comm)
MPI_Comm smpi_comm_get_leaders_comm ( MPI_Comm  comm)
MPI_Comm smpi_comm_get_intra_comm ( MPI_Comm  comm)
int smpi_comm_is_uniform ( MPI_Comm  comm)
int smpi_comm_is_blocked ( MPI_Comm  comm)
MPI_Comm smpi_comm_split ( MPI_Comm  comm,
int  color,
int  key 
)
void smpi_comm_use ( MPI_Comm  comm)
void smpi_comm_cleanup_attributes ( MPI_Comm  comm)
void smpi_comm_cleanup_smp ( MPI_Comm  comm)
void smpi_comm_unuse ( MPI_Comm  comm)
static int compare_ints ( const void a,
const void b 
)
static
void smpi_comm_init_smp ( MPI_Comm  comm)
int smpi_comm_attr_delete ( MPI_Comm  comm,
int  keyval 
)
int smpi_comm_attr_get ( MPI_Comm  comm,
int  keyval,
void attr_value,
int *  flag 
)
int smpi_comm_attr_put ( MPI_Comm  comm,
int  keyval,
void attr_value 
)
int smpi_comm_keyval_create ( MPI_Comm_copy_attr_function *  copy_fn,
MPI_Comm_delete_attr_function *  delete_fn,
int *  keyval,
void extra_state 
)
int smpi_comm_keyval_free ( int *  keyval)

Variable Documentation

xbt_dict_t smpi_comm_keyvals = NULL
int comm_keyval_id = 0