/[MITgcm]/MITgcm/pkg/showflops/showflops_insolve.F
ViewVC logotype

Annotation of /MITgcm/pkg/showflops/showflops_insolve.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.3 - (hide annotations) (download)
Thu Sep 20 20:58:37 2007 UTC (16 years, 8 months ago) by ce107
Branch: MAIN
CVS Tags: checkpoint63p, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint60, checkpoint61, checkpoint62, checkpoint63, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59i, checkpoint59h, checkpoint59k, checkpoint59j, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint61f, checkpoint61g, checkpoint61d, checkpoint61e, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61n, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint61q, checkpoint61z, checkpoint61x, checkpoint61y
Changes since 1.2: +1 -1 lines
Fix stupid mess in leading comment line

1 ce107 1.3 C $Header: /u/gcmpack/MITgcm/pkg/showflops/showflops_insolve.F,v 1.2 2007/07/31 22:33:43 ce107 Exp $
2 heimbach 1.1 C $Name: $
3    
4     #include "PACKAGES_CONFIG.h"
5     #include "CPP_OPTIONS.h"
6    
7     CBOP
8     C !ROUTINE: SHOWFLOPS_INSOLVE
9     C !INTERFACE:
10     SUBROUTINE SHOWFLOPS_INSOLVE( myThid )
11    
12     C !DESCRIPTION: \bv
13     C *================================================================*
14     C | SUBROUTINE showflops_insolve
15     C | o Do runtime timing
16     C *================================================================*
17     C \ev
18    
19     C !USES:
20     IMPLICIT NONE
21     C == Global variables ==
22     #include "SIZE.h"
23     #include "EEPARAMS.h"
24     #include "PARAMS.h"
25     #include "SHOWFLOPS.h"
26    
27     C !INPUT/OUTPUT PARAMETERS:
28     C == Routine arguments ==
29     C note: under the multi-threaded model myiter and
30     C mytime are local variables passed around as routine
31     C arguments. Although this is fiddly it saves the need to
32     C impose additional synchronisation points when they are
33     C updated.
34     C myThid - thread number for this instance of the routine.
35     integer iloop
36     INTEGER myThid
37    
38     C !FUNCTIONS:
39     C == Functions ==
40     #ifdef ALLOW_RUNCLOCK
41     LOGICAL RUNCLOCK_CONTINUE
42     LOGICAL RC_CONT
43     #endif
44    
45     C !LOCAL VARIABLES:
46     C == Local variables ==
47    
48     CEOP
49    
50     #ifdef ALLOW_DEBUG
51     IF (debugMode) CALL DEBUG_ENTER('SHOWFLOPS_INSOLVE',myThid)
52     #endif
53    
54     #ifdef TIME_PER_TIMESTEP_SFP
55     CCE107 Time per timestep information
56     _BEGIN_MASTER( myThid )
57     CALL TIMER_GET_TIME( utnew, stnew, wtnew )
58     C Only output timing information after the 1st timestep
59     IF ( wtold .NE. 0.0D0 ) THEN
60     WRITE(msgBuf,'(A34,3F10.6)')
61     $ 'User, system and wallclock time:', utnew - utold,
62     $ stnew - stold, wtnew - wtold
63     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1)
64     ENDIF
65     utold = utnew
66     stold = stnew
67     wtold = wtnew
68     _END_MASTER( myThid )
69     #endif
70     #ifdef USE_PAPI_FLOPS_SFP
71     CCE107 PAPI summary performance
72     _BEGIN_MASTER( myThid )
73     #ifdef USE_FLIPS
74     call PAPIF_flips(real_time, proc_time, flpops, mflops, check)
75     #else
76     call PAPIF_flops(real_time, proc_time, flpops, mflops, check)
77     #endif
78 ce107 1.2 WRITE(msgBuf,'(A34,F12.6,A,F12.6)')
79 heimbach 1.1 $ 'Mflop/s during this timestep:', mflops, ' ', mflops
80     $ *proc_time/(real_time + 1E-36)
81     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1)
82     #ifdef PAPI_VERSION
83     call PAPIF_ipc(real_time, proc_time, instr, ipc, check)
84 ce107 1.2 WRITE(msgBuf,'(A34,F12.6,A,F12.6)')
85 heimbach 1.1 $ 'IPC during this timestep:', ipc, ' ', ipc*proc_time
86     $ /(real_time + 1E-36)
87     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1)
88     #endif
89     _END_MASTER( myThid )
90     #else
91     #ifdef USE_PCL_FLOPS_SFP
92     CCE107 PCL summary performance
93     _BEGIN_MASTER( myThid )
94     PCLstop(descr, i_result, fp_result, nevents)
95     do ipcl = 1, nevents
96 ce107 1.2 WRITE(msgBuf,'(A22,A26,F12.6)'),
97 heimbach 1.1 $ pcl_counter_name(pcl_counter_list(ipcl)),
98     $ 'during this timestep:', fp_results(ipcl)
99     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1)
100     enddo
101     PCLstart(descr, pcl_counter_list, nevents, flags)
102     _END_MASTER( myThid )
103     #endif
104     #endif
105    
106     #ifdef ALLOW_DEBUG
107     IF (debugMode) CALL DEBUG_LEAVE('SHOWFLOPS_INSOLVE',myThid)
108     #endif
109    
110     END
111    

  ViewVC Help
Powered by ViewVC 1.1.22