PPL Logo

libs/ck-libs/ampi/ampi.C File Reference

Go to the source code of this file.

Data Structures

class  AmpiComplex
struct  FloatInt
struct  DoubleInt
struct  LongInt
struct  IntInt
struct  ShortInt
struct  LongdoubleInt
struct  FloatFloat
struct  DoubleDouble
class  Builtin_kvs
class  ampiWorlds
 This group is used to broadcast the MPI_COMM_UNIVERSE communicators. More...
class  ckptClientStruct
class  ampiSplitKey
class  vecStruct

Typedefs

typedef MPI_Op MPI_Op_Array [128]

Functions

static CkDDT * getDDT (void)
int checkCommunicator (MPI_Comm comm)
int checkCount (int count)
int checkData (MPI_Datatype data)
int checkTag (int tag)
int checkRank (int rank, MPI_Comm comm)
int checkBuf (void *buf, int count)
int errorCheck (MPI_Comm comm, int ifComm, int count, int ifCount, MPI_Datatype data, int ifData, int tag, int ifTag, int rank, int ifRank, void *buf1, int ifBuf1, void *buf2=0, int ifBuf2=0)
void MPI_MAX (void *invec, void *inoutvec, int *len, MPI_Datatype *datatype)
void MPI_MIN (void *invec, void *inoutvec, int *len, MPI_Datatype *datatype)
void MPI_SUM (void *invec, void *inoutvec, int *len, MPI_Datatype *datatype)
void MPI_PROD (void *invec, void *inoutvec, int *len, MPI_Datatype *datatype)
void MPI_LAND (void *invec, void *inoutvec, int *len, MPI_Datatype *datatype)
void MPI_BAND (void *invec, void *inoutvec, int *len, MPI_Datatype *datatype)
void MPI_LOR (void *invec, void *inoutvec, int *len, MPI_Datatype *datatype)
void MPI_BOR (void *invec, void *inoutvec, int *len, MPI_Datatype *datatype)
void MPI_LXOR (void *invec, void *inoutvec, int *len, MPI_Datatype *datatype)
void MPI_BXOR (void *invec, void *inoutvec, int *len, MPI_Datatype *datatype)
void MPI_MAXLOC (void *invec, void *inoutvec, int *len, MPI_Datatype *datatype)
void MPI_MINLOC (void *invec, void *inoutvec, int *len, MPI_Datatype *datatype)
CkReductionMsg * AmpiReducerFunc (int nMsg, CkReductionMsg **msgs)
CDECL void AMPI_Setup (void)
FDECL void FTN_NAME (AMPI_SETUP, ampi_setup)
void ampiCreateMain (MPI_MainFn mainFn, const char *name, int nameLen)
CDECL void AMPI_Setup_Switch (void)
 CtvDeclare (ampiParent *, ampiPtr)
 CtvDeclare (int, ampiInitDone)
 CtvDeclare (void *, stackBottom)
 CtvDeclare (int, ampiFinalized)
 CkpvDeclare (Builtin_kvs, bikvs)
 CkpvDeclare (int, argvExtracted)
CDECL long ampiCurrentStackUsage ()
FDECL void FTN_NAME (AMPICURRENTSTACKUSAGE, ampicurrentstackusage)
CDECL void AMPI_threadstart (void *data)
static void ampiNodeInit (void)
static void BeginIdle (void *dummy, double curWallTime)
static void EndIdle (void *dummy, double curWallTime)
 CtvDeclare (int, mpi_opc)
 CtvDeclare (MPI_Op_Array, mpi_ops)
static void ampiProcInit (void)
static int record_msglog (int rank)
void AMPI_Install_Idle_Timer ()
void AMPI_Uninstall_Idle_Timer ()
 PUPfunctionpointer (MPI_MainFn)
 PUPmarshall (MPI_threadstart_t)
