/[MITgcm]/MITgcm/eesupp/src/comm_stats.F
ViewVC logotype

Annotation of /MITgcm/eesupp/src/comm_stats.F

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


Revision 1.5 - (hide annotations) (download)
Fri Sep 21 03:54:34 2001 UTC (22 years, 8 months ago) by cnh
Branch: MAIN
CVS Tags: checkpoint46n_post, checkpoint51k_post, checkpoint47e_post, checkpoint52l_pre, checkpoint44e_post, hrcube4, hrcube5, checkpoint46l_post, checkpoint46g_pre, checkpoint47c_post, release1_p13_pre, checkpoint50c_post, checkpoint46f_post, checkpoint52d_pre, checkpoint48e_post, checkpoint50c_pre, checkpoint44f_post, checkpoint46b_post, checkpoint52j_pre, checkpoint43a-release1mods, checkpoint51o_pre, ecco_c50_e32, ecco_c50_e33, ecco_c50_e30, ecco_c50_e31, release1_p13, checkpoint51l_post, checkpoint48i_post, checkpoint46l_pre, checkpoint52l_post, checkpoint52k_post, chkpt44d_post, checkpoint51, checkpoint50, checkpoint52, release1_p8, release1_p9, checkpoint50d_post, release1_p1, release1_p2, release1_p3, release1_p4, release1_p5, release1_p6, release1_p7, checkpoint52f_post, checkpoint50b_pre, checkpoint44e_pre, checkpoint51f_post, release1_b1, ecco_c51_e34d, ecco_c51_e34e, ecco_c51_e34f, ecco_c51_e34g, ecco_c51_e34a, ecco_c51_e34b, ecco_c51_e34c, checkpoint48b_post, checkpoint43, checkpoint51d_post, checkpoint48c_pre, checkpoint47d_pre, checkpoint51t_post, checkpoint51n_post, release1_chkpt44d_post, checkpoint52i_pre, hrcube_1, hrcube_2, hrcube_3, checkpoint51s_post, checkpoint47a_post, checkpoint48d_pre, checkpoint51j_post, checkpoint47i_post, checkpoint52e_pre, release1_p11, checkpoint52e_post, checkpoint51n_pre, checkpoint47d_post, icebear5, icebear4, icebear3, icebear2, checkpoint46d_pre, checkpoint48d_post, release1-branch_tutorials, checkpoint48f_post, checkpoint45d_post, checkpoint52b_pre, checkpoint46j_pre, checkpoint51l_pre, chkpt44a_post, checkpoint44h_pre, checkpoint48h_post, checkpoint51q_post, ecco_c50_e29, checkpoint51b_pre, checkpoint46a_post, checkpoint47g_post, checkpoint52b_post, checkpoint52c_post, checkpoint46j_post, checkpoint51h_pre, checkpoint46k_post, ecco_c50_e28, chkpt44c_pre, checkpoint48a_post, checkpoint45a_post, checkpoint50f_post, checkpoint50a_post, checkpoint50f_pre, checkpoint52f_pre, ecco_c44_e19, ecco_c44_e18, ecco_c44_e17, ecco_c44_e16, release1_p12, release1_p10, release1_p16, release1_p17, release1_p14, release1_p15, checkpoint47j_post, ecco_c50_e33a, branch-exfmods-tag, checkpoint44g_post, branchpoint-genmake2, checkpoint46e_pre, checkpoint51r_post, checkpoint48c_post, checkpoint45b_post, checkpoint46b_pre, checkpoint51i_post, release1-branch-end, release1_final_v1, checkpoint51b_post, checkpoint51c_post, checkpoint46c_pre, checkpoint46, checkpoint47b_post, checkpoint44b_post, ecco_c51_e34, checkpoint46h_pre, checkpoint52d_post, checkpoint46m_post, checkpoint46a_pre, checkpoint50g_post, checkpoint45c_post, ecco_ice2, ecco_ice1, checkpoint44h_post, checkpoint46g_post, release1_p12_pre, checkpoint52a_pre, ecco_c44_e22, checkpoint50h_post, checkpoint52i_post, checkpoint50e_pre, checkpoint50i_post, ecco_c44_e25, checkpoint51i_pre, checkpoint52h_pre, checkpoint52j_post, checkpoint47f_post, checkpoint50e_post, chkpt44a_pre, checkpoint46i_post, ecco_c44_e23, ecco_c44_e20, ecco_c44_e21, ecco_c44_e26, ecco_c44_e27, ecco_c44_e24, checkpoint46c_post, ecco-branch-mod1, ecco-branch-mod2, ecco-branch-mod3, ecco-branch-mod4, ecco-branch-mod5, branch-netcdf, checkpoint50d_pre, checkpoint46e_post, release1_beta1, checkpoint51e_post, checkpoint44b_pre, checkpoint42, checkpoint41, checkpoint47, checkpoint44, checkpoint45, checkpoint48, checkpoint49, checkpoint46h_post, checkpoint51o_post, checkpoint51f_pre, chkpt44c_post, checkpoint48g_post, checkpoint47h_post, checkpoint52a_post, checkpoint44f_pre, checkpoint51g_post, ecco_c52_e35, checkpoint46d_post, checkpoint50b_post, release1-branch_branchpoint, checkpoint51m_post, checkpoint51a_post, checkpoint51p_post, checkpoint51u_post
Branch point for: c24_e25_ice, branch-exfmods-curt, release1_final, release1-branch, branch-genmake2, release1, branch-nonh, tg2-branch, ecco-branch, release1_50yr, netcdf-sm0, icebear, checkpoint51n_branch, release1_coupled
Changes since 1.4: +17 -6 lines
Starting to bring comments up to date and format comments
for document extraction of "prototypes".

