\fBMPI_Wtime\fP\- Returns an elapsed time on the calling processor.
.SHSYNTAX
.ftR
.SHCSyntax
.nf
#include <mpi.h>
double MPI_Wtime()
.SHFortranSyntax
.nf
INCLUDE 'mpif.h'
DOUBLE PRECISION MPI_WTIME()
.SHC++Syntax
.nf
#include <mpi.h>
double Wtime()
.SHRETURNVALUE
.ftR
Time in seconds since an arbitrary time in the past.
.SHDESCRIPTION
.ftR
MPI_Wtime returns a floating-point number of seconds, representing elapsed wall-clock time since some time in the past.
.PP
The "time in the past" is guaranteed not to change during the life of the process. The user is responsible for converting large numbers of seconds to other units if they are preferred.
.PP
This function is portable (it returns seconds, not "ticks"), it allows high resolution, and carries no unnecessary baggage. One would use it like this:
.sp
.nf
{
double starttime, endtime;
starttime = MPI_Wtime();
\&.... stuff to be timed \&...
endtime = MPI_Wtime();
printf("That took %f seconds\\n",endtime-starttime);
}
.fi
.PP
The times returned are local to the node that called them. There is no requirement that different nodes return the "same" time.
.SHNOTES
The boolean variable MPI_WTIME_IS_GLOBAL, a predefined attribute key that indicates whether clocks are synchronized, does not have a valid value in Open MPI, as the clocks are not guaranteed to be synchronized.
.PP
This is intended to be a high-resolution, elapsed (or wall) clock. See MPI_Wtick to determine the resolution of MPI_Wtime.
.PP
This function does not return an error value. Consequently, the result of calling it before MPI_Init or after MPI_Finalize is undefined.