static void init_operations ()
static ampiampiInit (char **argv)
static void checkpointClient (void *param, void *msg)
static void cmm_pup_ampi_message (pup_er p, void **msg)
static void cmm_pup_posted_ireq (pup_er p, void **msg)
CDECL int compareAmpiSplitKey (const void *a_, const void *b_)
const ampiCommStructuniverseComm2CommStruct (MPI_Comm universeNo)
static AmpiRequestListgetReqs (void)
int MPI_null_copy_fn (MPI_Comm comm, int keyval, void *extra_state, void *attr_in, void *attr_out, int *flag)
int MPI_dup_fn (MPI_Comm comm, int keyval, void *extra_state, void *attr_in, void *attr_out, int *flag)
int MPI_null_delete_fn (MPI_Comm comm, int keyval, void *attr, void *extra_state)
ampiParentgetAmpiParent (void)
ampigetAmpiInstance (MPI_Comm comm)
void checkComm (MPI_Comm comm)
void checkRequest (MPI_Request req)
void checkRequests (int n, MPI_Request *reqs)
CDECL void AMPI_Migrate (void)
CDECL void AMPI_Evacuate (void)
CDECL void AMPI_Migrateto (int destPE)
CDECL void AMPI_MigrateTo (int destPE)
CDECL void AMPI_Async_Migrate (void)
CDECL void AMPI_Allow_Migrate (void)
CDECL void AMPI_Setmigratable (MPI_Comm comm, int mig)
CDECL int AMPI_Init (int *p_argc, char ***p_argv)
CDECL int AMPI_Initialized (int *isInit)
CDECL int AMPI_Finalized (int *isFinalized)
CDECL int AMPI_Comm_rank (MPI_Comm comm, int *rank)
CDECL int AMPI_Comm_size (MPI_Comm comm, int *size)
CDECL int AMPI_Comm_compare (MPI_Comm comm1, MPI_Comm comm2, int *result)
CDECL void AMPI_Exit (int)
FDECL void FTN_NAME (MPI_EXIT, mpi_exit)
CDECL int AMPI_Finalize (void)
CDECL int AMPI_Send (void *msg, int count, MPI_Datatype type, int dest, int tag, MPI_Comm comm)
CDECL int AMPI_Ssend (void *msg, int count, MPI_Datatype type, int dest, int tag, MPI_Comm comm)
CDECL int AMPI_Issend (void *buf, int count, MPI_Datatype type, int dest, int tag, MPI_Comm comm, MPI_Request *request)
CDECL int AMPI_Recv (void *msg, int count, MPI_Datatype type, int src, int tag, MPI_Comm comm, MPI_Status *status)
CDECL int AMPI_Probe (int src, int tag, MPI_Comm comm, MPI_Status *status)
CDECL int AMPI_Iprobe (int src, int tag, MPI_Comm comm, int *flag, MPI_Status *status)
CDECL int AMPI_Sendrecv (void *sbuf, int scount, int stype, int dest, int stag, void *rbuf, int rcount, int rtype, int src, int rtag, MPI_Comm comm, MPI_Status *sts)
CDECL int AMPI_Sendrecv_replace (void *buf, int count, MPI_Datatype datatype, int dest, int sendtag, int source, int recvtag, MPI_Comm comm, MPI_Status *status)
CDECL int AMPI_Barrier (MPI_Comm comm)
CDECL int AMPI_Bcast (void *buf, int count, MPI_Datatype type, int root, MPI_Comm comm)
static CkReductionMsg * makeRednMsg (CkDDT_DataType *ddt, const void *inbuf, int count, int type, MPI_Op op)
static int copyDatatype (MPI_Comm comm, MPI_Datatype type, int count, const void *inbuf, void *outbuf)
static void handle_MPI_IN_PLACE (void *&inbuf, void *&outbuf)
CDECL int AMPI_Reduce (void *inbuf, void *outbuf, int count, int type, MPI_Op op, int root, MPI_Comm comm)
CDECL int AMPI_Allreduce (void *inbuf, void *outbuf, int count, int type, MPI_Op op, MPI_Comm comm)
CDECL int AMPI_Iallreduce (void *inbuf, void *outbuf, int count, int type, MPI_Op op, MPI_Comm comm, MPI_Request *request)
CDECL int AMPI_Reduce_scatter (void *sendbuf, void *recvbuf, int *recvcounts, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
void applyOp (MPI_Datatype datatype, MPI_Op op, int count, void *invec, void *inoutvec)
CDECL int AMPI_Scan (void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
CDECL int AMPI_Op_create (MPI_User_function *function, int commute, MPI_Op *op)
CDECL int AMPI_Op_free (MPI_Op *op)
CDECL double AMPI_Wtime (void)
CDECL double AMPI_Wtick (void)
CDECL int AMPI_Start (MPI_Request *request)
CDECL int AMPI_Startall (int count, MPI_Request *requests)
int areInactiveReqs (int count, MPI_Request *reqs)
int matchReq (MPI_Request ia, MPI_Request ib)
void swapInt (int &a, int &b)
void sortedIndex (int n, int *arr, int *idx)
CkVec< CkVec< int > > * vecIndex (int count, int *arr)
void vecPrint (CkVec< CkVec< int > > vec, int *arr)
CDECL int AMPI_Wait (MPI_Request *request, MPI_Status *sts)
CDECL int AMPI_Waitall (int count, MPI_Request request[], MPI_Status sts[])
CDECL int AMPI_Waitany (int count, MPI_Request *request, int *idx, MPI_Status *sts)
CDECL int AMPI_Waitsome (int incount, MPI_Request *array_of_requests, int *outcount, int *array_of_indices, MPI_Status *array_of_statuses)
CDECL int AMPI_Test (MPI_Request *request, int *flag, MPI_Status *sts)
CDECL int AMPI_Testany (int count, MPI_Request *request, int *index, int *flag, MPI_Status *sts)
CDECL int AMPI_Testall (int count, MPI_Request *request, int *flag, MPI_Status *sts)
CDECL int AMPI_Testsome (int incount, MPI_Request *array_of_requests, int *outcount, int *array_of_indices, MPI_Status *array_of_statuses)
CDECL int AMPI_Request_free (MPI_Request *request)
CDECL int AMPI_Cancel (MPI_Request *request)
CDECL int AMPI_Test_cancelled (MPI_Status *status, int *flag)
CDECL int AMPI_Recv_init (void *buf, int count, int type, int src, int tag, MPI_Comm comm, MPI_Request *req)
CDECL int AMPI_Send_init (void *buf, int count, int type, int dest, int tag, MPI_Comm comm, MPI_Request *req)
CDECL int AMPI_Ssend_init (void *buf, int count, int type, int dest, int tag, MPI_Comm comm, MPI_Request *req)
CDECL int AMPI_Type_contiguous (int count, MPI_Datatype oldtype, MPI_Datatype *newtype)
CDECL int AMPI_Type_vector (int count, int blocklength, int stride, MPI_Datatype oldtype, MPI_Datatype *newtype)
CDECL int AMPI_Type_hvector (int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype *newtype)
CDECL int AMPI_Type_indexed (int count, int *arrBlength, int *arrDisp, MPI_Datatype oldtype, MPI_Datatype *newtype)
CDECL int AMPI_Type_hindexed (int count, int *arrBlength, MPI_Aint *arrDisp, MPI_Datatype oldtype, MPI_Datatype *newtype)
CDECL int AMPI_Type_struct (int count, int *arrBlength, int *arrDisp, MPI_Datatype *oldtype, MPI_Datatype *newtype)
CDECL int AMPI_Type_commit (MPI_Datatype *datatype)
CDECL int AMPI_Type_free (MPI_Datatype *datatype)
CDECL int AMPI_Type_extent (MPI_Datatype datatype, MPI_Aint *extent)
CDECL int AMPI_Type_size (MPI_Datatype datatype, int *size)
CDECL int AMPI_Isend (void *buf, int count, MPI_Datatype type, int dest, int tag, MPI_Comm comm, MPI_Request *request)
CDECL int AMPI_Irecv (void *buf, int count, MPI_Datatype type, int src, int tag, MPI_Comm comm, MPI_Request *request)
CDECL int AMPI_Ireduce (void *sendbuf, void *recvbuf, int count, int type, MPI_Op op, int root, MPI_Comm comm, MPI_Request *request)
CDECL int AMPI_Allgather (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm)
CDECL int AMPI_Iallgather (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request)
CDECL int AMPI_Allgatherv (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, MPI_Comm comm)
CDECL int AMPI_Gather (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
CDECL int AMPI_Gatherv (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm)
CDECL int AMPI_Scatter (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
CDECL int AMPI_Scatterv (void *sendbuf, int *sendcounts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
CDECL int AMPI_Alltoall (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm)
CDECL int AMPI_Alltoall2 (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm)
CDECL int AMPI_Ialltoall (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request)
CDECL int AMPI_Alltoallv (void *sendbuf, int *sendcounts_, int *sdispls_, MPI_Datatype sendtype, void *recvbuf, int *recvcounts_, int *rdispls_, MPI_Datatype recvtype, MPI_Comm comm)
CDECL int AMPI_Comm_dup (int comm, int *newcomm)
CDECL int AMPI_Comm_split (int src, int color, int key, int *dest)
CDECL int AMPI_Comm_free (int *comm)
CDECL int AMPI_Comm_test_inter (MPI_Comm comm, int *flag)
CDECL int AMPI_Comm_remote_size (MPI_Comm comm, int *size)
CDECL int AMPI_Comm_remote_group (MPI_Comm comm, MPI_Group *group)
CDECL int AMPI_Intercomm_create (MPI_Comm lcomm, int lleader, MPI_Comm rcomm, int rleader, int tag, MPI_Comm *newintercomm)
CDECL int AMPI_Intercomm_merge (MPI_Comm intercomm, int high, MPI_Comm *newintracomm)
CDECL int AMPI_Abort (int comm, int errorcode)
CDECL int AMPI_Get_count (MPI_Status *sts, MPI_Datatype dtype, int *count)
CDECL int AMPI_Type_lb (MPI_Datatype dtype, MPI_Aint *displacement)
CDECL int AMPI_Type_ub (MPI_Datatype dtype, MPI_Aint *displacement)
CDECL int AMPI_Address (void *location, MPI_Aint *address)
CDECL int AMPI_Get_elements (MPI_Status *sts, MPI_Datatype dtype, int *count)
CDECL int AMPI_Pack (void *inbuf, int incount, MPI_Datatype dtype, void *outbuf, int outsize, int *position, MPI_Comm comm)
CDECL int AMPI_Unpack (void *inbuf, int insize, int *position, void *outbuf, int outcount, MPI_Datatype dtype, MPI_Comm comm)
CDECL int AMPI_Pack_size (int incount, MPI_Datatype datatype, MPI_Comm comm, int *sz)
CDECL int AMPI_Get_processor_name (char *name, int *resultlen)
void error_handler (MPI_Comm *, int *,...)
void error_handler (MPI_Comm *, int *)
CDECL int AMPI_Errhandler_create (MPI_Handler_function *function, MPI_Errhandler *errhandler)
CDECL int AMPI_Errhandler_set (MPI_Comm comm, MPI_Errhandler errhandler)
CDECL int AMPI_Errhandler_get (MPI_Comm comm, MPI_Errhandler *errhandler)
CDECL int AMPI_Errhandler_free (MPI_Errhandler *errhandler)
CDECL int AMPI_Error_class (int errorcode, int *errorclass)
CDECL int AMPI_Error_string (int errorcode, char *string, int *resultlen)
CDECL int AMPI_Comm_group (MPI_Comm comm, MPI_Group *group)
CDECL int AMPI_Group_union (MPI_Group group1, MPI_Group group2, MPI_Group *newgroup)
CDECL int AMPI_Group_intersection (MPI_Group group1, MPI_Group group2, MPI_Group *newgroup)
CDECL int AMPI_Group_difference (MPI_Group group1, MPI_Group group2, MPI_Group *newgroup)
CDECL int AMPI_Group_size (MPI_Group group, int *size)
CDECL int AMPI_Group_rank (MPI_Group group, int *rank)
CDECL int AMPI_Group_translate_ranks (MPI_Group group1, int n, int *ranks1, MPI_Group group2, int *ranks2)
CDECL int AMPI_Group_compare (MPI_Group group1, MPI_Group group2, int *result)
CDECL int AMPI_Group_incl (MPI_Group group, int n, int *ranks, MPI_Group *newgroup)
CDECL int AMPI_Group_excl (MPI_Group group, int n, int *ranks, MPI_Group *newgroup)
CDECL int AMPI_Group_range_incl (MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup)
CDECL int AMPI_Group_range_excl (MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup)
CDECL int AMPI_Group_free (MPI_Group *group)
CDECL int AMPI_Comm_create (MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm)
CDECL void AMPI_Checkpoint (char *dname)
CDECL void AMPI_MemCheckpoint ()
CDECL void AMPI_Print (char *str)
CDECL int AMPI_Register (void *d, MPI_PupFn f)
CDECL void * MPI_Get_userdata (int idx)
CDECL void AMPI_Start_measure ()
CDECL void AMPI_Stop_measure ()
CDECL void AMPI_Set_load (double load)
CDECL void AMPI_Register_main (MPI_MainFn mainFn, const char *name)
FDECL void FTN_NAME (MPI_REGISTER_MAIN, mpi_register_main)
CDECL int AMPI_Keyval_create (MPI_Copy_function *copy_fn, MPI_Delete_function *delete_fn, int *keyval, void *extra_state)
CDECL int AMPI_Keyval_free (int *keyval)
CDECL int AMPI_Attr_put (MPI_Comm comm, int keyval, void *attribute_val)
CDECL int AMPI_Attr_get (MPI_Comm comm, int keyval, void *attribute_val, int *flag)
CDECL int AMPI_Attr_delete (MPI_Comm comm, int keyval)
CDECL int AMPI_Cart_map (MPI_Comm comm, int ndims, int *dims, int *periods, int *newrank)
CDECL int AMPI_Graph_map (MPI_Comm comm, int nnodes, int *index, int *edges, int *newrank)
CDECL int AMPI_Cart_create (MPI_Comm comm_old, int ndims, int *dims, int *periods, int reorder, MPI_Comm *comm_cart)
CDECL int AMPI_Graph_create (MPI_Comm comm_old, int nnodes, int *index, int *edges, int reorder, MPI_Comm *comm_graph)
CDECL int AMPI_Topo_test (MPI_Comm comm, int *status)
CDECL int AMPI_Cartdim_get (MPI_Comm comm, int *ndims)
CDECL int AMPI_Cart_get (MPI_Comm comm, int maxdims, int *dims, int *periods, int *coords)
CDECL int AMPI_Cart_rank (MPI_Comm comm, int *coords, int *rank)
CDECL int AMPI_Cart_coords (MPI_Comm comm, int rank, int maxdims, int *coords)
static void cart_clamp_coord (MPI_Comm comm, const CkVec< int > &dims, const CkVec< int > &periodicity, int *coords, int direction, int displacement, int *rank_out)
CDECL int AMPI_Cart_shift (MPI_Comm comm, int direction, int disp, int *rank_source, int *rank_dest)
CDECL int AMPI_Graphdims_get (MPI_Comm comm, int *nnodes, int *nedges)
CDECL int AMPI_Graph_get (MPI_Comm comm, int maxindex, int maxedges, int *index, int *edges)
CDECL int AMPI_Graph_neighbors_count (MPI_Comm comm, int rank, int *nneighbors)
CDECL int AMPI_Graph_neighbors (MPI_Comm comm, int rank, int maxneighbors, int *neighbors)
int integerRoot (int n, int d)
 Return the integer "d'th root of n"-- the largest integer r such that r^d <= n.
bool factors (int n, int d, int *dims, int m)
 Factorize "n" into "d" factors, stored in "dims[0..d-1]".
CDECL int AMPI_Dims_create (int nnodes, int ndims, int *dims)
CDECL int AMPI_Cart_sub (MPI_Comm comm, int *remain_dims, MPI_Comm *newcomm)
void _registerampif (void)
void AMPI_Datatype_iscontig (MPI_Datatype datatype, int *flag)
CDECL int AMPI_Type_get_envelope (MPI_Datatype datatype, int *ni, int *na, int *nd, int *combiner)
CDECL int AMPI_Type_get_contents (MPI_Datatype datatype, int ni, int na, int nd, int i[], MPI_Aint a[], MPI_Datatype d[])
CDECL int AMPI_Suspend (int comm)
CDECL int AMPI_Yield (int comm)
CDECL int AMPI_Resume (int dest, int comm)
CDECL int AMPI_System (const char *cmd)
void startCFnCall (void *param, void *msg)
CDECL int AMPI_Set_startevent (MPI_Comm comm)
void enqueue (workRequestQueue *q, workRequest *wr)
void setWRCallback (workRequest *wr, void *cb)
void AMPI_GPU_complete (void *request, void *dummy)
CDECL int AMPI_GPU_Iinvoke (workRequest *to_call, MPI_Request *request)
CDECL int AMPI_GPU_Invoke (workRequest *to_call)

Variables

static mpi_comm_worlds mpi_worlds
int _mpi_nworlds
int MPI_COMM_UNIVERSE [MPI_MAX_COMM_WORLDS]
CkReduction::reducerType AmpiReducer
int _ampi_fallback_setup_count
static int nodeinit_has_been_called = 0
static int enableStreaming = 0
static int AMPI_threadstart_idx = -1
static double totalidle = 0.0
static double startT = 0.0
static int beginHandle
static int endHandle
static CProxy_ampiWorlds ampiWorldsGroup
const int MPI_BCAST_COMM = MPI_COMM_WORLD+1000
const int MPI_REDUCE_SOURCE = 0
 This routine is called with the results of a Reduce or AllReduce.
const int MPI_REDUCE_COMM = MPI_COMM_WORLD
workRequestQueue * wrQueue


Typedef Documentation

typedef MPI_Op MPI_Op_Array[128]

Definition at line 571 of file ampi.C.


Function Documentation

static CkDDT* getDDT ( void   )  [static]

int checkCommunicator ( MPI_Comm  comm  )  [inline]

int checkCount ( int  count  )  [inline]

Definition at line 36 of file ampi.C.

References MPI_ERR_COUNT, and MPI_SUCCESS.

Referenced by errorCheck().

int checkData ( MPI_Datatype  data  )  [inline]

Definition at line 42 of file ampi.C.

References MPI_DATATYPE_NULL, MPI_ERR_TYPE, and MPI_SUCCESS.

Referenced by errorCheck().

int checkTag ( int  tag  )  [inline]

Definition at line 48 of file ampi.C.

References MPI_ANY_TAG, MPI_ERR_TAG, and MPI_SUCCESS.

Referenced by errorCheck().

int checkRank ( int  rank,
MPI_Comm  comm 
) [inline]

Definition at line 54 of file ampi.C.

References AMPI_Comm_size(), MPI_ANY_SOURCE, MPI_ERR_RANK, MPI_PROC_NULL, MPI_SUCCESS, and size.

Referenced by errorCheck().

int checkBuf ( void *  buf,
int  count 
) [inline]

Definition at line 63 of file ampi.C.

References MPI_ERR_BUFFER, and MPI_SUCCESS.

Referenced by errorCheck().

int errorCheck ( MPI_Comm  comm,
int  ifComm,
int  count,
int  ifCount,
MPI_Datatype  data,
int  ifData,
int  tag,
int  ifTag,
int  rank,
int  ifRank,
void *  buf1,
int  ifBuf1,
void *  buf2 = 0,
int  ifBuf2 = 0 
) [inline]

void MPI_MAX ( void *  invec,
void *  inoutvec,
int len,
MPI_Datatype datatype 
)

Definition at line 179 of file ampi.C.

References MPI_MAX.

void MPI_MIN ( void *  invec,
void *  inoutvec,
int len,
MPI_Datatype datatype 
)

Definition at line 186 of file ampi.C.

References MPI_MIN.

void MPI_SUM ( void *  invec,
void *  inoutvec,
int len,
MPI_Datatype datatype 
)

Definition at line 193 of file ampi.C.

References MPI_SUM.

void MPI_PROD ( void *  invec,
void *  inoutvec,
int len,
MPI_Datatype datatype 
)

Definition at line 200 of file ampi.C.

References MPI_PROD.

void MPI_LAND ( void *  invec,
void *  inoutvec,
int len,
MPI_Datatype datatype 
)

Definition at line 207 of file ampi.C.

References ckerr, CmiAbort(), endl(), MPI_INT, and MPI_LOGICAL.

void MPI_BAND ( void *  invec,
void *  inoutvec,
int len,
MPI_Datatype datatype 
)

Definition at line 220 of file ampi.C.

References ckerr, CmiAbort(), endl(), MPI_BYTE, and MPI_INT.

void MPI_LOR ( void *  invec,
void *  inoutvec,
int len,
MPI_Datatype datatype 
)

Definition at line 236 of file ampi.C.

References ckerr, CmiAbort(), endl(), MPI_INT, and MPI_LOGICAL.

void MPI_BOR ( void *  invec,
void *  inoutvec,
int len,
MPI_Datatype datatype 
)

Definition at line 249 of file ampi.C.

References ckerr, CmiAbort(), endl(), MPI_BYTE, and MPI_INT.

void MPI_LXOR ( void *  invec,
void *  inoutvec,
int len,
MPI_Datatype datatype 
)

Definition at line 265 of file ampi.C.

References ckerr, CmiAbort(), endl(), MPI_INT, and MPI_LOGICAL.

void MPI_BXOR ( void *  invec,
void *  inoutvec,
int len,
MPI_Datatype datatype 
)

Definition at line 278 of file ampi.C.

References ckerr, CmiAbort(), endl(), MPI_BYTE, MPI_INT, and MPI_UNSIGNED.

void MPI_MAXLOC ( void *  invec,
void *  inoutvec,
int len,
MPI_Datatype datatype 
)

void MPI_MINLOC ( void *  invec,
void *  inoutvec,
int len,
MPI_Datatype datatype 
)

CkReductionMsg* AmpiReducerFunc ( int  nMsg,
CkReductionMsg **  msgs 
)

Definition at line 436 of file ampi.C.

References free(), and malloc().

Referenced by ampiNodeInit().

CDECL void AMPI_Setup ( void   ) 

Definition at line 6 of file compat_ampius.C.

Referenced by AMPI_Setup_Switch().

FDECL void FTN_NAME ( AMPI_SETUP  ,
ampi_setup   
)

Definition at line 478 of file ampi.C.

References AMPI_Main(), AMPI_Main_cpp(), and FTN_NAME().

void ampiCreateMain ( MPI_MainFn  mainFn,
const char *  name,
int  nameLen 
)

CDECL void AMPI_Setup_Switch ( void   ) 

Definition at line 494 of file ampi.C.

References AMPI_Setup(), ampiCreateMain(), and FTN_NAME().

Referenced by ampiNodeInit().

CtvDeclare ( ampiParent ,
ampiPtr   
)

CtvDeclare ( int  ,
ampiInitDone   
)

CtvDeclare ( void *  ,
stackBottom   
)

CtvDeclare ( int  ,
ampiFinalized   
)

CkpvDeclare ( Builtin_kvs  ,
bikvs   
)

CkpvDeclare ( int  ,
argvExtracted   
)

CDECL long ampiCurrentStackUsage (  ) 

Definition at line 513 of file ampi.C.

Referenced by FTN_NAME().

FDECL void FTN_NAME ( AMPICURRENTSTACKUSAGE  ,
ampicurrentstackusage   
)

Definition at line 527 of file ampi.C.

References ampiCurrentStackUsage(), and Converse::CkMyPe().

CDECL void AMPI_threadstart ( void *  data  ) 

Referenced by ampiNodeInit().

static void ampiNodeInit ( void   )  [static]

static void BeginIdle ( void *  dummy,
double  curWallTime 
) [static]

Definition at line 560 of file ampi.C.

References startT.

Referenced by AMPI_Install_Idle_Timer().

static void EndIdle ( void *  dummy,
double  curWallTime 
) [static]

Definition at line 564 of file ampi.C.

References startT.

Referenced by AMPI_Install_Idle_Timer().

CtvDeclare ( int  ,
mpi_opc   
)

CtvDeclare ( MPI_Op_Array  ,
mpi_ops   
)

static void ampiProcInit ( void   )  [static]

static int record_msglog ( int  rank  )  [inline, static]

void AMPI_Install_Idle_Timer (  ) 

Definition at line 630 of file ampi.C.

References BeginIdle(), CcdCallOnConditionKeep(), and EndIdle().

void AMPI_Uninstall_Idle_Timer (  ) 

Definition at line 637 of file ampi.C.

References CcdCancelCallOnConditionKeep().

PUPfunctionpointer ( MPI_MainFn   ) 

Definition at line 644 of file ampi.C.

References CkGetArgc(), CkGetArgv(), CmiCopyArgs(), and p.

PUPmarshall ( MPI_threadstart_t   ) 

Definition at line 670 of file ampi.C.

References CthSelf(), CthTraceResume(), and pupFromBuf().

static void init_operations (  )  [static]

Definition at line 700 of file ampi.C.

References MPI_BAND, MPI_BOR, MPI_BXOR, MPI_LAND, MPI_LOR, MPI_LXOR, MPI_MAX, MPI_MAXLOC, MPI_MIN, MPI_MINLOC, MPI_PROD, and MPI_SUM.

Referenced by ampiInit().

static ampi* ampiInit ( char **  argv  )  [static]

static void checkpointClient ( void *  param,
void *  msg 
) [static]

static void cmm_pup_ampi_message ( pup_er  p,
void **  msg 
) [static]

Definition at line 1342 of file ampi.C.

References CkPupMessage(), and pup_isDeleting().

Referenced by ampi::pup().

static void cmm_pup_posted_ireq ( pup_er  p,
void **  msg 
) [static]

Definition at line 1348 of file ampi.C.

Referenced by ampi::pup().

CDECL int compareAmpiSplitKey ( const void *  a_,
const void *  b_ 
)

Definition at line 1479 of file ampi.C.

References ampiSplitKey::color, ampiSplitKey::key, and ampiSplitKey::rank.

Referenced by ampi::splitPhase1().

const ampiCommStruct& universeComm2CommStruct ( MPI_Comm  universeNo  ) 

Definition at line 1791 of file ampi.C.

References MPI_COMM_WORLD.

Referenced by ampiParent::comm2CommStruct().

static AmpiRequestList * getReqs ( void   )  [inline, static]

int MPI_null_copy_fn ( MPI_Comm  comm,
int  keyval,
void *  extra_state,
void *  attr_in,
void *  attr_out,
int flag 
)

Definition at line 2234 of file ampi.C.

References MPI_SUCCESS.

int MPI_dup_fn ( MPI_Comm  comm,
int  keyval,
void *  extra_state,
void *  attr_in,
void *  attr_out,
int flag 
)

Definition at line 2239 of file ampi.C.

References MPI_SUCCESS.

int MPI_null_delete_fn ( MPI_Comm  comm,
int  keyval,
void *  attr,
void *  extra_state 
)

Definition at line 2245 of file ampi.C.

References MPI_SUCCESS.

ampiParent* getAmpiParent ( void   ) 

Definition at line 2365 of file ampi.C.

References p.

Referenced by AMPI_Accumulate(), AMPI_Allgather(), AMPI_Allgatherv(), AMPI_Allreduce(), AMPI_Alltoall(), AMPI_Alltoall2(), AMPI_Alltoallv(), AMPI_Attr_delete(), AMPI_Attr_get(), AMPI_Attr_put(), AMPI_Barrier(), AMPI_Bcast(), AMPI_Cart_coords(), AMPI_Cart_create(), AMPI_Cart_get(), AMPI_Cart_rank(), AMPI_Cart_shift(), AMPI_Cart_sub(), AMPI_Cartdim_get(), AMPI_Checkpoint(), AMPI_Comm_create(), AMPI_Comm_group(), AMPI_Comm_rank(), AMPI_Comm_remote_group(), AMPI_Comm_remote_size(), AMPI_Comm_size(), AMPI_Comm_split(), AMPI_Comm_test_inter(), AMPI_Finalize(), AMPI_Gather(), AMPI_Gatherv(), AMPI_Get(), AMPI_Get_processor_name(), AMPI_Graph_create(), AMPI_Graph_get(), AMPI_Graph_neighbors(), AMPI_Graph_neighbors_count(), AMPI_Graphdims_get(), AMPI_Group_compare(), AMPI_Group_difference(), AMPI_Group_excl(), AMPI_Group_incl(), AMPI_Group_intersection(), AMPI_Group_range_excl(), AMPI_Group_range_incl(), AMPI_Group_rank(), AMPI_Group_size(), AMPI_Group_translate_ranks(), AMPI_Group_union(), AMPI_Iallgather(), AMPI_Iallreduce(), AMPI_Ialltoall(), AMPI_IGet(), AMPI_IGet_Free(), AMPI_IGet_Wait(), AMPI_Info_create(), AMPI_Info_delete(), AMPI_Info_dup(), AMPI_Info_free(), AMPI_Info_get(), AMPI_Info_get_nkeys(), AMPI_Info_get_nthkey(), AMPI_Info_get_valuelen(), AMPI_Info_set(), AMPI_Irecv(), AMPI_Isend(), AMPI_Issend(), AMPI_Keyval_create(), AMPI_Keyval_free(), AMPI_MemCheckpoint(), AMPI_Print(), AMPI_Put(), AMPI_Recv(), AMPI_Reduce(), AMPI_Reduce_scatter(), AMPI_Scan(), AMPI_Scatter(), AMPI_Scatterv(), AMPI_Send(), AMPI_Set_load(), AMPI_Ssend(), AMPI_Start_measure(), AMPI_Stop_measure(), AMPI_Topo_test(), AMPI_Wait(), AMPI_Waitall(), AMPI_Win_fence(), AMPI_Win_free(), AMPI_Win_get_group(), AMPI_Win_get_name(), AMPI_Win_lock(), AMPI_Win_post(), AMPI_Win_set_name(), AMPI_Win_start(), AMPI_Win_unlock(), AMPI_Wtime(), ampiInit(), checkComm(), getAmpiInstance(), getDDT(), and getReqs().

ampi* getAmpiInstance ( MPI_Comm  comm  ) 

Definition at line 2373 of file ampi.C.

References ampiParent::comm2ampi(), getAmpiParent(), and ptr.

Referenced by AMPI_Accumulate(), AMPI_Allgather(), AMPI_Allgatherv(), AMPI_Allreduce(), AMPI_Alltoall(), AMPI_Alltoall2(), AMPI_Alltoallv(), AMPI_Bcast(), ampi_beginFunc(), AMPI_Cart_create(), AMPI_Cart_sub(), AMPI_Comm_compare(), AMPI_Comm_create(), AMPI_Comm_rank(), AMPI_Comm_size(), AMPI_Comm_split(), ampi_endFunc(), AMPI_Finalize(), AMPI_Gather(), AMPI_Gatherv(), AMPI_Get(), AMPI_Graph_create(), AMPI_Iallgather(), AMPI_Iallreduce(), AMPI_Ialltoall(), AMPI_IGet(), AMPI_IGet_Free(), AMPI_IGet_Wait(), AMPI_Intercomm_create(), AMPI_Intercomm_merge(), AMPI_Iprobe(), AMPI_Irecv(), AMPI_Ireduce(), AMPI_Isend(), AMPI_Issend(), AMPI_Migrate(), AMPI_Probe(), AMPI_Put(), AMPI_Recv(), AMPI_Reduce(), AMPI_Reduce_scatter(), AMPI_Resume(), AMPI_Scan(), AMPI_Scatter(), AMPI_Scatterv(), AMPI_Send(), AMPI_Set_startevent(), AMPI_Setmigratable(), AMPI_Ssend(), AMPI_Suspend(), AMPI_Win_create(), AMPI_Win_fence(), AMPI_Win_free(), AMPI_Win_get_group(), AMPI_Win_get_name(), AMPI_Win_lock(), AMPI_Win_post(), AMPI_Win_set_name(), AMPI_Win_start(), AMPI_Win_unlock(), AMPI_Yield(), ATAReq::complete(), PersReq::complete(), copyDatatype(), GPUReq::GPUReq(), MPI_Pack_size(), MPID_Datatype_get_extent_macro(), MPID_Datatype_get_size_macro(), ampi::recv(), ampi::send(), PersReq::start(), ATAReq::test(), SReq::test(), IReq::test(), PersReq::test(), GPUReq::wait(), SReq::wait(), ATAReq::wait(), IReq::wait(), and PersReq::wait().

void checkComm ( MPI_Comm  comm  )  [inline]

Definition at line 2385 of file ampi.C.

References ampiParent::checkComm(), and getAmpiParent().

void checkRequest ( MPI_Request  req  )  [inline]

void checkRequests ( int  n,
MPI_Request reqs 
) [inline]

CDECL void AMPI_Migrate ( void   ) 

Definition at line 2405 of file ampi.C.

References getAmpiInstance(), MPI_COMM_WORLD, and TCHARM_Migrate().

CDECL void AMPI_Evacuate ( void   ) 

Definition at line 2427 of file ampi.C.

References TCHARM_Evacuate().

CDECL void AMPI_Migrateto ( int  destPE  ) 

Definition at line 2434 of file ampi.C.

References TCHARM_Migrate_to().

Referenced by AMPI_MigrateTo().

CDECL void AMPI_MigrateTo ( int  destPE  ) 

Definition at line 2449 of file ampi.C.

References AMPI_Migrateto().

CDECL void AMPI_Async_Migrate ( void   ) 

Definition at line 2454 of file ampi.C.

References TCHARM_Async_Migrate().

CDECL void AMPI_Allow_Migrate ( void   ) 

Definition at line 2469 of file ampi.C.

References TCHARM_Allow_Migrate().

CDECL void AMPI_Setmigratable ( MPI_Comm  comm,
int  mig 
)

Definition at line 2483 of file ampi.C.

References getAmpiInstance(), ptr, and ampi::setMigratable().

CDECL int AMPI_Init ( int p_argc,
char ***  p_argv 
)

Definition at line 2493 of file ampi.C.

References ampiInit(), CkGetArgv(), and CmiGetArgc().

CDECL int AMPI_Initialized ( int isInit  ) 

Definition at line 2512 of file ampi.C.

CDECL int AMPI_Finalized ( int isFinalized  ) 

Definition at line 2524 of file ampi.C.

CDECL int AMPI_Comm_rank ( MPI_Comm  comm,
int rank 
)

CDECL int AMPI_Comm_size ( MPI_Comm  comm,
int size 
)

CDECL int AMPI_Comm_compare ( MPI_Comm  comm1,
MPI_Comm  comm2,
int result 
)

CDECL void AMPI_Exit ( int   ) 

Definition at line 2615 of file ampi.C.

References TCHARM_Done().

Referenced by AMPI_Finalize(), and FTN_NAME().

FDECL void FTN_NAME ( MPI_EXIT  ,
mpi_exit   
)

Definition at line 2621 of file ampi.C.

References AMPI_Exit().

CDECL int AMPI_Finalize ( void   ) 

CDECL int AMPI_Send ( void *  msg,
int  count,
MPI_Datatype  type,
int  dest,
int  tag,
MPI_Comm  comm 
)

CDECL int AMPI_Ssend ( void *  msg,
int  count,
MPI_Datatype  type,
int  dest,
int  tag,
MPI_Comm  comm 
)

CDECL int AMPI_Issend ( void *  buf,
int  count,
MPI_Datatype  type,
int  dest,
int  tag,
MPI_Comm  comm,
MPI_Request request 
)

CDECL int AMPI_Recv ( void *  msg,
int  count,
MPI_Datatype  type,
int  src,
int  tag,
MPI_Comm  comm,
MPI_Status status 
)

CDECL int AMPI_Probe ( int  src,
int  tag,
MPI_Comm  comm,
MPI_Status status 
)

Definition at line 2809 of file ampi.C.

References errorCheck(), getAmpiInstance(), MPI_SUCCESS, ampi::probe(), and ptr.

CDECL int AMPI_Iprobe ( int  src,
int  tag,
MPI_Comm  comm,
int flag,
MPI_Status status 
)

Definition at line 2826 of file ampi.C.

References errorCheck(), getAmpiInstance(), ampi::iprobe(), MPI_SUCCESS, and ptr.

CDECL int AMPI_Sendrecv ( void *  sbuf,
int  scount,
int  stype,
int  dest,
int  stag,
void *  rbuf,
int  rcount,
int  rtype,
int  src,
int  rtag,
MPI_Comm  comm,
MPI_Status sts 
)

CDECL int AMPI_Sendrecv_replace ( void *  buf,
int  count,
MPI_Datatype  datatype,
int  dest,
int  sendtag,
int  source,
int  recvtag,
MPI_Comm  comm,
MPI_Status status 
)

Definition at line 2869 of file ampi.C.

References AMPI_Sendrecv().

CDECL int AMPI_Barrier ( MPI_Comm  comm  ) 

CDECL int AMPI_Bcast ( void *  buf,
int  count,
MPI_Datatype  type,
int  root,
MPI_Comm  comm 
)

static CkReductionMsg* makeRednMsg ( CkDDT_DataType *  ddt,
const void *  inbuf,
int  count,
int  type,
MPI_Op  op 
) [static]

static int copyDatatype ( MPI_Comm  comm,
MPI_Datatype  type,
int  count,
const void *  inbuf,
void *  outbuf 
) [static]

static void handle_MPI_IN_PLACE ( void *&  inbuf,
void *&  outbuf 
) [static]

CDECL int AMPI_Reduce ( void *  inbuf,
void *  outbuf,
int  count,
int  type,
MPI_Op  op,
int  root,
MPI_Comm  comm 
)

CDECL int AMPI_Allreduce ( void *  inbuf,
void *  outbuf,
int  count,
int  type,
MPI_Op  op,
MPI_Comm  comm 
)

CDECL int AMPI_Iallreduce ( void *  inbuf,
void *  outbuf,
int  count,
int  type,
MPI_Op  op,
MPI_Comm  comm,
MPI_Request request 
)

CDECL int AMPI_Reduce_scatter ( void *  sendbuf,
void *  recvbuf,
int recvcounts,
MPI_Datatype  datatype,
MPI_Op  op,
MPI_Comm  comm 
)

void applyOp ( MPI_Datatype  datatype,
MPI_Op  op,
int  count,
void *  invec,
void *  inoutvec 
)

Definition at line 3237 of file ampi.C.

Referenced by win_obj::accumulate().

CDECL int AMPI_Scan ( void *  sendbuf,
void *  recvbuf,
int  count,
MPI_Datatype  datatype,
MPI_Op  op,
MPI_Comm  comm 
)

CDECL int AMPI_Op_create ( MPI_User_function function,
int  commute,
MPI_Op op 
)

Definition at line 3293 of file ampi.C.

CDECL int AMPI_Op_free ( MPI_Op op  ) 

Definition at line 3300 of file ampi.C.

References MPI_OP_NULL.

CDECL double AMPI_Wtime ( void   ) 

CDECL double AMPI_Wtick ( void   ) 

Definition at line 3333 of file ampi.C.

CDECL int AMPI_Start ( MPI_Request request  ) 

Definition at line 3348 of file ampi.C.

References checkRequest(), getReqs(), and PersReq::start().

CDECL int AMPI_Startall ( int  count,
MPI_Request requests 
)

Definition at line 3360 of file ampi.C.

References checkRequests(), getReqs(), and PersReq::start().

int areInactiveReqs ( int  count,
MPI_Request reqs 
) [inline]

Definition at line 3377 of file ampi.C.

References MPI_REQUEST_NULL.

Referenced by AMPI_Testany(), AMPI_Testsome(), AMPI_Waitany(), and AMPI_Waitsome().

int matchReq ( MPI_Request  ia,
MPI_Request  ib 
) [inline]

Definition at line 3384 of file ampi.C.

References checkRequest(), AmpiRequest::comm, getReqs(), MPI_REQUEST_NULL, AmpiRequest::src, and AmpiRequest::tag.

Referenced by vecIndex().

void swapInt ( int a,
int b 
) [inline]

Definition at line 3397 of file ampi.C.

Referenced by sortedIndex().

void sortedIndex ( int  n,
int arr,
int idx 
) [inline]

Definition at line 3401 of file ampi.C.

References swapInt().

Referenced by vecIndex().

CkVec<CkVec<int> >* vecIndex ( int  count,
int arr 
)

void vecPrint ( CkVec< CkVec< int > >  vec,
int arr 
)

Definition at line 3438 of file ampi.C.

References printf(), and size.

CDECL int AMPI_Wait ( MPI_Request request,
MPI_Status sts 
)

CDECL int AMPI_Waitall ( int  count,
MPI_Request  request[],
MPI_Status  sts[] 
)

CDECL int AMPI_Waitany ( int  count,
MPI_Request request,
int idx,
MPI_Status sts 
)

CDECL int AMPI_Waitsome ( int  incount,
MPI_Request array_of_requests,
int outcount,
int array_of_indices,
MPI_Status array_of_statuses 
)

CDECL int AMPI_Test ( MPI_Request request,
int flag,
MPI_Status sts 
)

CDECL int AMPI_Testany ( int  count,
MPI_Request request,
int index,
int flag,
MPI_Status sts 
)

CDECL int AMPI_Testall ( int  count,
MPI_Request request,
int flag,
MPI_Status sts 
)

CDECL int AMPI_Testsome ( int  incount,
MPI_Request array_of_requests,
int outcount,
int array_of_indices,
MPI_Status array_of_statuses 
)

CDECL int AMPI_Request_free ( MPI_Request request  ) 

Definition at line 3946 of file ampi.C.

References checkRequest(), AmpiRequestList::free(), getReqs(), and MPI_REQUEST_NULL.

Referenced by AMPI_Cancel().

CDECL int AMPI_Cancel ( MPI_Request request  ) 

Definition at line 3957 of file ampi.C.

References AMPI_Request_free().

CDECL int AMPI_Test_cancelled ( MPI_Status status,
int flag 
)

Definition at line 3963 of file ampi.C.

CDECL int AMPI_Recv_init ( void *  buf,
int  count,
int  type,
int  src,
int  tag,
MPI_Comm  comm,
MPI_Request req 
)

Definition at line 3970 of file ampi.C.

References errorCheck(), getReqs(), AmpiRequestList::insert(), MPI_REQUEST_NULL, and MPI_SUCCESS.

CDECL int AMPI_Send_init ( void *  buf,
int  count,
int  type,
int  dest,
int  tag,
MPI_Comm  comm,
MPI_Request req 
)

Definition at line 3992 of file ampi.C.

References errorCheck(), getReqs(), AmpiRequestList::insert(), MPI_REQUEST_NULL, and MPI_SUCCESS.

CDECL int AMPI_Ssend_init ( void *  buf,
int  count,
int  type,
int  dest,
int  tag,
MPI_Comm  comm,
MPI_Request req 
)

Definition at line 4014 of file ampi.C.

References errorCheck(), getReqs(), AmpiRequestList::insert(), MPI_REQUEST_NULL, and MPI_SUCCESS.

CDECL int AMPI_Type_contiguous ( int  count,
MPI_Datatype  oldtype,
MPI_Datatype newtype 
)

Definition at line 4036 of file ampi.C.

References getDDT().

CDECL int AMPI_Type_vector ( int  count,
int  blocklength,
int  stride,
MPI_Datatype  oldtype,
MPI_Datatype newtype 
)

Definition at line 4045 of file ampi.C.

References getDDT().

CDECL int AMPI_Type_hvector ( int  count,
int  blocklength,
MPI_Aint  stride,
MPI_Datatype  oldtype,
MPI_Datatype newtype 
)

Definition at line 4054 of file ampi.C.

References getDDT().

CDECL int AMPI_Type_indexed ( int  count,
int arrBlength,
int arrDisp,
MPI_Datatype  oldtype,
MPI_Datatype newtype 
)

Definition at line 4063 of file ampi.C.

References getDDT().

CDECL int AMPI_Type_hindexed ( int  count,
int arrBlength,
MPI_Aint arrDisp,
MPI_Datatype  oldtype,
MPI_Datatype newtype 
)

Definition at line 4072 of file ampi.C.

References getDDT().

CDECL int AMPI_Type_struct ( int  count,
int arrBlength,
int arrDisp,
MPI_Datatype oldtype,
MPI_Datatype newtype 
)

Definition at line 4081 of file ampi.C.

References getDDT().

CDECL int AMPI_Type_commit ( MPI_Datatype datatype  ) 

Definition at line 4090 of file ampi.C.

CDECL int AMPI_Type_free ( MPI_Datatype datatype  ) 

Definition at line 4097 of file ampi.C.

References getDDT().

CDECL int AMPI_Type_extent ( MPI_Datatype  datatype,
MPI_Aint extent 
)

Definition at line 4106 of file ampi.C.

References getDDT().

CDECL int AMPI_Type_size ( MPI_Datatype  datatype,
int size 
)

Definition at line 4114 of file ampi.C.

References getDDT().

CDECL int AMPI_Isend ( void *  buf,
int  count,
MPI_Datatype  type,
int  dest,
int  tag,
MPI_Comm  comm,
MPI_Request request 
)

CDECL int AMPI_Irecv ( void *  buf,
int  count,
MPI_Datatype  type,
int  src,
int  tag,
MPI_Comm  comm,
MPI_Request request 
)

CDECL int AMPI_Ireduce ( void *  sendbuf,
void *  recvbuf,
int  count,
int  type,
MPI_Op  op,
int  root,
MPI_Comm  comm,
MPI_Request request 
)

CDECL int AMPI_Allgather ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
MPI_Comm  comm 
)

CDECL int AMPI_Iallgather ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
MPI_Comm  comm,
MPI_Request request 
)

CDECL int AMPI_Allgatherv ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int recvcounts,
int displs,
MPI_Datatype  recvtype,
MPI_Comm  comm 
)

CDECL int AMPI_Gather ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

CDECL int AMPI_Gatherv ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int recvcounts,
int displs,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

CDECL int AMPI_Scatter ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

CDECL int AMPI_Scatterv ( void *  sendbuf,
int sendcounts,
int displs,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

int AMPI_Alltoall ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
MPI_Comm  comm 
)

CDECL int AMPI_Alltoall2 ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
MPI_Comm  comm 
)

CDECL int AMPI_Ialltoall ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
MPI_Comm  comm,
MPI_Request request 
)

