
#include <ampiimpl.h>


Public Member Functions | |
| AmpiRequest () | |
| virtual | ~AmpiRequest () |
| Close this request (used by free and cancel). | |
| virtual int | start (void) |
| Activate this persistent request. | |
| virtual CmiBool | test (MPI_Status *sts)=0 |
| Return true if this request is finished (progress). | |
| virtual void | complete (MPI_Status *sts)=0 |
| Completes the operation hanging on the request. | |
| virtual int | wait (MPI_Status *sts)=0 |
| Block until this request is finished, returning a valid MPI error code. | |
| virtual void | receive (ampi *ptr, AmpiMsg *msg)=0 |
| virtual void | free (void) |
| Frees up the request: invalidate it. | |
| bool | isValid (void) |
| virtual int | getType (void)=0 |
| Returns the type of request: 1-PersReq, 2-IReq, 3-ATAReq, 4-SReq, 5-GPUReq. | |
| virtual void | pup (PUP::er &p) |
| virtual void | print () |
Data Fields | |
| void * | buf |
| int | count |
| int | type |
| int | tag |
| int | src |
| int | comm |
| void * | event |
Protected Attributes | |
| bool | isvalid |
Definition at line 534 of file ampiimpl.h.
| AmpiRequest::AmpiRequest | ( | ) | [inline] |
Definition at line 550 of file ampiimpl.h.
| virtual AmpiRequest::~AmpiRequest | ( | ) | [inline, virtual] |
| virtual int AmpiRequest::start | ( | void | ) | [inline, virtual] |
Activate this persistent request.
Only meaningful for persistent requests, other requests just abort.
Reimplemented in PersReq.
Definition at line 557 of file ampiimpl.h.
| virtual CmiBool AmpiRequest::test | ( | MPI_Status * | sts | ) | [pure virtual] |
| virtual void AmpiRequest::complete | ( | MPI_Status * | sts | ) | [pure virtual] |
| virtual int AmpiRequest::wait | ( | MPI_Status * | sts | ) | [pure virtual] |
Block until this request is finished, returning a valid MPI error code.
Implemented in PersReq, IReq, ATAReq, SReq, and GPUReq.
Referenced by AMPI_Wait(), and AMPI_Waitall().
| virtual void AmpiRequest::free | ( | void | ) | [inline, virtual] |
Frees up the request: invalidate it.
Definition at line 572 of file ampiimpl.h.
References isvalid.
Referenced by AMPI_Alltoall().
| bool AmpiRequest::isValid | ( | void | ) | [inline] |
| virtual int AmpiRequest::getType | ( | void | ) | [pure virtual] |
| virtual void AmpiRequest::pup | ( | PUP::er & | p | ) | [inline, virtual] |
Reimplemented in PersReq, IReq, ATAReq, and SReq.
Definition at line 579 of file ampiimpl.h.
References buf, comm, count, event, isvalid, p, src, tag, and type.
Referenced by SReq::pup(), ATAReq::pup(), IReq::pup(), and PersReq::pup().
| void AmpiRequest::print | ( | ) | [virtual] |
Reimplemented in PersReq, IReq, ATAReq, and SReq.
Definition at line 2294 of file ampi.C.
References buf, CmiPrintf(), comm, count, isvalid, src, tag, and type.
Referenced by SReq::print(), ATAReq::print(), IReq::print(), and PersReq::print().
| void* AmpiRequest::buf |
Definition at line 536 of file ampiimpl.h.
Referenced by AMPI_GPU_complete(), AMPI_Waitall(), ATAReq::complete(), PersReq::complete(), GPUReq::GPUReq(), IReq::IReq(), PersReq::PersReq(), print(), pup(), IReq::receive(), PersReq::start(), ATAReq::wait(), IReq::wait(), and PersReq::wait().
Definition at line 537 of file ampiimpl.h.
Referenced by AMPI_Waitall(), ATAReq::complete(), PersReq::complete(), IReq::IReq(), PersReq::PersReq(), print(), pup(), IReq::receive(), PersReq::start(), ATAReq::test(), ATAReq::wait(), IReq::wait(), and PersReq::wait().
Definition at line 538 of file ampiimpl.h.
Referenced by AMPI_Wait(), AMPI_Waitall(), ATAReq::complete(), PersReq::complete(), IReq::IReq(), PersReq::PersReq(), print(), pup(), IReq::receive(), PersReq::start(), ATAReq::wait(), IReq::wait(), and PersReq::wait().
Definition at line 539 of file ampiimpl.h.
Referenced by AMPI_Irecv(), AMPI_Wait(), ATAReq::complete(), PersReq::complete(), IReq::IReq(), matchReq(), PersReq::PersReq(), print(), pup(), IReq::receive(), PersReq::start(), ATAReq::test(), PersReq::test(), ATAReq::wait(), IReq::wait(), and PersReq::wait().
Definition at line 540 of file ampiimpl.h.
Referenced by AMPI_Alltoall(), ATAReq::complete(), PersReq::complete(), GPUReq::GPUReq(), IReq::IReq(), matchReq(), PersReq::PersReq(), print(), pup(), IReq::receive(), PersReq::start(), ATAReq::test(), PersReq::test(), ATAReq::wait(), IReq::wait(), and PersReq::wait().
Definition at line 541 of file ampiimpl.h.
Referenced by AMPI_Win_fence(), ATAReq::complete(), PersReq::complete(), GPUReq::GPUReq(), IReq::IReq(), matchReq(), PersReq::PersReq(), print(), pup(), IReq::receive(), SReq::SReq(), PersReq::start(), ATAReq::test(), SReq::test(), IReq::test(), PersReq::test(), GPUReq::wait(), SReq::wait(), ATAReq::wait(), IReq::wait(), and PersReq::wait().
| void* AmpiRequest::event |
Definition at line 545 of file ampiimpl.h.
Referenced by pup(), ATAReq::wait(), and PersReq::wait().
bool AmpiRequest::isvalid [protected] |
Definition at line 548 of file ampiimpl.h.
Referenced by ATAReq::ATAReq(), free(), GPUReq::GPUReq(), IReq::IReq(), isValid(), PersReq::PersReq(), print(), pup(), and SReq::SReq().
1.5.5