Traces a receive operation
C/C++: TAU_TRACE_RECVMSG(int tag, int source, int length);
Fortran: TAU_TRACE_RECVMSG(integer tag, integer source, integer length);
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.
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)