CDECL int AMPI_Alltoallv ( void *  sendbuf,
int sendcounts_,
int sdispls_,
MPI_Datatype  sendtype,
void *  recvbuf,
int recvcounts_,
int rdispls_,
MPI_Datatype  recvtype,
MPI_Comm  comm 
)

CDECL int AMPI_Comm_dup ( int  comm,
int newcomm 
)

Definition at line 5214 of file ampi.C.

CDECL int AMPI_Comm_split ( int  src,
int  color,
int  key,
int dest 
)

CDECL int AMPI_Comm_free ( int comm  ) 

Definition at line 5247 of file ampi.C.

CDECL int AMPI_Comm_test_inter ( MPI_Comm  comm,
int flag 
)

Definition at line 5254 of file ampi.C.

References getAmpiParent(), and ampiParent::isInter().

CDECL int AMPI_Comm_remote_size ( MPI_Comm  comm,
int size 
)

Definition at line 5261 of file ampi.C.

References getAmpiParent(), and ampiParent::getRemoteSize().

CDECL int AMPI_Comm_remote_group ( MPI_Comm  comm,
MPI_Group group 
)

Definition at line 5268 of file ampi.C.

References getAmpiParent(), and ampiParent::getRemoteGroup().

CDECL int AMPI_Intercomm_create ( MPI_Comm  lcomm,
int  lleader,
MPI_Comm  rcomm,
int  rleader,
int  tag,
MPI_Comm newintercomm 
)

