TAU_TRACE_RECVMSG

Langue: en

Version: 08/31/2005 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

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)