1 cnh 1.5 C $Header: /u/gcmpack/models/MITgcmUV/eesupp/src/comm_stats.F,v 1.4 2001/02/04 14:38:42 cnh Exp $
2     C $Name: $
3 cnh 1.1 #include "CPP_EEOPTIONS.h"
4    
5 cnh 1.5 CBOP
6     C !ROUTINE: COMM_STATS
7    
8     C !INTERFACE:
9 cnh 1.1 SUBROUTINE COMM_STATS
10     IMPLICIT NONE
11    
12 cnh 1.5 C !DESCRIPTION:
13     C *==========================================================
14     C | SUBROUTINE COMM_STATS
15     C | o Print out statistics from communication routines.
16     C *==========================================================
17    
18     C !USES:
19 cnh 1.1 C == Global variables ==
20     #include "SIZE.h"
21     #include "EEPARAMS.h"
22     #include "EESUPPORT.h"
23     #include "EXCH.h"
24     #include "BAR2.h"
25    
26 cnh 1.5 C !LOCAL VARIABLES:
27 cnh 1.1 C == Local variables ==
28 cnh 1.5 C bi, bj, I :: Loop counters
29     C msgBuf :: Temp. for building text messages.
30 cnh 1.1 INTEGER bi, bj, I
31     CHARACTER*(MAX_LEN_MBUF) msgBuf
32 cnh 1.5 CEOP
33 cnh 1.1
34     C o For each tile print its excange statistics
35     WRITE(msgBuf,'(A)')
36     & '// ======================================================'
37     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
38     & SQUEEZE_RIGHT , 1)
39     WRITE(msgBuf,'(A)') '// Tile <-> Tile communication statistics'
40     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
41     & SQUEEZE_RIGHT , 1)
42     WRITE(msgBuf,'(A)')
43     & '// ======================================================'
44     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
45     & SQUEEZE_RIGHT , 1)
46    
47     IF ( exchCollectStatistics ) THEN
48     DO bj=1,nSy
49     DO bi=1,nSx
50     WRITE(msgBuf,'(A,A,I6.6)')
51     & '//',' o Tile number: ',tileNo(bi,bj)
52     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
53     & SQUEEZE_RIGHT , 1)
54     C o X exchange stats.
55     WRITE(msgBuf,'(A,A,I15)')
56     & '//',' No. X exchanges =',exchRecvXExchCount(1,bi,bj)
57     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
58     & SQUEEZE_RIGHT , 1)
59     WRITE(msgBuf,'(A,A,I15)')
60     & '//',' Max. X spins =',exchRecvXSpinMax (1,bi,bj)
61     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
62     & SQUEEZE_RIGHT , 1)
63     WRITE(msgBuf,'(A,A,I15)')
64     & '//',' Min. X spins =',exchRecvXSpinMin (1,bi,bj)
65     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
66     & SQUEEZE_RIGHT , 1)
67     WRITE(msgBuf,'(A,A,I15)')
68     & '//',' Total. X spins =',exchRecvXSpinCount(1,bi,bj)
69     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
70     & SQUEEZE_RIGHT , 1)
71     IF ( FLOAT(exchRecvXExchCount(1,bi,bj)) .NE. 0. ) THEN
72     WRITE(msgBuf,'(A,A,1PE15.2)')
73     & '//',' Avg. X spins =',
74 cnh 1.2 & FLOAT(exchRecvXSpinCount(1,bi,bj))/
75     & FLOAT(exchRecvXExchCount(1,bi,bj))
76 cnh 1.1 ELSE
77     WRITE(msgBuf,'(A,A,1PE15.2)')
78     & '//',' Avg. X spins =',
79     & 0.
80     ENDIF
81     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
82     & SQUEEZE_RIGHT , 1)
83     C o Y exchange stats.
84     WRITE(msgBuf,'(A,A,I15)')
85     & '//',' No. Y exchanges =',exchRecvYExchCount(1,bi,bj)
86     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
87     & SQUEEZE_RIGHT , 1)
88     WRITE(msgBuf,'(A,A,I15)')
89     & '//',' Max. Y spins =',exchRecvYSpinMax (1,bi,bj)
90     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
91     & SQUEEZE_RIGHT , 1)
92     WRITE(msgBuf,'(A,A,I15)')
93     & '//',' Min. Y spins =',exchRecvYSpinMin (1,bi,bj)
94     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
95     & SQUEEZE_RIGHT , 1)
96     WRITE(msgBuf,'(A,A,I15)')
97     & '//',' Total. Y spins =',exchRecvYSpinCount(1,bi,bj)
98     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
99     & SQUEEZE_RIGHT , 1)
100     IF ( FLOAT(exchRecvYExchCount(1,bi,bj)) .NE. 0. ) THEN
101     WRITE(msgBuf,'(A,A,1PE15.2)')
102     & '//',' Avg. Y spins =',
103 cnh 1.2 & FLOAT(exchRecvYSpinCount(1,bi,bj))/
104     & FLOAT(exchRecvYExchCount(1,bi,bj))
105 cnh 1.1 ELSE
106     WRITE(msgBuf,'(A,A,1PE15.2)')
107     & '//',' Avg. Y spins =',
108     & 0.
109     ENDIF
110     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
111     & SQUEEZE_RIGHT , 1)
112    
113     ENDDO
114     ENDDO
115     ENDIF
116    
117     IF ( bar2CollectStatistics ) THEN
118     DO I=1,nThreads
119     WRITE(msgBuf,'(A,A,I6.6)')
120     & '//',' o Thread number: ',I
121     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
122     & SQUEEZE_RIGHT , 1)
123     WRITE(msgBuf,'(A,A,I15)')
124     & '//',' No. barriers =',BAR2_barrierCount(1,I)
125     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
126     & SQUEEZE_RIGHT , 1)
127     WRITE(msgBuf,'(A,A,I15)')
128     & '//',' Max. barrier spins =',BAR2_spinsMax(1,I)
129     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
130     & SQUEEZE_RIGHT , 1)
131     WRITE(msgBuf,'(A,A,I15)')
132     & '//',' Min. barrier spins =',BAR2_spinsMin(1,I)
133     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
134     & SQUEEZE_RIGHT , 1)
135     WRITE(msgBuf,'(A,A,I15)')
136     & '//',' Total barrier spins =',BAR2_spinsCount(1,I)
137     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
138     & SQUEEZE_RIGHT , 1)
139     IF ( FLOAT(BAR2_spinsCount(1,I)) .NE. 0. ) THEN
140     WRITE(msgBuf,'(A,A,1PE15.2)')
141     & '//',' Avg. barrier spins =',
142     & FLOAT(BAR2_spinsCount(1,I))/FLOAT(BAR2_barrierCount(1,I))
143     ELSE
144     WRITE(msgBuf,'(A,A,1PE15.2)')
145     & '//',' Avg. barrier spins =',
146     & 0.
147     ENDIF
148     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
149     & SQUEEZE_RIGHT , 1)
150     ENDDO
151     ENDIF
152    
153     C
154     RETURN
155     END
156    

  ViewVC Help
Powered by ViewVC 1.1.22