CDECL int AMPI_Intercomm_merge ( MPI_Comm  intercomm,
int  high,
MPI_Comm newintracomm 
)

CDECL int AMPI_Abort ( int  comm,
int  errorcode 
)

Definition at line 5341 of file ampi.C.

CDECL int AMPI_Get_count ( MPI_Status sts,
MPI_Datatype  dtype,
int count 
)

Definition at line 5349 of file ampi.C.

References getDDT(), and MPI_Status::MPI_LENGTH.

CDECL int AMPI_Type_lb ( MPI_Datatype  dtype,
MPI_Aint displacement 
)

Definition at line 5362 of file ampi.C.

References getDDT().

CDECL int AMPI_Type_ub ( MPI_Datatype  dtype,
MPI_Aint displacement 
)

Definition at line 5369 of file ampi.C.

References getDDT().

CDECL int AMPI_Address ( void *  location,
MPI_Aint address 
)

Definition at line 5376 of file ampi.C.

CDECL int AMPI_Get_elements ( MPI_Status sts,
MPI_Datatype  dtype,
int count 
)

Definition at line 5383 of file ampi.C.

References getDDT(), and MPI_Status::MPI_LENGTH.

CDECL int AMPI_Pack ( void *  inbuf,
int  incount,
MPI_Datatype  dtype,
void *  outbuf,
int  outsize,
int position,
MPI_Comm  comm 
)

