1
1

Use the OPAL timers toi report timers as accurately as possible.

This commit was SVN r11442.
Этот коммит содержится в:
George Bosilca 2006-08-27 04:58:02 +00:00
родитель a33f63da26
Коммит ee75c45ec5
2 изменённых файлов: 17 добавлений и 8 удалений

Просмотреть файл

@ -22,6 +22,7 @@
#endif #endif
#include <stdio.h> #include <stdio.h>
#include MCA_timer_IMPLEMENTATION_HEADER
#include "ompi/mpi/c/bindings.h" #include "ompi/mpi/c/bindings.h"
#include "ompi/runtime/mpiruntime.h" #include "ompi/runtime/mpiruntime.h"
@ -38,5 +39,12 @@ static const char FUNC_NAME[] = "MPI_Wtick";
double MPI_Wtick(void) double MPI_Wtick(void)
{ {
return (double)0.000001; #if OPAL_TIMER_USEC_NATIVE
return 0.000001;
#else
if( (opal_timer_t)0 == opal_timer_base_get_freq() ) {
opal_output( 0, "No timer frequency\n" );
}
return (double)opal_timer_base_get_freq();
#endif /* OPAL_TIMER_USEC_NATIVE */
} }

Просмотреть файл

@ -22,6 +22,8 @@
#endif #endif
#include <stdio.h> #include <stdio.h>
#include MCA_timer_IMPLEMENTATION_HEADER
#include "opal/prefetch.h"
#include "ompi/mpi/c/bindings.h" #include "ompi/mpi/c/bindings.h"
#include "ompi/runtime/mpiruntime.h" #include "ompi/runtime/mpiruntime.h"
@ -38,10 +40,9 @@ static const char FUNC_NAME[] = "MPI_Wtime";
double MPI_Wtime(void) double MPI_Wtime(void)
{ {
struct timeval tv; #if OPAL_TIMER_USEC_NATIVE
double wtime; return (double)opal_timer_base_get_usec();
gettimeofday(&tv, NULL); #else
wtime = tv.tv_sec; return (double)opal_timer_base_get_cycles();
wtime += (double)tv.tv_usec / 1000000.0; #endif /* OPAL_TIMER_USEC_NATIVE */
return wtime;
} }