Open MPI logo

MPI_Wtime(3) man page (version 1.2.9)

  |   Home   |   Support   |   FAQ   |  

« Return to documentation listing



NAME

       MPI_Wtime - Returns an elapsed time on the calling processor.

SYNTAX


C Syntax

       #include <mpi.h>
       double MPI_Wtime()

Fortran Syntax

       INCLUDE 'mpif.h'
       DOUBLE PRECISION MPI_WTIME()

C++ Syntax

       #include <mpi.h>
       double Wtime()

RETURN VALUE

       Time in seconds since an arbitrary time in the past.

DESCRIPTION

       MPI_Wtime  returns  a  floating-point  number  of seconds, representing
       elapsed wall-clock time since some time in the past.

       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.

       This function is portable (it returns seconds, not "ticks"), it  allows
       high  resolution,  and carries no unnecessary baggage. One would use it
       like this:

           {
              double starttime, endtime;
              starttime = MPI_Wtime();
               ....  stuff to be timed  ...
              endtime   = MPI_Wtime();
              printf("That took %f seconds\n",endtime-starttime);
           }

       The times returned are local to the node that called them. There is  no
       requirement that different nodes return the "same" time.

NOTES

       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.

       This is intended to be a high-resolution, elapsed (or wall) clock.  See
       MPI_Wtick to determine the resolution of MPI_Wtime.

       This  function does not return an error value. Consequently, the result
       of calling it before MPI_Init or after MPI_Finalize is undefined.

Open MPI 1.2                    September 2006             MPI_Wtime(3OpenMPI)

« Return to documentation listing