PPL Logo

PersReq Class Reference

#include <ampiimpl.h>

Inheritance diagram for PersReq:

Inheritance graph
[legend]
Collaboration diagram for PersReq:

Collaboration graph
[legend]

Public Member Functions

 PersReq (void *buf_, int count_, int type_, int src_, int tag_, MPI_Comm comm_, int sndrcv_)
 PersReq ()
 ~PersReq ()
int start ()
 Activate this persistent request.
CmiBool test (MPI_Status *sts)
 Return true if this request is finished (progress).
void complete (MPI_Status *sts)
 Completes the operation hanging on the request.
int wait (MPI_Status *sts)
 Block until this request is finished, returning a valid MPI error code.
void receive (ampi *ptr, AmpiMsg *msg)
int getType (void)
 Returns the type of request: 1-PersReq, 2-IReq, 3-ATAReq, 4-SReq, 5-GPUReq.
virtual void pup (PUP::er &p)
virtual void print ()

Private Attributes

int sndrcv

Detailed Description

Definition at line 599 of file ampiimpl.h.


Constructor & Destructor Documentation

PersReq::PersReq ( void *  buf_,
int  count_,
int  type_,
int  src_,
int  tag_,
MPI_Comm  comm_,
int  sndrcv_ 
) [inline]

PersReq::PersReq (  )  [inline]

Definition at line 608 of file ampiimpl.h.

PersReq::~PersReq (  )  [inline]

Definition at line 609 of file ampiimpl.h.


Member Function Documentation

int PersReq::start ( void   )  [virtual]

Activate this persistent request.

Only meaningful for persistent requests, other requests just abort.

Reimplemented from AmpiRequest.

Definition at line 3339 of file ampi.C.

References AmpiRequest::buf, AmpiRequest::comm, AmpiRequest::count, getAmpiInstance(), ampi::getRank(), ptr, ampi::send(), sndrcv, AmpiRequest::src, AmpiRequest::tag, and AmpiRequest::type.

Referenced by AMPI_Start(), and AMPI_Startall().

CmiBool PersReq::test ( MPI_Status sts  )  [virtual]

Return true if this request is finished (progress).

Implements AmpiRequest.

Definition at line 3764 of file ampi.C.

References AmpiRequest::comm, getAmpiInstance(), ampi::iprobe(), sndrcv, AmpiRequest::src, and AmpiRequest::tag.

void PersReq::complete ( MPI_Status sts  )  [virtual]

Completes the operation hanging on the request.

Implements AmpiRequest.

Definition at line 3771 of file ampi.C.

References AmpiRequest::buf, AmpiRequest::comm, AmpiRequest::count, getAmpiInstance(), AmpiRequest::src, AmpiRequest::tag, and AmpiRequest::type.

int PersReq::wait ( MPI_Status sts  )  [virtual]

Block until this request is finished, returning a valid MPI error code.

Implements AmpiRequest.

Definition at line 3450 of file ampi.C.

References AmpiRequest::buf, AmpiRequest::comm, AmpiRequest::count, AmpiRequest::event, getAmpiInstance(), sndrcv, AmpiRequest::src, AmpiRequest::tag, and AmpiRequest::type.

void PersReq::receive ( ampi ptr,
AmpiMsg msg 
) [inline, virtual]

Implements AmpiRequest.

Definition at line 614 of file ampiimpl.h.

int PersReq::getType ( void   )  [inline, virtual]

Returns the type of request: 1-PersReq, 2-IReq, 3-ATAReq, 4-SReq, 5-GPUReq.

Implements AmpiRequest.

Definition at line 615 of file ampiimpl.h.

virtual void PersReq::pup ( PUP::er p  )  [inline, virtual]

Reimplemented from AmpiRequest.

Definition at line 616 of file ampiimpl.h.

References p, AmpiRequest::pup(), and sndrcv.

void PersReq::print (  )  [virtual]

Reimplemented from AmpiRequest.

Definition at line 2298 of file ampi.C.

References CmiPrintf(), AmpiRequest::print(), and sndrcv.


Field Documentation

int PersReq::sndrcv [private]

Definition at line 600 of file ampiimpl.h.

Referenced by PersReq(), print(), pup(), start(), test(), and wait().


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

Generated on Fri May 25 08:04:46 2012 for Charm++ by  doxygen 1.5.5