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

Data Fields

char * winName
int winNameLeng
int initflag
void * baseAddr
MPI_Aint winSize
int disp_unit
MPI_Comm comm
int owner
LockQueue lockQueue

Detailed Description

Definition at line 137 of file ampiimpl.h.


Constructor & Destructor Documentation

win_obj::win_obj (  ) 

Definition at line 17 of file ampiOneSided.C.

References baseAddr, comm, initflag, MPI_COMM_NULL, winName, and winNameLeng.

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

Definition at line 25 of file ampiOneSided.C.

References create(), and owner.

win_obj::~win_obj (  ) 

Definition at line 51 of file ampiOneSided.C.

References free().


Member Function Documentation

void win_obj::setName ( const char *  src,
int  len 
)

Definition at line 33 of file ampiOneSided.C.

References winName, and winNameLeng.

Referenced by ampi::winSetName().

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

Definition at line 41 of file ampiOneSided.C.

References winName, and winNameLeng.

Referenced by ampi::winGetName().

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

Definition at line 58 of file ampiOneSided.C.

References baseAddr, comm, disp_unit, initflag, PUP::er::isUnpacking(), p, size, winName, and winSize.

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

Definition at line 79 of file ampiOneSided.C.

References baseAddr, initflag, winName, and winSize.

Referenced by win_obj().

int win_obj::free (  ) 

Definition at line 90 of file ampiOneSided.C.

References initflag, and winName.

Referenced by ampi::deleteWinInstance(), and ~win_obj().

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

Definition at line 101 of file ampiOneSided.C.

References initflag, and winSize.

Referenced by ampi::winRemotePut().

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

Definition at line 116 of file ampiOneSided.C.

References initflag, and winSize.

Referenced by ampi::winRemoteGet().

int win_obj::accumulate ( void *  orgaddr,
int  orgcnt,
MPI_Datatype  orgtype,
MPI_Aint  targdisp,
int  targcnt,
MPI_Datatype  targtype,
MPI_Op  op 
)

Definition at line 149 of file ampiOneSided.C.

References applyOp(), and baseAddr.

Referenced by ampi::winRemoteAccumulate().

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

Referenced by ampi::winRemoteIGet().

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 156 of file ampiOneSided.C.

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

Definition at line 160 of file ampiOneSided.C.

References CkSendToFutureID(), comm, msg, and owner.

Referenced by lockTopQueue(), and ampi::winRemoteLock().

int win_obj::unlock ( int  requestRank,
int  pe_src,
int  ftHandle 
)

Definition at line 171 of file ampiOneSided.C.

References CkSendToFutureID(), comm, dequeue(), msg, and owner.

Referenced by ampi::winRemoteUnlock().

int win_obj::wait ( void   ) 

Definition at line 209 of file ampiOneSided.C.

int win_obj::post (  ) 

Definition at line 212 of file ampiOneSided.C.

int win_obj::start (  ) 

Definition at line 215 of file ampiOneSided.C.

int win_obj::complete (  ) 

Definition at line 218 of file ampiOneSided.C.

void win_obj::lockTopQueue (  ) 

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

Definition at line 193 of file ampiOneSided.C.

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

Referenced by ampi::winRemoteLock().

void win_obj::dequeue (  ) 

Definition at line 188 of file ampiOneSided.C.

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

Referenced by unlock().

bool win_obj::emptyQueue (  ) 

Definition at line 198 of file ampiOneSided.C.

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

Referenced by ampi::winRemoteLock(), and ampi::winRemoteUnlock().


Field Documentation

Definition at line 139 of file ampiimpl.h.

Referenced by create(), free(), getName(), pup(), setName(), and win_obj().

Definition at line 140 of file ampiimpl.h.

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

Definition at line 141 of file ampiimpl.h.

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

Definition at line 144 of file ampiimpl.h.

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

Definition at line 145 of file ampiimpl.h.

Referenced by pup().

Definition at line 146 of file ampiimpl.h.

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

Definition at line 148 of file ampiimpl.h.

Referenced by lock(), unlock(), win_obj(), and ampi::winRemoteLock().

Definition at line 149 of file ampiimpl.h.

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


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

Generated on Fri May 25 08:05:57 2012 for Charm++ by  doxygen 1.5.5