AdjoinableMPI
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
modified.c File Reference
#include <stdlib.h>
#include <assert.h>
#include <string.h>
#include <stdio.h>
#include <mpi.h>
#include "ampi/libCommon/modified.h"
#include "ampi/bookkeeping/support.h"
#include "ampi/adTool/support.h"
Include dependency graph for modified.c:

Go to the source code of this file.

Functions

int FW_AMPI_Recv (void *buf, int count, MPI_Datatype datatype, int src, int tag, AMPI_PairedWith pairedWith, MPI_Comm comm, MPI_Status *status)
 
int BW_AMPI_Recv (void *buf, int count, MPI_Datatype datatype, int src, int tag, AMPI_PairedWith pairedWith, MPI_Comm comm, MPI_Status *status)
 
int TLM_AMPI_Recv (void *buf, int count, MPI_Datatype datatype, int src, int tag, AMPI_PairedWith pairedWith, MPI_Comm comm, MPI_Status *status)
 
int TLS_AMPI_Recv (void *buf, void *shadowbuf, int count, MPI_Datatype datatype, MPI_Datatype shadowdatatype, int src, int tag, AMPI_PairedWith pairedWith, MPI_Comm comm, MPI_Status *status)
 
int FW_AMPI_Irecv (void *buf, int count, MPI_Datatype datatype, int source, int tag, AMPI_PairedWith pairedWith, MPI_Comm comm, AMPI_Request *request)
 
int BW_AMPI_Irecv (void *buf, int count, MPI_Datatype datatype, int source, int tag, AMPI_PairedWith pairedWith, MPI_Comm comm, AMPI_Request *request)
 
int TLM_AMPI_Irecv (void *buf, int count, MPI_Datatype datatype, int source, int tag, AMPI_PairedWith pairedWith, MPI_Comm comm, AMPI_Request *request)
 
int TLS_AMPI_Irecv (void *buf, void *shadowbuf, int count, MPI_Datatype datatype, MPI_Datatype shadowdatatype, int source, int tag, AMPI_PairedWith pairedWith, MPI_Comm comm, AMPI_Request *request)
 
int FW_AMPI_Send (void *buf, int count, MPI_Datatype datatype, int dest, int tag, AMPI_PairedWith pairedWith, MPI_Comm comm)
 
int BW_AMPI_Send (void *buf, int count, MPI_Datatype datatype, int dest, int tag, AMPI_PairedWith pairedWith, MPI_Comm comm)
 
int TLM_AMPI_Send (void *buf, int count, MPI_Datatype datatype, int dest, int tag, AMPI_PairedWith pairedWith, MPI_Comm comm)
 
int TLS_AMPI_Send (void *buf, void *shadowbuf, int count, MPI_Datatype datatype, MPI_Datatype shadowdatatype, int dest, int tag, AMPI_PairedWith pairedWith, MPI_Comm comm)
 
int FW_AMPI_Isend (void *buf, int count, MPI_Datatype datatype, int dest, int tag, AMPI_PairedWith pairedWith, MPI_Comm comm, AMPI_Request *request)
 
int BW_AMPI_Isend (void *buf, int count, MPI_Datatype datatype, int dest, int tag, AMPI_PairedWith pairedWith, MPI_Comm comm, AMPI_Request *request)
 
int TLM_AMPI_Isend (void *buf, int count, MPI_Datatype datatype, int dest, int tag, AMPI_PairedWith pairedWith, MPI_Comm comm, AMPI_Request *request)
 
int TLS_AMPI_Isend (void *buf, void *shadowbuf, int count, MPI_Datatype datatype, MPI_Datatype shadowdatatype, int dest, int tag, AMPI_PairedWith pairedWith, MPI_Comm comm, AMPI_Request *request)
 
int FW_AMPI_Wait (AMPI_Request *request, MPI_Status *status)
 
int BW_AMPI_Wait (AMPI_Request *request, MPI_Status *status)
 
int TLM_AMPI_Wait (AMPI_Request *request, MPI_Status *status)
 
int TLS_AMPI_Wait (AMPI_Request *request, MPI_Status *status)
 
