Provided by: tau_2.16.4-1.5_amd64 bug

NAME

       TAU_TRACE_RECVMSG - Traces a receive operation

SYNOPSIS

       C/C++:

       TAU_TRACE_RECVMSG(int tag, int source, int length);

       Fortran:

       TAU_TRACE_RECVMSG(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)

SEE ALSO

       TAU_TRACE_SENDMSG(3)

                                            08/31/2005                       TAU_TRACE_RECVMSG(3)