Name
TAU_TRACE_RECVMSG — Traces a receive operation
Synopsis
C/C++:
TAU_TRACE_RECVMSG( | 
                     tag, | |
| source, | ||
length);
                      | 
                     
| int | tag; | 
| int | source; | 
| int | length; | 
Fortran:
TAU_TRACE_RECVMSG( | 
                     tag, | |
| source, | ||
length);
                      | 
                     
| integer | tag; | 
| integer | source; | 
| integer | length; | 
Description
 TAU_TRACE_RECVMSG  traces a receive operation where tag represents the type of the message received from the source process.
            
NOTE: When TAU is configured to use
                   MPI (-mpiinc=<dir> -mpilib=<dir>), the
                   TAU_TRACE_RECVMSG  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)