Definition at line 5393 of file ampi.C.

References getDDT().

CDECL int AMPI_Unpack ( void *  inbuf,
int  insize,
int position,
void *  outbuf,
int  outcount,
MPI_Datatype  dtype,
MPI_Comm  comm 
)

Definition at line 5405 of file ampi.C.

References getDDT().

CDECL int AMPI_Pack_size ( int  incount,
MPI_Datatype  datatype,
MPI_Comm  comm,
int sz 
)

Definition at line 5417 of file ampi.C.

References getDDT().

CDECL int AMPI_Get_processor_name ( char *  name,
int resultlen 
)

Definition at line 5426 of file ampi.C.

References getAmpiParent(), ampiParent::getMyPe(), and ptr.

void error_handler ( MPI_Comm ,
int ,
  ... 
)

void error_handler ( MPI_Comm ,
int  
)

CDECL int AMPI_Errhandler_create ( MPI_Handler_function function,
MPI_Errhandler errhandler 
)

Definition at line 5442 of file ampi.C.

References MPI_SUCCESS.

CDECL int AMPI_Errhandler_set ( MPI_Comm  comm,
MPI_Errhandler  errhandler 
)

Definition at line 5448 of file ampi.C.

References MPI_SUCCESS.

CDECL int AMPI_Errhandler_get ( MPI_Comm  comm,
MPI_Errhandler errhandler 
)

