source: codes/icosagcm/trunk/src/base/trace.F90

Last change on this file was 548, checked in by dubos, 7 years ago

trunk : reorganize source tree

File size: 1.8 KB
Line 
1MODULE trace
2
3  INTEGER,SAVE :: markId
4 
5CONTAINS
6
7  SUBROUTINE init_trace
8  IMPLICIT NONE
9#ifdef VTRACE
10#include <vt_user.inc>
11#endif 
12
13#ifdef VTRACE
14     VT_MARKER_DEF("marker", VT_MARKER_TYPE_HINT, markId)
15#endif
16 
17  END SUBROUTINE init_trace
18 
19  SUBROUTINE trace_on
20  IMPLICIT NONE
21#ifdef VTRACE
22#include <vt_user.inc>
23#endif 
24!$OMP MASTER
25#ifdef VTRACE
26     VT_ON()
27#endif
28!$OMP END MASTER
29     
30  END SUBROUTINE trace_on
31 
32  SUBROUTINE trace_off
33  IMPLICIT NONE
34#ifdef VTRACE
35#include <vt_user.inc>
36#endif 
37
38!$OMP MASTER
39#ifdef VTRACE
40   VT_OFF()
41#endif
42!$OMP END MASTER
43     
44  END SUBROUTINE trace_off
45
46   
47  SUBROUTINE trace_start(name)
48  IMPLICIT NONE
49    CHARACTER(LEN=*),INTENT(IN) :: name 
50#ifdef VTRACE
51#include <vt_user.inc>
52#endif 
53
54!$OMP MASTER
55#ifdef VTRACE
56     VT_USER_START(name)
57#endif
58!$OMP END MASTER
59
60  END SUBROUTINE trace_start   
61
62
63  SUBROUTINE trace_end(name)
64  IMPLICIT NONE
65#ifdef VTRACE
66#include <vt_user.inc>
67#endif
68
69    CHARACTER(LEN=*),INTENT(IN) :: name
70
71!$OMP MASTER
72#ifdef VTRACE
73     VT_USER_END(name)
74#endif
75!$OMP END MASTER
76
77  END SUBROUTINE trace_end   
78
79
80
81  SUBROUTINE trace_start2(name)
82  IMPLICIT NONE
83    CHARACTER(LEN=*),INTENT(IN) :: name 
84#ifdef VTRACE
85#include <vt_user.inc>
86#endif 
87
88!$OMP MASTER
89#ifdef VTRACE
90     VT_USER_START(name)
91#endif
92!$OMP END MASTER
93
94  END SUBROUTINE trace_start2   
95
96  SUBROUTINE trace_end2(name)
97  IMPLICIT NONE
98#ifdef VTRACE
99#include <vt_user.inc>
100#endif
101
102    CHARACTER(LEN=*),INTENT(IN) :: name
103
104!$OMP MASTER
105#ifdef VTRACE
106     VT_USER_END(name)
107#endif
108!$OMP END MASTER
109
110  END SUBROUTINE trace_end2   
111
112
113
114  SUBROUTINE Marker(name)
115  IMPLICIT NONE
116  CHARACTER(LEN=*),INTENT(IN) :: name
117#ifdef VTRACE
118#include <vt_user.inc>
119#endif 
120
121!$OMP MASTER
122#ifdef VTRACE
123     VT_MARKER(markId,name)
124#endif
125!$OMP END MASTER
126
127  END SUBROUTINE Marker
128
129END MODULE trace
Note: See TracBrowser for help on using the repository browser.