table of contents
| TAU_TRACE_RECVMSG(3) | TAU Instrumentation API | TAU_TRACE_RECVMSG(3) |
NAME¶
TAU_TRACE_RECVMSG - Traces a receive operationSYNOPSIS¶
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 |