int FW_AMPI_Barrier (MPI_Comm comm)
 
int BW_AMPI_Barrier (MPI_Comm comm)
 
int TLM_AMPI_Barrier (MPI_Comm comm)
 
int TLS_AMPI_Barrier (MPI_Comm comm)
 
int FW_AMPI_Gather (void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, int recvcnt, MPI_Datatype recvtype, int root, MPI_Comm comm)
 
int BW_AMPI_Gather (void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, int recvcnt, MPI_Datatype recvtype, int root, MPI_Comm comm)
 
int TLM_AMPI_Gather (void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, int recvcnt, MPI_Datatype recvtype, int root, MPI_Comm comm)
 
int FW_AMPI_Scatter (void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, int recvcnt, MPI_Datatype recvtype, int root, MPI_Comm comm)
 
int BW_AMPI_Scatter (void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, int recvcnt, MPI_Datatype recvtype, int root, MPI_Comm comm)
 
int TLM_AMPI_Scatter (void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, int recvcnt, MPI_Datatype recvtype, int root, MPI_Comm comm)
 
int FW_AMPI_Allgather (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm)
 
int BW_AMPI_Allgather (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm)
 
int TLM_AMPI_Allgather (void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm)
 
int FW_AMPI_Gatherv (void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, int *recvcnts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm)
 
int BW_AMPI_Gatherv (void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, int *recvcnts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm)
 
int TLM_AMPI_Gatherv (void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, int *recvcnts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm)
 
int FW_AMPI_Scatterv (void *sendbuf, int *sendcnts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcnt, MPI_Datatype recvtype, int root, MPI_Comm comm)
 
int BW_AMPI_Scatterv (void *sendbuf, int *sendcnts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcnt, MPI_Datatype recvtype, int root, MPI_Comm comm)
 
int TLM_AMPI_Scatterv (void *sendbuf, int *sendcnts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcnt, MPI_Datatype recvtype, int root, MPI_Comm comm)
 
int FW_AMPI_Allgatherv (void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, int *recvcnts, int *displs, MPI_Datatype recvtype, MPI_Comm comm)
 
int BW_AMPI_Allgatherv (void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, int *recvcnts, int *displs, MPI_Datatype recvtype, MPI_Comm comm)
 
int TLM_AMPI_Allgatherv (void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, int *recvcnts, int *displs, MPI_Datatype recvtype, MPI_Comm comm)
 
int FW_AMPI_Bcast (void *buf, int count, MPI_Datatype datatype, int root, MPI_Comm comm)
 
int BW_AMPI_Bcast (void *buf, int count, MPI_Datatype datatype, int root, MPI_Comm comm)
 
int TLM_AMPI_Bcast (void *buf, int count, MPI_Datatype datatype, int root, MPI_Comm comm)
 
int PEDESTRIAN_AMPI_Reduce (void *sbuf, void *sbufd, void *sbufb, void *rbuf, void *rbufd, void *rbufb, int count, MPI_Datatype datatype, MPI_Datatype datatyped, MPI_Datatype datatypeb, MPI_Op op, TLM_userFunctionF *uopd, ADJ_userFunctionF *uopb, int split_mode, int root, MPI_Comm comm)
 
int FWB_AMPI_Reduce (void *sbuf, void *rbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm)
 
int FWS_AMPI_Reduce (void *sbuf, void *rbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm)
 
int BWB_AMPI_Reduce (void *sbuf, void *rbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm)
 
int BWS_AMPI_Reduce (void *sbuf, void *sbufb, void *rbuf, void *rbufb, int count, MPI_Datatype datatype, MPI_Datatype datatypeb, MPI_Op op, TLM_userFunctionF *uopb, int root, MPI_Comm comm)
 
int TLB_AMPI_Reduce (void *sbuf, void *rbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm)
 
int TLS_AMPI_Reduce (void *sbuf, void *sbufd, void *rbuf, void *rbufd, int count, MPI_Datatype datatype, MPI_Datatype datatyped, MPI_Op op, TLM_userFunctionF *uopd, int root, MPI_Comm comm)
 
int FW_AMPI_Allreduce (void *sbuf, void *rbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
 
int BW_AMPI_Allreduce (void *sbuf, void *rbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
 
int TLM_AMPI_Allreduce (void *sbuf, void *rbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
 
derivedTypeDatagetDTypeData ()
 
void releaseDTypeData ()
 
void releaseUOpData ()
 
void addDTypeData (derivedTypeData *dat, int count, int array_of_blocklengths[], MPI_Aint array_of_displacements[], MPI_Datatype array_of_types[], MPI_Aint lb, MPI_Aint extent, int array_of_p_blocklengths[], MPI_Aint array_of_p_displacements[], MPI_Datatype array_of_p_types[], MPI_Aint p_extent, MPI_Datatype *newtype, MPI_Datatype *packed_type)
 
int derivedTypeIdx (MPI_Datatype datatype)
 
int isDerivedType (int dt_idx)
 
userDefinedOpDatagetUOpData ()
 
void addUOpData (userDefinedOpData *dat, MPI_Op *op, MPI_User_function *function, int commute)
 
int userDefinedOpIdx (MPI_Op op)
 
int isUserDefinedOp (int uop_idx)
 
int FW_AMPI_Win_create (void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, AMPI_Win *win)
 
int BW_AMPI_Win_create (void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, AMPI_Win *win)
 
int FW_AMPI_Win_free (AMPI_Win *win)
 
int BW_AMPI_Win_free (AMPI_Win *win)
 
int FW_AMPI_Get (void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, AMPI_Win win)
 
int BW_AMPI_Get (void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, AMPI_Win win)
 
int FW_AMPI_Put (void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, AMPI_Win win)
 
int BW_AMPI_Put (void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, AMPI_Win win)
 
int FW_AMPI_Win_fence (int assert, AMPI_Win win)
 
int BW_AMPI_Win_fence (int assert, AMPI_Win win)
 

Variables

MPI_Datatype AMPI_ADOUBLE
 
MPI_Datatype AMPI_AFLOAT
 

Function Documentation

void addDTypeData ( derivedTypeData dat,
int  count,
int  array_of_blocklengths[],
MPI_Aint  array_of_displacements[],
MPI_Datatype  array_of_types[],
MPI_Aint  lower_bound,
MPI_Aint  extent,
int  array_of_p_blocklengths[],
MPI_Aint  array_of_p_displacements[],
MPI_Datatype  array_of_p_types[],
MPI_Aint  p_extent,
MPI_Datatype *  newtype,
MPI_Datatype *  packed_type 
)
Todo:
move out of userIF
Parameters
dat
count
array_of_blocklengths
array_of_displacements
array_of_types
lower_bound
extent
array_of_p_blocklengths
array_of_p_displacements
array_of_p_types
p_extent
newtype
packed_typeaddDTypeData takes derived type data and adds a new entry; returns position of new type in data struct; returns -1 if struct contains no active types; doubles data struct size every time there's overflow

Definition at line 2427 of file modified.c.

References AMPI_ACTIVE, derivedTypeData::arrays_of_blocklengths, derivedTypeData::arrays_of_displacements, derivedTypeData::arrays_of_p_blocklengths, derivedTypeData::arrays_of_p_displacements, derivedTypeData::arrays_of_p_types, derivedTypeData::arrays_of_types, AMPI_Request_S::count, derivedTypeData::counts, derivedTypeData::derived_types, derivedTypeIdx(), derivedTypeData::extents, derivedTypeData::first_active_blocks, ADTOOL_AMPI_FPCollection::isActiveType_fp, isDerivedType(), derivedTypeData::last_active_block_lengths, derivedTypeData::last_active_blocks, derivedTypeData::lbs, derivedTypeData::num_actives, ourADTOOL_AMPI_FPCollection, derivedTypeData::p_extents, derivedTypeData::packed_types, derivedTypeData::preAlloc, and derivedTypeData::size.

Referenced by AMPI_Type_contiguous_NT(), and AMPI_Type_create_struct_NT().

Here is the call graph for this function:

void addUOpData ( userDefinedOpData dat,
MPI_Op *  op,
MPI_User_function *  function,
int  commute 
)
Todo:
move out of userIF
Parameters
dat
opa user-defined operation
function
commutetakes user-defined op and adds a new entry; doubles data struct size every time there's overflow

Definition at line 2545 of file modified.c.

References userDefinedOpData::commutes, userDefinedOpData::functions, userDefinedOpData::ops, userDefinedOpData::preAlloc, and userDefinedOpData::size.

Referenced by AMPI_Op_create_NT().

int BW_AMPI_Allgather ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
MPI_Comm  comm 
)
int BW_AMPI_Allgatherv ( void *  sendbuf,
int  sendcnt,
MPI_Datatype  sendtype,
void *  recvbuf,
int *  recvcnts,
int *  displs,
MPI_Datatype  recvtype,
MPI_Comm  comm 
)

backward sweep variant of AMPI_Allgatherv NOTE: recvcnts and displs are passed with a non-NULL pointer then they must be allocated to the correct size

Todo:
shortcut taken below by assuming AMPI_ADOUBLE is equivalent to MPI_DOUBLE, need type map.

Definition at line 1481 of file modified.c.

References ADTOOL_AMPI_FPCollection::allocateTempBuf_fp, AMPI_Request_S::buf, AMPI_Request_S::idx, ADTOOL_AMPI_FPCollection::incrementAdjoint_fp, ADTOOL_AMPI_FPCollection::nullifyAdjoint_fp, ourADTOOL_AMPI_FPCollection, ADTOOL_AMPI_FPCollection::popGScommSizeForRootOrNull_fp, ADTOOL_AMPI_FPCollection::popGSVinfo_fp, and ADTOOL_AMPI_FPCollection::releaseAdjointTempBuf_fp.

int BW_AMPI_Barrier ( MPI_Comm  comm)

backward sweep variant of AMPI_Barrier

Definition at line 810 of file modified.c.

References ourADTOOL_AMPI_FPCollection, and ADTOOL_AMPI_FPCollection::pop_comm_fp.

Referenced by bw_ampi_barrier_().

int BW_AMPI_Gather ( void *  sendbuf,
int  sendcnt,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcnt,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)
int BW_AMPI_Gatherv ( void *  sendbuf,
int  sendcnt,
MPI_Datatype  sendtype,
void *  recvbuf,
int *  recvcnts,
int *  displs,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)
int BW_AMPI_Get ( void *  origin_addr,
int  origin_count,
MPI_Datatype  origin_datatype,
int  target_rank,
MPI_Aint  target_disp,
int  target_count,
MPI_Datatype  target_datatype,
AMPI_Win  win 
)

Definition at line 2688 of file modified.c.

int BW_AMPI_Irecv ( void *  buf,
int  count,
MPI_Datatype  datatype,
int  source,
int  tag,
AMPI_PairedWith  pairedWith,
MPI_Comm  comm,
AMPI_Request request 
)
int BW_AMPI_Isend ( void *  buf,
int  count,
MPI_Datatype  datatype,
int  dest,
int  tag,
AMPI_PairedWith  pairedWith,
MPI_Comm  comm,
AMPI_Request request 
)
int BW_AMPI_Put ( void *  origin_addr,
int  origin_count,
MPI_Datatype  origin_datatype,
int  target_rank,
MPI_Aint  target_disp,
int  target_count,
MPI_Datatype  target_datatype,
AMPI_Win  win 
)

Definition at line 2712 of file modified.c.

int BW_AMPI_Recv ( void *  buf,
int  count,
MPI_Datatype  datatype,
int  src,
int  tag,
AMPI_PairedWith  pairedWith,
MPI_Comm  comm,
MPI_Status *  status 
)
int BW_AMPI_Scatter ( void *  sendbuf,
int  sendcnt,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcnt,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)
int BW_AMPI_Scatterv ( void *  sendbuf,
int *  sendcnts,
int *  displs,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcnt,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)
int BW_AMPI_Win_create ( void *  base,
MPI_Aint  size,
int  disp_unit,
MPI_Info  info,
MPI_Comm  comm,
AMPI_Win win 
)
int BW_AMPI_Win_free ( AMPI_Win win)
int BWS_AMPI_Reduce ( void *  sbuf,
void *  sbufb,
void *  rbuf,
void *  rbufb,
int  count,
MPI_Datatype  datatype,
MPI_Datatype  datatypeb,
MPI_Op  op,
TLM_userFunctionF uopb,
int  root,
MPI_Comm  comm 
)

[llh 16/10/2013] This version for Association-By-Name :

Definition at line 2186 of file modified.c.

References PEDESTRIAN_AMPI_Reduce().

Referenced by bws_ampi_reduce_().

Here is the call graph for this function:

int FW_AMPI_Allgather ( void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
MPI_Comm  comm 
)
int FW_AMPI_Allgatherv ( void *  sendbuf,
int  sendcnt,
MPI_Datatype  sendtype,
void *  recvbuf,
int *  recvcnts,
int *  displs,
MPI_Datatype  recvtype,
MPI_Comm  comm 
)
int FW_AMPI_Allreduce ( void *  sbuf,
void *  rbuf,
int  count,
MPI_Datatype  datatype,
MPI_Op  op,
MPI_Comm  comm 
)
int FW_AMPI_Barrier ( MPI_Comm  comm)
int FW_AMPI_Gather ( void *  sendbuf,
int  sendcnt,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcnt,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)
int FW_AMPI_Gatherv ( void *  sendbuf,
int  sendcnt,
MPI_Datatype  sendtype,
void *  recvbuf,
int *  recvcnts,
int *  displs,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)
int FW_AMPI_Put ( void *  origin_addr,
int  origin_count,
MPI_Datatype  origin_datatype,
int  target_rank,
MPI_Aint  target_disp,
int  target_count,
MPI_Datatype  target_datatype,
AMPI_Win  win 
)

Definition at line 2700 of file modified.c.

int FW_AMPI_Scatter ( void *  sendbuf,
int  sendcnt,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcnt,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)
int FW_AMPI_Scatterv ( void *  sendbuf,
int *  sendcnts,
int *  displs,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcnt,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)
int FWS_AMPI_Reduce ( void *  sbuf,
void *  rbuf,
int  count,
MPI_Datatype  datatype,
MPI_Op  op,
int  root,
MPI_Comm  comm 
)

[llh 16/10/2013] This version for Association-By-Name :

Definition at line 2091 of file modified.c.

References PEDESTRIAN_AMPI_Reduce().

Referenced by fws_ampi_reduce_().

Here is the call graph for this function:

int isUserDefinedOp ( int  uop_idx)
Todo:
move out of userIF
Parameters
uop_idx
Returns

Definition at line 2571 of file modified.c.

Referenced by FWB_AMPI_Reduce(), and PEDESTRIAN_AMPI_Reduce().

int PEDESTRIAN_AMPI_Reduce ( void *  sbuf,
void *  sbufd,
void *  sbufb,
void *  rbuf,
void *  rbufd,
void *  rbufb,
int  count,
MPI_Datatype  datatype,
MPI_Datatype  datatyped,
MPI_Datatype  datatypeb,
MPI_Op  op,
TLM_userFunctionF uopd,
ADJ_userFunctionF uopb,
int  split_mode,
int  root,
MPI_Comm  comm 
)
void releaseUOpData ( )
Todo:
move out of userIF

Definition at line 2419 of file modified.c.

References userDefinedOpData::commutes, userDefinedOpData::functions, getUOpData(), and userDefinedOpData::ops.

Referenced by AMPI_Finalize_NT().

Here is the call graph for this function:

int TLB_AMPI_Reduce ( void *  sbuf,
void *  rbuf,
int  count,
MPI_Datatype  datatype,
MPI_Op  op,
int  root,
MPI_Comm  comm 
)

Tangent diff of AMPI_Reduce. Bundled (Association-by-Address)

Definition at line 2203 of file modified.c.

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

TLM variant of AMPI_Allgather

Definition at line 1148 of file modified.c.

int TLM_AMPI_Allgatherv ( void *  sendbuf,
int  sendcnt,
MPI_Datatype  sendtype,
void *  recvbuf,
int *  recvcnts,
int *  displs,
MPI_Datatype  recvtype,
MPI_Comm  comm 
)

TLM variant of AMPI_Allgatherv NOTE: recvcnts and displs are passed with a non-NULL pointer then they must be allocated to the correct size

Definition at line 1541 of file modified.c.

int TLM_AMPI_Allreduce ( void *  sbuf,
void *  rbuf,
int  count,
MPI_Datatype  datatype,
MPI_Op  op,
MPI_Comm  comm 
)

TLM variant of AMPI_Allreduce

Definition at line 2350 of file modified.c.

int TLM_AMPI_Barrier ( MPI_Comm  comm)

TLM variant of AMPI_Barrier

Definition at line 817 of file modified.c.

int TLM_AMPI_Bcast ( void *  buf,
int  count,
MPI_Datatype  datatype,
int  root,
MPI_Comm  comm 
)

TLM variant of AMPI_Bcast

Definition at line 1626 of file modified.c.

int TLM_AMPI_Gather ( void *  sendbuf,
int  sendcnt,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcnt,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

TLM variant of AMPI_Gather

Definition at line 936 of file modified.c.

int TLM_AMPI_Gatherv ( void *  sendbuf,
int  sendcnt,
MPI_Datatype  sendtype,
void *  recvbuf,
int *  recvcnts,
int *  displs,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

TLM variant of AMPI_Gatherv

Definition at line 1284 of file modified.c.

int TLM_AMPI_Irecv ( void *  buf,
int  count,
MPI_Datatype  datatype,
int  source,
int  tag,
AMPI_PairedWith  pairedWith,
MPI_Comm  comm,
AMPI_Request request 
)

TLM variant of AMPI_Irecv

Definition at line 303 of file modified.c.

int TLM_AMPI_Isend ( void *  buf,
int  count,
MPI_Datatype  datatype,
int  dest,
int  tag,
AMPI_PairedWith  pairedWith,
MPI_Comm  comm,
AMPI_Request request 
)

TLM variant of AMPI_Isend

Definition at line 625 of file modified.c.

int TLM_AMPI_Recv ( void *  buf,
int  count,
MPI_Datatype  datatype,
int  src,
int  tag,
AMPI_PairedWith  pairedWith,
MPI_Comm  comm,
MPI_Status *  status 
)

TLM variant of AMPI_Recv

Definition at line 141 of file modified.c.

int TLM_AMPI_Scatter ( void *  sendbuf,
int  sendcnt,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcnt,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

TLM variant of AMPI_Scatter

Definition at line 1044 of file modified.c.

int TLM_AMPI_Scatterv ( void *  sendbuf,
int *  sendcnts,
int *  displs,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcnt,
MPI_Datatype  recvtype,
int  root,
MPI_Comm  comm 
)

TLM variant of AMPI_Scatterv NOTE: sendcnts and displs are passed with a non-NULL pointer then they must be allocated to the correct size

Definition at line 1421 of file modified.c.

int TLM_AMPI_Send ( void *  buf,
int  count,
MPI_Datatype  datatype,
int  dest,
int  tag,
AMPI_PairedWith  pairedWith,
MPI_Comm  comm 
)

TLM variant of AMPI_Send

Definition at line 467 of file modified.c.

int TLM_AMPI_Wait ( AMPI_Request request,
MPI_Status *  status 
)

TLM variant of AMPI_Wait

Definition at line 757 of file modified.c.

int TLS_AMPI_Barrier ( MPI_Comm  comm)

TLS variant of AMPI_Barrier

Definition at line 823 of file modified.c.

References ADTOOL_AMPI_FPCollection::getShadowComm_fp, and ourADTOOL_AMPI_FPCollection.

Referenced by tls_ampi_barrier_().

int TLS_AMPI_Irecv ( void *  buf,
void *  shadowbuf,
int  count,
MPI_Datatype  datatype,
MPI_Datatype  shadowdatatype,
int  source,
int  tag,
AMPI_PairedWith  pairedWith,
MPI_Comm  comm,
AMPI_Request request 
)

Tangent Irecv, with separate shadow (i.e. tangent) buffer.

Definition at line 319 of file modified.c.

References AMPI_RECV_ORIGIN, BK_AMPI_put_AMPI_Request(), AMPI_Request_S::comm, AMPI_Request_S::count, AMPI_Request_S::endPoint, AMPI_Request_S::pairedWith, AMPI_Request_S::plainRequest, and AMPI_Request_S::tag.

Referenced by tls_ampi_irecv_().

Here is the call graph for this function:

int TLS_AMPI_Isend ( void *  buf,
void *  shadowbuf,
int  count,
MPI_Datatype  datatype,
MPI_Datatype  shadowdatatype,
int  dest,
int  tag,
AMPI_PairedWith  pairedWith,
MPI_Comm  comm,
AMPI_Request request 
)
int TLS_AMPI_Recv ( void *  buf,
void *  shadowbuf,
int  count,
MPI_Datatype  datatype,
MPI_Datatype  shadowdatatype,
int  src,
int  tag,
AMPI_PairedWith  pairedWith,
MPI_Comm  comm,
MPI_Status *  status 
)

Tangent Recv, with separate shadow (i.e. tangent) buffer.

Definition at line 157 of file modified.c.

References ADTOOL_AMPI_FPCollection::getShadowComm_fp, and ourADTOOL_AMPI_FPCollection.

Referenced by tls_ampi_recv_().

int TLS_AMPI_Reduce ( void *  sbuf,
void *  sbufd,
void *  rbuf,
void *  rbufd,
int  count,
MPI_Datatype  datatype,
MPI_Datatype  datatyped,
MPI_Op  op,
TLM_userFunctionF uopd,
int  root,
MPI_Comm  comm 
)

Tangent diff of AMPI_Reduce. Shadowed (Association-by-Name)

Definition at line 2223 of file modified.c.

References PEDESTRIAN_AMPI_Reduce().

Referenced by tls_ampi_reduce_().

Here is the call graph for this function:

int TLS_AMPI_Send ( void *  buf,
void *  shadowbuf,
int  count,
MPI_Datatype  datatype,
MPI_Datatype  shadowdatatype,
int  dest,
int  tag,
AMPI_PairedWith  pairedWith,
MPI_Comm  comm 
)

Tangent Send, with separate shadow (i.e. tangent) buffer.

Definition at line 482 of file modified.c.

References ADTOOL_AMPI_FPCollection::getShadowComm_fp, and ourADTOOL_AMPI_FPCollection.

Referenced by tls_ampi_send_().

int TLS_AMPI_Wait ( AMPI_Request request,
MPI_Status *  status 
)

Tangent Wait, with separate shadow (i.e. tangent) buffer.

Definition at line 767 of file modified.c.

References AMPI_RECV_ORIGIN, AMPI_SEND_ORIGIN, BK_AMPI_get_AMPI_Request(), ADTOOL_AMPI_FPCollection::getShadowComm_fp, and ourADTOOL_AMPI_FPCollection.

Referenced by tls_ampi_wait_().

Here is the call graph for this function:

int userDefinedOpIdx ( MPI_Op  op)
Todo:
move out of userIF
Parameters
op
Returns

Definition at line 2562 of file modified.c.

References getUOpData(), userDefinedOpData::ops, and userDefinedOpData::size.

Referenced by FWB_AMPI_Reduce(), and PEDESTRIAN_AMPI_Reduce().

Here is the call graph for this function:

Variable Documentation

MPI_Datatype AMPI_AFLOAT

active variant of the predefined MPI_FLOAT

Definition at line 19 of file modified.c.

Referenced by ADTOOL_AMPI_BW_rawType(), ADTOOL_AMPI_FW_rawType(), ADTOOL_AMPI_isActiveType(), and ADTOOL_AMPI_setupTypes().