PPL Logo

win_obj Class Reference

#include <ampiimpl.h>

Collaboration diagram for win_obj:

Collaboration graph
[legend]

Public Member Functions

void setName (const char *src) noexcept
void getName (char *src, int *len) noexcept
void pup (PUP::er &p) noexcept
 win_obj () noexcept
 win_obj (const char *name, void *base, MPI_Aint size, int disp_unit, MPI_Comm comm) noexcept
 ~win_obj () noexcept
int create (const char *name, void *base, MPI_Aint size, int disp_unit, MPI_Comm comm) noexcept
int free () noexcept
vector< int > & getKeyvals ()
int put (void *orgaddr, int orgcnt, int orgunit, MPI_Aint targdisp, int targcnt, int targunit) noexcept
int get (void *orgaddr, int orgcnt, int orgunit, MPI_Aint targdisp, int targcnt, int targunit) noexcept
int accumulate (void *orgaddr, int count, MPI_Aint targdisp, MPI_Datatype targtype, MPI_Op op, ampiParent *pptr) noexcept
int iget (int orgcnt, MPI_Datatype orgtype, MPI_Aint targdisp, int targcnt, MPI_Datatype targtype) noexcept
int igetWait (MPI_Request *req, MPI_Status *status) noexcept
int igetFree (MPI_Request *req, MPI_Status *status) noexcept
int fence () noexcept
int lock (int requestRank, int lock_type) noexcept
int unlock (int requestRank) noexcept
int wait () noexcept
int post () noexcept
int start () noexcept
int complete () noexcept
void lockTopQueue () noexcept
void enqueue (int requestRank, int lock_type) noexcept
void dequeue () noexcept
bool emptyQueue () noexcept

Data Fields

void * baseAddr
MPI_Aint winSize
int disp_unit
MPI_Comm comm
int owner
LockQueue lockQueue
std::string winName
bool initflag
vector< intkeyvals

Detailed Description

Definition at line 329 of file ampiimpl.h.


Constructor & Destructor Documentation

win_obj::win_obj (  ) 

Definition at line 19 of file ampiOneSided.C.

References baseAddr, comm, and initflag.

win_obj::win_obj ( const char *  name,
void *  base,
MPI_Aint  size,
int  disp_unit,
MPI_Comm  comm 
)

Definition at line 25 of file ampiOneSided.C.

References comm, create(), disp_unit, name, owner, and size.

Here is the call graph for this function:

win_obj::~win_obj (  ) 

Definition at line 41 of file ampiOneSided.C.

References free().

Here is the call graph for this function:


Member Function Documentation

void win_obj::setName ( const char *  src  ) 

Definition at line 31 of file ampiOneSided.C.

References CkDDT_SetName(), src, and winName.

Referenced by create().

Here is the call graph for this function:

Here is the caller graph for this function:

void win_obj::getName ( char *  src,
int len 
)

Definition at line 35 of file ampiOneSided.C.

References len, length, name, and winName.

void win_obj::pup ( PUP::er p  ) 

Definition at line 47 of file ampiOneSided.C.

References baseAddr, comm, disp_unit, initflag, keyvals, p, size, winName, and winSize.

int win_obj::create ( const char *  name,
void *  base,
MPI_Aint  size,
int  disp_unit,
MPI_Comm  comm 
)

Definition at line 65 of file ampiOneSided.C.

References baseAddr, comm, disp_unit, initflag, name, setName(), size, and winSize.

Referenced by win_obj().

Here is the call graph for this function:

Here is the caller graph for this function:

int win_obj::free (  ) 

Definition at line 76 of file ampiOneSided.C.

References initflag.

Referenced by AMPI_API_IMPL(), and ~win_obj().

Here is the caller graph for this function:

vector<int>& win_obj::getKeyvals (  )  [inline]

Definition at line 359 of file ampiimpl.h.

int win_obj::put ( void *  orgaddr,
int  orgcnt,
int  orgunit,
MPI_Aint  targdisp,
int  targcnt,
int  targunit 
)

Definition at line 85 of file ampiOneSided.C.