Definition at line 5454 of file ampi.C.

References MPI_SUCCESS.

CDECL int AMPI_Errhandler_free ( MPI_Errhandler errhandler  ) 

Definition at line 5460 of file ampi.C.

References MPI_SUCCESS.

CDECL int AMPI_Error_class ( int  errorcode,
int errorclass 
)

Definition at line 5466 of file ampi.C.

References MPI_SUCCESS.

CDECL int AMPI_Error_string ( int  errorcode,
char *  string,
int resultlen 
)

Definition at line 5473 of file ampi.C.

References MPI_SUCCESS.

CDECL int AMPI_Comm_group ( MPI_Comm  comm,
MPI_Group group 
)

Definition at line 5492 of file ampi.C.

References ampiParent::comm2group(), and getAmpiParent().

CDECL int AMPI_Group_union ( MPI_Group  group1,
MPI_Group  group2,
MPI_Group newgroup 
)

CDECL int AMPI_Group_intersection ( MPI_Group  group1,
MPI_Group  group2,
MPI_Group newgroup 
)

CDECL int AMPI_Group_difference ( MPI_Group  group1,
MPI_Group  group2,
MPI_Group newgroup 
)

CDECL int AMPI_Group_size ( MPI_Group  group,
int size 
)

Definition at line 5539 of file ampi.C.

