mpi_wtime(3openmpi) [osx man page]
MPI_Wtime(3OpenMPI) MPI_Wtime(3OpenMPI) 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 ",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. SEE ALSO
MPI_Wtick Open MPI 1.2 September 2006 MPI_Wtime(3OpenMPI)
Check Out this Related Man Page
MPI_Init(3OpenMPI) MPI_Init(3OpenMPI) NAME
MPI_Init - Initializes the MPI execution environment SYNTAX
C Syntax #include <mpi.h> int MPI_Init(int *argc, char ***argv) Fortran Syntax INCLUDE 'mpif.h' MPI_INIT(IERROR) INTEGER IERROR C++ Syntax #include <mpi.h> void MPI::Init(int& argc, char**& argv) void MPI::Init() INPUT PARAMETERS
argc C/C++ only: Pointer to the number of arguments. argv C/C++ only: Argument vector. OUTPUT PARAMETER
IERROR Fortran only: Error status (integer). DESCRIPTION
This routine, or MPI_Init_thread, must be called before any other MPI routine (apart from MPI_Initialized) is called. MPI can be initial- ized at most once; subsequent calls to MPI_Init or MPI_Init_thread are erroneous. All MPI programs must contain a call to MPI_Init or MPI_Init_thread. Open MPI accepts the C/C++ argc and argv arguments to main, but nei- ther modifies, interprets, nor distributes them: { /* declare variables */ MPI_Init(&argc, &argv); /* parse arguments */ /* main program */ MPI_Finalize(); } NOTES
The Fortran version does not have provisions for argc and argv and takes only IERROR. The MPI Standard does not say what a program can do before an MPI_Init or after an MPI_Finalize. In the Open MPI implementation, it should do as little as possible. In particular, avoid anything that changes the external state of the program, such as opening files, reading standard input, or writing to standard output. ERRORS
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ func- tions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object. Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. See the MPI man page for a full list of MPI error codes. SEE ALSO
MPI_Init_thread MPI_Initialized MPI_Finalize Open MPI 1.2 September 2006 MPI_Init(3OpenMPI)