References initflag, targcnt, targdisp, and winSize.

int win_obj::get ( void *  orgaddr,
int  orgcnt,
int  orgunit,
MPI_Aint  targdisp,
int  targcnt,
int  targunit 
)

Definition at line 100 of file ampiOneSided.C.

References initflag, targcnt, targdisp, and winSize.

int win_obj::accumulate ( void *  orgaddr,
int  count,
MPI_Aint  targdisp,
MPI_Datatype  targtype,
MPI_Op  op,
ampiParent *  pptr 
)

Definition at line 132 of file ampiOneSided.C.

References baseAddr, count, disp_unit, op, orgaddr, targdisp, and targtype.

int win_obj::iget ( int  orgcnt,
MPI_Datatype  orgtype,
MPI_Aint  targdisp,
int  targcnt,
MPI_Datatype  targtype 
)

Definition at line 116 of file ampiOneSided.C.

References initflag, targcnt, targdisp, and winSize.

int win_obj::igetWait ( MPI_Request req,
MPI_Status status 
)

int win_obj::igetFree ( MPI_Request req,
MPI_Status status 
)

int win_obj::fence (  ) 

Definition at line 141 of file ampiOneSided.C.

int win_obj::lock ( int  requestRank,
int  lock_type 
)

Definition at line 145 of file ampiOneSided.C.

References owner.

Referenced by lockTopQueue().

Here is the caller graph for this function:

int win_obj::unlock ( int  requestRank  ) 

Definition at line 150 of file ampiOneSided.C.

References dequeue(), and owner.

Here is the call graph for this function:

int win_obj::wait ( void   ) 

Definition at line 184 of file ampiOneSided.C.

int win_obj::post (  ) 

Definition at line 188 of file ampiOneSided.C.

int win_obj::start (  ) 

Definition at line 192 of file ampiOneSided.C.

int win_obj::complete (  ) 

Definition at line 196 of file ampiOneSided.C.

void win_obj::lockTopQueue (  ) 

Definition at line 177 of file ampiOneSided.C.

References CkQ< T >::deq(), CkQ< T >::insert(), lock(), lockQueueEntry::lock_type, lockQueue, and lockQueueEntry::requestRank.

Here is the call graph for this function:

void win_obj::enqueue ( int  requestRank,
int  lock_type 
)

Definition at line 168 of file ampiOneSided.C.

References CkQ< T >::enq(), lock_type, and lockQueue.

Here is the call graph for this function:

void win_obj::dequeue (  ) 

Definition at line 163 of file ampiOneSided.C.

References CkQ< T >::deq(), and lockQueue.

Referenced by unlock().

Here is the call graph for this function:

Here is the caller graph for this function:

bool win_obj::emptyQueue (  ) 

Definition at line 173 of file ampiOneSided.C.

References CkQ< T >::length(), and lockQueue.

Here is the call graph for this function:


Field Documentation

Definition at line 331 of file ampiimpl.h.

Referenced by accumulate(), create(), pup(), and win_obj().

Definition at line 332 of file ampiimpl.h.

Referenced by create(), get(), iget(), pup(), and put().

Definition at line 333 of file ampiimpl.h.

Referenced by accumulate(), create(), pup(), and win_obj().

Definition at line 334 of file ampiimpl.h.

Referenced by AMPI_API_IMPL(), create(), pup(), and win_obj().

Definition at line 336 of file ampiimpl.h.

Referenced by lock(), unlock(), and win_obj().

Definition at line 337 of file ampiimpl.h.

Referenced by dequeue(), emptyQueue(), enqueue(), and lockTopQueue().

std::string win_obj::winName

Definition at line 340 of file ampiimpl.h.

Referenced by getName(), pup(), and setName().

Definition at line 341 of file ampiimpl.h.

Referenced by create(), free(), get(), iget(), pup(), put(), and win_obj().

Definition at line 343 of file ampiimpl.h.

Referenced by AMPI_API_IMPL(), and pup().


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

Generated on Mon Sep 21 08:31:44 2020 for Charm++ by  doxygen 1.5.5