References getAmpiParent(), ampiParent::group2vec(), and size.

CDECL int AMPI_Group_rank ( MPI_Group  group,
int rank 
)

Definition at line 5547 of file ampi.C.

References getAmpiParent(), and ampiParent::getRank().

CDECL int AMPI_Group_translate_ranks ( MPI_Group  group1,
int  n,
int ranks1,
MPI_Group  group2,
int ranks2 
)

Definition at line 5555 of file ampi.C.

References getAmpiParent(), ampiParent::group2vec(), ptr, and translateRanksOp().

CDECL int AMPI_Group_compare ( MPI_Group  group1,
MPI_Group  group2,
int result 
)

Definition at line 5567 of file ampi.C.

References compareVecOp(), getAmpiParent(), ampiParent::group2vec(), and ptr.

CDECL int AMPI_Group_incl ( MPI_Group  group,
int  n,
int ranks,
MPI_Group newgroup 
)

CDECL int AMPI_Group_excl ( MPI_Group  group,
int  n,
int ranks,
MPI_Group newgroup 
)

CDECL int AMPI_Group_range_incl ( MPI_Group  group,
int  n,
int  ranges[][3],
MPI_Group newgroup 
)

CDECL int AMPI_Group_range_excl ( MPI_Group  group,
int  n,
int  ranges[][3],
MPI_Group newgroup 
)

CDECL int AMPI_Group_free ( MPI_Group group  ) 

Definition at line 5624 of file ampi.C.

CDECL int AMPI_Comm_create ( MPI_Comm  comm,
MPI_Group  group,
MPI_Comm newcomm 
)

CDECL void AMPI_Checkpoint ( char *  dname  ) 

CDECL void AMPI_MemCheckpoint (  ) 

CDECL void AMPI_Print ( char *  str  ) 

Definition at line 5663 of file ampi.C.

References getAmpiParent(), and ptr.

CDECL int AMPI_Register ( void *  d,
MPI_PupFn  f 
)

Definition at line 5671 of file ampi.C.

References TCHARM_Register().

CDECL void* MPI_Get_userdata ( int  idx  ) 

Definition at line 5678 of file ampi.C.

References TCHARM_Get_userdata().

CDECL void AMPI_Start_measure (  ) 

Definition at line 5685 of file ampi.C.

References getAmpiParent(), ptr, and ampiParent::start_measure().

CDECL void AMPI_Stop_measure (  ) 

Definition at line 5693 of file ampi.C.

References getAmpiParent(), ptr, and ampiParent::stop_measure().

CDECL void AMPI_Set_load ( double  load  ) 

Definition at line 5701 of file ampi.C.

References getAmpiParent(), and ptr.

CDECL void AMPI_Register_main ( MPI_MainFn  mainFn,
const char *  name 
)

Definition at line 5709 of file ampi.C.

References ampiCreateMain(), and TCHARM_Element().

FDECL void FTN_NAME ( MPI_REGISTER_MAIN  ,
mpi_register_main   
)

Definition at line 5718 of file ampi.C.

References ampiCreateMain(), and TCHARM_Element().

