SimGrid  3.16
Versatile Simulation of Distributed Systems
simgrid::smpi::Comm Class Reference

#include <smpi_comm.hpp>

Inheritance diagram for simgrid::smpi::Comm:
simgrid::smpi::F2C simgrid::smpi::Keyval

Public Member Functions

 Comm ()=default
 
 Comm (MPI_Group group, MPI_Topology topo)
 
int dup (MPI_Comm *newcomm)
 
MPI_Group group ()
 
MPI_Topology topo ()
 
int size ()
 
int rank ()
 
void get_name (char *name, int *len)
 
void set_leaders_comm (MPI_Comm leaders)
 
void set_intra_comm (MPI_Comm leaders)
 
int * get_non_uniform_map ()
 
int * get_leaders_map ()
 
MPI_Comm get_leaders_comm ()
 
MPI_Comm get_intra_comm ()
 
int is_uniform ()
 
int is_blocked ()
 
MPI_Comm split (int color, int key)
 
void cleanup_smp ()
 
void ref ()
 
void init_smp ()
 
int add_f ()
 
void add_rma_win (MPI_Win win)
 
void remove_rma_win (MPI_Win win)
 
void finish_rma_calls ()
 
- Public Member Functions inherited from simgrid::smpi::F2C
int add_f ()
 
int c2f ()
 
- Public Member Functions inherited from simgrid::smpi::Keyval
template<typename T >
int attr_delete (int keyval)
 
template<typename T >
int attr_get (int keyval, void *attr_value, int *flag)
 
template<typename T >
int attr_put (int keyval, void *attr_value)
 
template<typename T >
void cleanup_attr ()
 
template<>
int call_deleter (Comm *obj, smpi_key_elem elem, int keyval, void *value, int *flag)
 
template<>
int call_deleter (Win *obj, smpi_key_elem elem, int keyval, void *value, int *flag)
 
template<>
int call_deleter (Datatype *obj, smpi_key_elem elem, int keyval, void *value, int *flag)
 

Static Public Member Functions

static void unref (MPI_Comm comm)
 
static void destroy (MPI_Comm comm)
 
static void free_f (int id)
 
static Commf2c (int)
 
static int keyval_create (MPI_Comm_copy_attr_function *copy_fn, MPI_Comm_delete_attr_function *delete_fn, int *keyval, void *extra_state)
 
static int keyval_free (int *keyval)
 
static void keyval_cleanup ()
 
- Static Public Member Functions inherited from simgrid::smpi::F2C
static char * get_key (char *key, int id)
 
static char * get_key_id (char *key, int id)
 
static void delete_lookup ()
 
static xbt_dict_t lookup ()
 
static void free_f (int id)
 
static F2Cf2c (int id)
 
- Static Public Member Functions inherited from simgrid::smpi::Keyval
template<typename T >
static int keyval_create (smpi_copy_fn copy_fn, smpi_delete_fn delete_fn, int *keyval, void *extra_statee)
 
template<typename T >
static int keyval_free (int *keyval)
 
template<typename T >
static int call_deleter (T *obj, smpi_key_elem elem, int keyval, void *value, int *flag)
 

Static Public Attributes

static std::unordered_map< int, smpi_key_elemkeyvals_
 
static int keyval_id_ =0
 

Additional Inherited Members

- Protected Member Functions inherited from simgrid::smpi::Keyval
std::unordered_map< int, void * > * attributes ()
 
- Static Protected Member Functions inherited from simgrid::smpi::F2C
static xbt_dict_t f2c_lookup ()
 
static void set_f2c_lookup (xbt_dict_t dict)
 
static int f2c_id ()
 
static void f2c_id_increment ()
 

Constructor & Destructor Documentation

◆ Comm() [1/2]

simgrid::smpi::Comm::Comm ( )
default

◆ Comm() [2/2]

simgrid::smpi::Comm::Comm ( MPI_Group  group,
MPI_Topology  topo 
)

Member Function Documentation

◆ dup()

int simgrid::smpi::Comm::dup ( MPI_Comm newcomm)

◆ group()

MPI_Group simgrid::smpi::Comm::group ( )

◆ topo()

MPI_Topology simgrid::smpi::Comm::topo ( )

◆ size()

int simgrid::smpi::Comm::size ( )

◆ rank()

int simgrid::smpi::Comm::rank ( )

◆ get_name()

void simgrid::smpi::Comm::get_name ( char *  name,
int *  len 
)

◆ set_leaders_comm()

void simgrid::smpi::Comm::set_leaders_comm ( MPI_Comm  leaders)

◆ set_intra_comm()

void simgrid::smpi::Comm::set_intra_comm ( MPI_Comm  leaders)

◆ get_non_uniform_map()

int * simgrid::smpi::Comm::get_non_uniform_map ( )

◆ get_leaders_map()

int * simgrid::smpi::Comm::get_leaders_map ( )

◆ get_leaders_comm()

MPI_Comm simgrid::smpi::Comm::get_leaders_comm ( )

◆ get_intra_comm()

MPI_Comm simgrid::smpi::Comm::get_intra_comm ( )

◆ is_uniform()

int simgrid::smpi::Comm::is_uniform ( )

◆ is_blocked()

int simgrid::smpi::Comm::is_blocked ( )

◆ split()

MPI_Comm simgrid::smpi::Comm::split ( int  color,
int  key 
)

◆ cleanup_smp()

void simgrid::smpi::Comm::cleanup_smp ( )

◆ ref()

void simgrid::smpi::Comm::ref ( )

◆ unref()

void simgrid::smpi::Comm::unref ( MPI_Comm  comm)
static

◆ destroy()

void simgrid::smpi::Comm::destroy ( MPI_Comm  comm)
static

◆ init_smp()

void simgrid::smpi::Comm::init_smp ( )

◆ add_f()

int simgrid::smpi::Comm::add_f ( )

◆ free_f()

void simgrid::smpi::Comm::free_f ( int  id)
static

◆ f2c()

MPI_Comm simgrid::smpi::Comm::f2c ( int  id)
static

◆ keyval_create()

static int simgrid::smpi::Comm::keyval_create ( MPI_Comm_copy_attr_function copy_fn,
MPI_Comm_delete_attr_function delete_fn,
int *  keyval,
void extra_state 
)
static

◆ keyval_free()

static int simgrid::smpi::Comm::keyval_free ( int *  keyval)
static

◆ keyval_cleanup()

static void simgrid::smpi::Comm::keyval_cleanup ( )
static

◆ add_rma_win()

void simgrid::smpi::Comm::add_rma_win ( MPI_Win  win)

◆ remove_rma_win()

void simgrid::smpi::Comm::remove_rma_win ( MPI_Win  win)

◆ finish_rma_calls()

void simgrid::smpi::Comm::finish_rma_calls ( )

Member Data Documentation

◆ keyvals_

std::unordered_map< int, smpi_key_elem > simgrid::smpi::Comm::keyvals_
static

◆ keyval_id_

int simgrid::smpi::Comm::keyval_id_ =0
static

The documentation for this class was generated from the following files: