Name

TAU_TRACE_SENDMSG — Traces a receive operation

Synopsis

C/C++:
TAU_TRACE_SENDMSG( tag,  
  source,  
  length);  
int   tag;
int   source;
int   length;
Fortran:
TAU_TRACE_SENDMSG( tag,  
  source,  
  length);  
integer   tag;
integer   source;
integer   length;

Description

TAU_TRACE_SENDMSG traces an inter-process message communication when a tagged message is sent to a destination process.

NOTE: When TAU is configured to use MPI (-mpiinc=<dir> -mpilib=<dir>), the TAU_TRACE_SENDMSG and TAU_TRACE_SENDMSG macros are not required. The wrapper interposition library in

$(TAU_MPI_LIBS)

uses these macros internally for logging messages.

Example

C/C++ :

if (pid == 0) {
  TAU_TRACE_SENDMSG(currCol, sender, ncols * sizeof(T));
  MPI_Send(vctr2, ncols * sizeof(T), MPI_BYTE, sender, 
           currCol, MPI_COMM_WORLD);
} else {
  MPI_Recv(&ans, sizeof(T), MPI_BYTE, MPI_ANY_SOURCE, 
           MPI_ANY_TAG,MPI_COMM_WORLD, &stat);
  MPI_Get_count(&stat, MPI_BYTE, &recvcount);
  TAU_TRACE_RECVMSG(stat.MPI_TAG, stat.MPI_SOURCE, recvcount);
}
    

Fortran :

call TAU_TRACE_RECVMSG(tag, source, length)
call TAU_TRACE_SENDMSG(tag, destination, length)