CDECL int AMPI_Keyval_create ( MPI_Copy_function copy_fn,
MPI_Delete_function delete_fn,
int keyval,
void *  extra_state 
)

Definition at line 5729 of file ampi.C.

References ampiParent::createKeyval(), and getAmpiParent().

CDECL int AMPI_Keyval_free ( int keyval  ) 

Definition at line 5735 of file ampi.C.

References ampiParent::freeKeyval(), and getAmpiParent().

CDECL int AMPI_Attr_put ( MPI_Comm  comm,
int  keyval,
void *  attribute_val 
)

Definition at line 5741 of file ampi.C.

References getAmpiParent(), and ampiParent::putAttr().

CDECL int AMPI_Attr_get ( MPI_Comm  comm,
int  keyval,
void *  attribute_val,
int flag 
)

Definition at line 5747 of file ampi.C.

References getAmpiParent(), and ampiParent::getAttr().

CDECL int AMPI_Attr_delete ( MPI_Comm  comm,
int  keyval 
)

Definition at line 5753 of file ampi.C.

References ampiParent::deleteAttr(), and getAmpiParent().

CDECL int AMPI_Cart_map ( MPI_Comm  comm,
int  ndims,
int dims,
int periods,
int newrank 
)

Definition at line 5759 of file ampi.C.

References AMPI_Comm_rank().

Referenced by AMPI_Cart_create().

CDECL int AMPI_Graph_map ( MPI_Comm  comm,
int  nnodes,
int index,
int edges,
int newrank 
)

Definition at line 5769 of file ampi.C.

References AMPI_Comm_rank().

Referenced by AMPI_Graph_create().

CDECL int AMPI_Cart_create ( MPI_Comm  comm_old,
int  ndims,
int dims,
int periods,
int  reorder,
MPI_Comm comm_cart 
)

CDECL int AMPI_Graph_create ( MPI_Comm  comm_old,
int  nnodes,
int index,
int edges,
int  reorder,
MPI_Comm comm_graph 
)

CDECL int AMPI_Topo_test ( MPI_Comm  comm,
int status 
)

CDECL int AMPI_Cartdim_get ( MPI_Comm  comm,
int ndims 
)

Definition at line 5865 of file ampi.C.

References getAmpiParent(), ampiParent::getCart(), and ampiCommStruct::getndims().

CDECL int AMPI_Cart_get ( MPI_Comm  comm,
int  maxdims,
int dims,
int periods,
int coords 
)

CDECL int AMPI_Cart_rank ( MPI_Comm  comm,
int coords,
int rank 
)

CDECL int AMPI_Cart_coords ( MPI_Comm  comm,
int  rank,
int  maxdims,
int coords 
)

static void cart_clamp_coord ( MPI_Comm  comm,
const CkVec< int > &  dims,
const CkVec< int > &  periodicity,
int coords,
int  direction,
int  displacement,
int rank_out 
) [static]

Definition at line 5952 of file ampi.C.

References AMPI_Cart_rank(), and MPI_PROC_NULL.

Referenced by AMPI_Cart_shift().

CDECL int AMPI_Cart_shift ( MPI_Comm  comm,
int  direction,
int  disp,
int rank_source,
int rank_dest 
)

CDECL int AMPI_Graphdims_get ( MPI_Comm  comm,
int nnodes,
int nedges 
)

CDECL int AMPI_Graph_get ( MPI_Comm  comm,
int  maxindex,
int  maxedges,
int index,
int edges 
)

CDECL int AMPI_Graph_neighbors_count ( MPI_Comm  comm,
int  rank,
int nneighbors 
)

CDECL int AMPI_Graph_neighbors ( MPI_Comm  comm,
int  rank,
int  maxneighbors,
int neighbors 
)

int integerRoot ( int  n,
int  d 
)

Return the integer "d'th root of n"-- the largest integer r such that r^d <= n.

Definition at line 6089 of file ampi.C.

References cg3d::epsilon.

Referenced by factors().

bool factors ( int  n,
int  d,
int dims,
int  m 
)

Factorize "n" into "d" factors, stored in "dims[0..d-1]".

All the factors must be greater than or equal to m. The factors are chosen so that they are all as near together as possible (technically, chosen so that the increasing-size ordering is lexicagraphically as large as possible).

Definition at line 6102 of file ampi.C.

References integerRoot().

Referenced by AMPI_Dims_create().

CDECL int AMPI_Dims_create ( int  nnodes,
int  ndims,
int dims 
)

Definition at line 6124 of file ampi.C.

References factors(), and n.

CDECL int AMPI_Cart_sub ( MPI_Comm  comm,
int remain_dims,
MPI_Comm newcomm 
)

void _registerampif ( void   ) 

Definition at line 6210 of file ampi.C.

void AMPI_Datatype_iscontig ( MPI_Datatype  datatype,
int flag 
)

Definition at line 6215 of file ampi.C.

References getDDT().

CDECL int AMPI_Type_get_envelope ( MPI_Datatype  datatype,
int ni,
int na,
int nd,
int combiner 
)

Definition at line 6220 of file ampi.C.

References getDDT().

CDECL int AMPI_Type_get_contents ( MPI_Datatype  datatype,
int  ni,
int  na,
int  nd,
int  i[],
MPI_Aint  a[],
MPI_Datatype  d[] 
)

Definition at line 6226 of file ampi.C.

References getDDT().

CDECL int AMPI_Suspend ( int  comm  ) 

Definition at line 6235 of file ampi.C.

References ampi::block(), and getAmpiInstance().

CDECL int AMPI_Yield ( int  comm  ) 

Definition at line 6242 of file ampi.C.

References getAmpiInstance(), and ampi::yield().

Referenced by AMPI_Waitany().

CDECL int AMPI_Resume ( int  dest,
int  comm 
)

Definition at line 6249 of file ampi.C.

References getAmpiInstance(), and ampi::getProxy().

CDECL int AMPI_System ( const char *  cmd  ) 

Definition at line 6256 of file ampi.C.

References TCHARM_System().

void startCFnCall ( void *  param,
void *  msg 
)

Definition at line 6262 of file ampi.C.

References ampi::bcastraw(), BgSetStartEvent(), ampi::getProxy(), and ptr.

Referenced by AMPI_Set_startevent().

CDECL int AMPI_Set_startevent ( MPI_Comm  comm  ) 

void enqueue ( workRequestQueue *  q,
workRequest wr 
)

void setWRCallback ( workRequest wr,
void *  cb 
)

Referenced by AMPI_GPU_Iinvoke().

void AMPI_GPU_complete ( void *  request,
void *  dummy 
)

Definition at line 6340 of file ampi.C.

References AmpiRequest::buf, ptr, GPUReq::setComplete(), and ampi::unblock().

Referenced by AMPI_GPU_Iinvoke().

CDECL int AMPI_GPU_Iinvoke ( workRequest to_call,
MPI_Request request 
)

CDECL int AMPI_GPU_Invoke ( workRequest to_call  ) 

Definition at line 6365 of file ampi.C.

References AMPI_GPU_Iinvoke(), and MPI_Wait().


Variable Documentation

Definition at line 113 of file ampi.C.

Definition at line 115 of file ampi.C.

int MPI_COMM_UNIVERSE[MPI_MAX_COMM_WORLDS]

Definition at line 116 of file ampi.C.

Definition at line 458 of file ampi.C.

Referenced by ampiNodeInit(), and makeRednMsg().

Definition at line 476 of file ampi.C.

Definition at line 504 of file ampi.C.

int enableStreaming = 0 [static]

Definition at line 511 of file ampi.C.

int AMPI_threadstart_idx = -1 [static]

Definition at line 534 of file ampi.C.

double totalidle = 0.0 [static]

Definition at line 558 of file ampi.C.

double startT = 0.0 [static]

int beginHandle [static]

Definition at line 559 of file ampi.C.

int endHandle [static]

Definition at line 559 of file ampi.C.

CProxy_ampiWorlds ampiWorldsGroup [static]

Definition at line 698 of file ampi.C.

Referenced by ampiInit(), and ampiWorlds::ampiWorlds().

const int MPI_BCAST_COMM = MPI_COMM_WORLD+1000

Definition at line 2188 of file ampi.C.

This routine is called with the results of a Reduce or AllReduce.

Definition at line 2951 of file ampi.C.

const int MPI_REDUCE_COMM = MPI_COMM_WORLD

Definition at line 2952 of file ampi.C.

workRequestQueue* wrQueue

Referenced by AMPI_GPU_Iinvoke().


Generated on Wed May 23 08:06:41 2012 for Charm++ by  doxygen 1.5.5