1 /* begin_generated_IBM_copyright_prolog */
2 /* */
3 /* This is an automatically generated copyright prolog. */
4 /* After initializing, DO NOT MODIFY OR MOVE */
5 /* --------------------------------------------------------------- */
6 /* Licensed Materials - Property of IBM */
7 /* Blue Gene/Q 5765-PER 5765-PRP */
8 /* */
9 /* (C) Copyright IBM Corp. 2011, 2012 All Rights Reserved */
10 /* US Government Users Restricted Rights - */
11 /* Use, duplication, or disclosure restricted */
12 /* by GSA ADP Schedule Contract with IBM Corp. */
13 /* */
14 /* --------------------------------------------------------------- */
15 /* */
16 /* end_generated_IBM_copyright_prolog */
17 /* (C)Copyright IBM Corp. 2007, 2011 */
18 /**
19 * \file src/mpid_time.c
20 * \brief Devince interface between MPI_Wtime() and PAMI_Wtime()
21 */
22 #include <mpidimpl.h>
23
24 #if MPICH_TIMER_KIND == USE_GETTIMEOFDAY
25 #warning Compiling mpid/pamid/src/mpid_time.c when MPICH_TIMER_KIND == USE_GETTIMEOFDAY
26 #elif MPICH_TIMER_KIND != USE_DEVICE
27 #error "Not using DEVICE TIMEBASE"
28 #else
29
30
MPID_Wtime(MPID_Time_t * tval)31 void MPID_Wtime( MPID_Time_t *tval )
32 {
33 *tval = PAMI_Wtime(MPIDI_Client);
34 }
MPID_Wtick()35 double MPID_Wtick()
36 {
37 return PAMIX_Client_query(MPIDI_Client, PAMI_CLIENT_WTICK).value.doubleval;
38 }
MPID_Wtime_diff(MPID_Time_t * t1,MPID_Time_t * t2,double * diff)39 void MPID_Wtime_diff( MPID_Time_t *t1, MPID_Time_t *t2, double *diff )
40 {
41 *diff = *t2 - *t1;
42 }
MPID_Wtime_todouble(MPID_Time_t * t,double * val)43 void MPID_Wtime_todouble( MPID_Time_t *t, double *val )
44 {
45 *val = *t;
46 }
MPID_Wtime_acc(MPID_Time_t * t1,MPID_Time_t * t2,MPID_Time_t * t3)47 void MPID_Wtime_acc( MPID_Time_t *t1, MPID_Time_t *t2, MPID_Time_t *t3 )
48 {
49 *t3 += *t1 - *t2;
50 }
51 /*
52 Return Values:
53 0 on success. -1 on Failure. 1 means that the timer may not be used
54 until after MPID_Init completes. This allows the device to set up the
55 timer (first needed for Blue Gene support).
56 */
MPID_Wtime_init(void)57 int MPID_Wtime_init( void )
58 {
59 return 1;
60 }
61
62 #endif
63