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

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

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


Revision 1.3 - (show 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 C $Header: /u/gcmpack/MITgcm/pkg/showflops/showflops_insolve.F,v 1.2 2007/07/31 22:33:43 ce107 Exp $
2 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 WRITE(msgBuf,'(A34,F12.6,A,F12.6)')
79 $ '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 WRITE(msgBuf,'(A34,F12.6,A,F12.6)')
85 $ '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 WRITE(msgBuf,'(A22,A26,F12.6)'),
97 $ 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