SimGrid  3.14.159
Versatile Simulation of Distributed Systems
smpi_comm.cpp File Reference
#include <stdlib.h>
#include <limits.h>
#include <xbt/dict.h>
#include <xbt/ex.h>
#include <xbt/ex.hpp>
#include <simgrid/s4u/host.hpp>
#include "private.h"
#include "smpi_mpi_dt_private.h"
#include "src/simix/smx_private.h"
#include "colls/colls.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 = nullptr
 
int comm_keyval_id = 0
 

Typedef Documentation

§ s_smpi_mpi_communicator_t

Function Documentation

§ XBT_LOG_NEW_DEFAULT_SUBCATEGORY()

XBT_LOG_NEW_DEFAULT_SUBCATEGORY ( smpi_comm  ,
smpi  ,
"Logging specific to SMPI (comm)"   
)

§ smpi_compare_rankmap()

static int smpi_compare_rankmap ( const void a,
const void b 
)
static

§ smpi_comm_new()

MPI_Comm smpi_comm_new ( MPI_Group  group,
MPI_Topology  topo 
)

§ smpi_comm_destroy()

void smpi_comm_destroy ( MPI_Comm  comm)

§ smpi_comm_dup()

int smpi_comm_dup ( MPI_Comm  comm,
MPI_Comm newcomm 
)

§ smpi_comm_group()

MPI_Group smpi_comm_group ( MPI_Comm  comm)

§ smpi_comm_topo()

MPI_Topology smpi_comm_topo ( MPI_Comm  comm)

§ smpi_comm_size()

int smpi_comm_size ( MPI_Comm  comm)

§ smpi_comm_rank()

int smpi_comm_rank ( MPI_Comm  comm)

§ smpi_comm_get_name()

void smpi_comm_get_name ( MPI_Comm  comm,
char *  name,
int *  len 
)

§ smpi_comm_set_leaders_comm()

void smpi_comm_set_leaders_comm ( MPI_Comm  comm,
MPI_Comm  leaders 
)

§ smpi_comm_set_intra_comm()

void smpi_comm_set_intra_comm ( MPI_Comm  comm,
MPI_Comm  leaders 
)

§ smpi_comm_get_non_uniform_map()

int* smpi_comm_get_non_uniform_map ( MPI_Comm  comm)

§ smpi_comm_get_leaders_map()

int* smpi_comm_get_leaders_map ( MPI_Comm  comm)

§ smpi_comm_get_leaders_comm()

MPI_Comm smpi_comm_get_leaders_comm ( MPI_Comm  comm)

§ smpi_comm_get_intra_comm()

MPI_Comm smpi_comm_get_intra_comm ( MPI_Comm  comm)

§ smpi_comm_is_uniform()

int smpi_comm_is_uniform ( MPI_Comm  comm)

§ smpi_comm_is_blocked()

int smpi_comm_is_blocked ( MPI_Comm  comm)

§ smpi_comm_split()

MPI_Comm smpi_comm_split ( MPI_Comm  comm,
int  color,
int  key 
)

§ smpi_comm_use()

void smpi_comm_use ( MPI_Comm  comm)

§ smpi_comm_cleanup_attributes()

void smpi_comm_cleanup_attributes ( MPI_Comm  comm)

§ smpi_comm_cleanup_smp()

void smpi_comm_cleanup_smp ( MPI_Comm  comm)

§ smpi_comm_unuse()

void smpi_comm_unuse ( MPI_Comm  comm)

§ compare_ints()

static int compare_ints ( const void a,
const void b 
)
static

§ smpi_comm_init_smp()

void smpi_comm_init_smp ( MPI_Comm  comm)

§ smpi_comm_attr_delete()

int smpi_comm_attr_delete ( MPI_Comm  comm,
int  keyval 
)

§ smpi_comm_attr_get()

int smpi_comm_attr_get ( MPI_Comm  comm,
int  keyval,
void attr_value,
int *  flag 
)

§ smpi_comm_attr_put()

int smpi_comm_attr_put ( MPI_Comm  comm,
int  keyval,
void attr_value 
)

§ smpi_comm_keyval_create()

int smpi_comm_keyval_create ( MPI_Comm_copy_attr_function copy_fn,
MPI_Comm_delete_attr_function delete_fn,
int *  keyval,
void extra_state 
)

§ smpi_comm_keyval_free()

int smpi_comm_keyval_free ( int *  keyval)

Variable Documentation

§ smpi_comm_keyvals

xbt_dict_t smpi_comm_keyvals = nullptr

§ comm_keyval_id

int comm_keyval_id = 0