SimGrid  3.18
Versatile Simulation of Distributed Systems
simgrid::smpi::Win Class Reference

#include <smpi_win.hpp>

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

Public Member Functions

 Win (void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, int allocated=0, int dynamic=0)
 
 Win (MPI_Info info, MPI_Comm comm)
 
 ~Win ()
 
int attach (void *base, MPI_Aint size)
 
int detach (void *base)
 
void get_name (char *name, int *length)
 
void get_group (MPI_Group *group)
 
void set_name (char *name)
 
int rank ()
 
int dynamic ()
 
int start (MPI_Group group, int assert)
 
int post (MPI_Group group, int assert)
 
int complete ()
 
MPI_Info info ()
 
void set_info (MPI_Info info)
 
int wait ()
 
MPI_Aint size ()
 
voidbase ()
 
int disp_unit ()
 
int fence (int assert)
 
int put (void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Request *request=nullptr)
 
int get (void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Request *request=nullptr)
 
int accumulate (void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Request *request=nullptr)
 
int get_accumulate (void *origin_addr, int origin_count, MPI_Datatype origin_datatype, void *result_addr, int result_count, MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Request *request=nullptr)
 
int compare_and_swap (void *origin_addr, void *compare_addr, void *result_addr, MPI_Datatype datatype, int target_rank, MPI_Aint target_disp)
 
int lock (int lock_type, int rank, int assert)
 
int unlock (int rank)
 
int lock_all (int assert)
 
int unlock_all ()
 
int flush (int rank)
 
int flush_local (int rank)
 
int flush_all ()
 
int flush_local_all ()
 
int finish_comms ()
 
int finish_comms (int rank)
 
- Public Member Functions inherited from simgrid::smpi::F2C
virtual ~F2C ()=default
 
virtual int add_f ()
 
virtual 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 Winf2c (int id)
 
- 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 std::unordered_map< std::string, F2C * > * 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 std::unordered_map< std::string, F2C * > * f2c_lookup ()
 
static void set_f2c_lookup (std::unordered_map< std::string, F2C *> *map)
 
static int f2c_id ()
 
static void f2c_id_increment ()
 

Constructor & Destructor Documentation

◆ Win() [1/2]

simgrid::smpi::Win::Win ( void base,
MPI_Aint  size,
int  disp_unit,
MPI_Info  info,
MPI_Comm  comm,
int  allocated = 0,
int  dynamic = 0 
)

◆ Win() [2/2]

simgrid::smpi::Win::Win ( MPI_Info  info,
MPI_Comm  comm 
)
inline

◆ ~Win()

simgrid::smpi::Win::~Win ( )

Member Function Documentation

◆ attach()

int simgrid::smpi::Win::attach ( void base,
MPI_Aint  size 
)

◆ detach()

int simgrid::smpi::Win::detach ( void base)

◆ get_name()

void simgrid::smpi::Win::get_name ( char *  name,
int *  length 
)

◆ get_group()

void simgrid::smpi::Win::get_group ( MPI_Group group)

◆ set_name()

void simgrid::smpi::Win::set_name ( char *  name)

◆ rank()

int simgrid::smpi::Win::rank ( )

◆ dynamic()

int simgrid::smpi::Win::dynamic ( )

◆ start()

int simgrid::smpi::Win::start ( MPI_Group  group,
int  assert 
)

◆ post()

int simgrid::smpi::Win::post ( MPI_Group  group,
int  assert 
)

◆ complete()

int simgrid::smpi::Win::complete ( )

◆ info()

MPI_Info simgrid::smpi::Win::info ( )

◆ set_info()

void simgrid::smpi::Win::set_info ( MPI_Info  info)

◆ wait()

int simgrid::smpi::Win::wait ( )

◆ size()

MPI_Aint simgrid::smpi::Win::size ( )

◆ base()

void * simgrid::smpi::Win::base ( )

◆ disp_unit()

int simgrid::smpi::Win::disp_unit ( )

◆ fence()

int simgrid::smpi::Win::fence ( int  assert)

◆ put()

int simgrid::smpi::Win::put ( void origin_addr,
int  origin_count,
MPI_Datatype  origin_datatype,
int  target_rank,
MPI_Aint  target_disp,
int  target_count,
MPI_Datatype  target_datatype,
MPI_Request request = nullptr 
)

◆ get()

int simgrid::smpi::Win::get ( void origin_addr,
int  origin_count,
MPI_Datatype  origin_datatype,
int  target_rank,
MPI_Aint  target_disp,
int  target_count,
MPI_Datatype  target_datatype,
MPI_Request request = nullptr 
)

◆ accumulate()

int simgrid::smpi::Win::accumulate ( void origin_addr,
int  origin_count,
MPI_Datatype  origin_datatype,
int  target_rank,
MPI_Aint  target_disp,
int  target_count,
MPI_Datatype  target_datatype,
MPI_Op  op,
MPI_Request request = nullptr 
)

◆ get_accumulate()

int simgrid::smpi::Win::get_accumulate ( void origin_addr,
int  origin_count,
MPI_Datatype  origin_datatype,
void result_addr,
int  result_count,
MPI_Datatype  result_datatype,
int  target_rank,
MPI_Aint  target_disp,
int  target_count,
MPI_Datatype  target_datatype,
MPI_Op  op,
MPI_Request request = nullptr 
)

◆ compare_and_swap()

int simgrid::smpi::Win::compare_and_swap ( void origin_addr,
void compare_addr,
void result_addr,
MPI_Datatype  datatype,
int  target_rank,
MPI_Aint  target_disp 
)

◆ f2c()

Win * simgrid::smpi::Win::f2c ( int  id)
static

◆ lock()

int simgrid::smpi::Win::lock ( int  lock_type,
int  rank,
int  assert 
)

◆ unlock()

int simgrid::smpi::Win::unlock ( int  rank)

◆ lock_all()

int simgrid::smpi::Win::lock_all ( int  assert)

◆ unlock_all()

int simgrid::smpi::Win::unlock_all ( )

◆ flush()

int simgrid::smpi::Win::flush ( int  rank)

◆ flush_local()

int simgrid::smpi::Win::flush_local ( int  rank)

◆ flush_all()

int simgrid::smpi::Win::flush_all ( )

◆ flush_local_all()

int simgrid::smpi::Win::flush_local_all ( )

◆ finish_comms() [1/2]

int simgrid::smpi::Win::finish_comms ( )

◆ finish_comms() [2/2]

int simgrid::smpi::Win::finish_comms ( int  rank)

Member Data Documentation

◆ keyvals_

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

◆ keyval_id_

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

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