build: fix travis MPI/SMP build
[charm.git] / src / ck-core / charmmod.f90
blob63629eade8345567a0ddbdb7cb8c8a38c5d6627e
1 module charm
2 integer*8, external :: CmiMemoryUsage
3 integer*8, external :: CmiMaxMemoryUsage
4 real*8, external :: CmiWallTimer
5 real*8, external :: CkWallTimer
6 real*8, external :: CmiCpuTimer
7 real*8, external :: CkCpuTimer
9 ! KEEPINSYNC: ckreduction.h
10 integer, parameter :: CHARM_NOP = 1
11 integer, parameter :: CHARM_SUM_CHAR = 2
12 integer, parameter :: CHARM_SUM_SHORT = 3
13 integer, parameter :: CHARM_SUM_INT = 4
14 integer, parameter :: CHARM_SUM_LONG = 5
15 integer, parameter :: CHARM_SUM_LONG_LONG = 6
16 integer, parameter :: CHARM_SUM_UCHAR = 7
17 integer, parameter :: CHARM_SUM_USHORT = 8
18 integer, parameter :: CHARM_SUM_UINT = 9
19 integer, parameter :: CHARM_SUM_ULONG = 10
20 integer, parameter :: CHARM_SUM_ULONG_LONG = 11
21 integer, parameter :: CHARM_SUM_FLOAT = 12
22 integer, parameter :: CHARM_SUM_DOUBLE = 13
23 integer, parameter :: CHARM_PRODUCT_CHAR = 14
24 integer, parameter :: CHARM_PRODUCT_SHORT = 15
25 integer, parameter :: CHARM_PRODUCT_INT = 16
26 integer, parameter :: CHARM_PRODUCT_LONG = 17
27 integer, parameter :: CHARM_PRODUCT_LONG_LONG = 18
28 integer, parameter :: CHARM_PRODUCT_UCHAR = 19
29 integer, parameter :: CHARM_PRODUCT_USHORT = 20
30 integer, parameter :: CHARM_PRODUCT_UINT = 21
31 integer, parameter :: CHARM_PRODUCT_ULONG = 22
32 integer, parameter :: CHARM_PRODUCT_ULONG_LONG = 23
33 integer, parameter :: CHARM_PRODUCT_FLOAT = 24
34 integer, parameter :: CHARM_PRODUCT_DOUBLE = 25
35 integer, parameter :: CHARM_MAX_CHAR = 26
36 integer, parameter :: CHARM_MAX_SHORT = 27
37 integer, parameter :: CHARM_MAX_INT = 28
38 integer, parameter :: CHARM_MAX_LONG = 29
39 integer, parameter :: CHARM_MAX_LONG_LONG = 30
40 integer, parameter :: CHARM_MAX_UCHAR = 31
41 integer, parameter :: CHARM_MAX_USHORT = 32
42 integer, parameter :: CHARM_MAX_UINT = 33
43 integer, parameter :: CHARM_MAX_ULONG = 34
44 integer, parameter :: CHARM_MAX_ULONG_LONG = 35
45 integer, parameter :: CHARM_MAX_FLOAT = 36
46 integer, parameter :: CHARM_MAX_DOUBLE = 37
47 integer, parameter :: CHARM_MIN_CHAR = 38
48 integer, parameter :: CHARM_MIN_SHORT = 39
49 integer, parameter :: CHARM_MIN_INT = 40
50 integer, parameter :: CHARM_MIN_LONG = 41
51 integer, parameter :: CHARM_MIN_LONG_LONG = 42
52 integer, parameter :: CHARM_MIN_UCHAR = 43
53 integer, parameter :: CHARM_MIN_USHORT = 44
54 integer, parameter :: CHARM_MIN_UINT = 45
55 integer, parameter :: CHARM_MIN_ULONG = 46
56 integer, parameter :: CHARM_MIN_ULONG_LONG = 47
57 integer, parameter :: CHARM_MIN_FLOAT = 48
58 integer, parameter :: CHARM_MIN_DOUBLE = 49
59 ! integer, parameter :: CHARM_LOGICAL_AND = 50
60 integer, parameter :: CHARM_LOGICAL_AND_INT = 51
61 integer, parameter :: CHARM_LOGICAL_AND_BOOL = 52
62 ! integer, parameter :: CHARM_LOGICAL_OR = 53
63 integer, parameter :: CHARM_LOGICAL_OR_INT = 54
64 integer, parameter :: CHARM_LOGICAL_OR_BOOL = 55
65 ! CHARM_LOGICAL_XOR does not exist
66 integer, parameter :: CHARM_LOGICAL_XOR_INT = 56
67 integer, parameter :: CHARM_LOGICAL_XOR_BOOL = 57
68 ! integer, parameter :: CHARM_BITVEC_AND = 58
69 integer, parameter :: CHARM_BITVEC_AND_INT = 59
70 integer, parameter :: CHARM_BITVEC_AND_BOOL = 60
71 ! integer, parameter :: CHARM_BITVEC_OR = 61
72 integer, parameter :: CHARM_BITVEC_OR_INT = 62
73 integer, parameter :: CHARM_BITVEC_OR_BOOL = 63
74 ! integer, parameter :: CHARM_BITVEC_XOR = 64
75 integer, parameter :: CHARM_BITVEC_XOR_INT = 65
76 integer, parameter :: CHARM_BITVEC_XOR_BOOL = 66
77 integer, parameter :: CHARM_RANDOM = 67
79 INTERFACE
80 SUBROUTINE initbigsimtrace(outputParams, outputtiming)
81 INTEGER outputParams, outputtiming
82 END SUBROUTINE
83 SUBROUTINE endtracebigsim1(e,step,p1)
84 CHARACTER* (*) e
85 INTEGER step
86 DOUBLE PRECISION p1
87 END SUBROUTINE
88 SUBROUTINE endtracebigsim2(e,step,p1,p2)
89 CHARACTER* (*) e
90 INTEGER step
91 DOUBLE PRECISION p1,p2
92 END SUBROUTINE
93 SUBROUTINE endtracebigsim3(e,step,p1,p2,p3)
94 CHARACTER* (*) e
95 INTEGER step
96 DOUBLE PRECISION p1,p2,p3
97 END SUBROUTINE
98 SUBROUTINE endtracebigsim4(e,step,p1,p2,p3,p4)
99 CHARACTER* (*) e
100 INTEGER step
101 DOUBLE PRECISION p1,p2,p3,p4
102 END SUBROUTINE
103 SUBROUTINE endtracebigsim5(e,step,p1,p2,p3,p4,p5)
104 CHARACTER* (*) e
105 INTEGER step
106 DOUBLE PRECISION p1,p2,p3,p4,p5
107 END SUBROUTINE
108 SUBROUTINE endtracebigsim6(e,step,p1,p2,p3,p4,p5,p6)
109 CHARACTER* (*) e
110 INTEGER step
111 DOUBLE PRECISION p1,p2,p3,p4,p5,p6
112 END SUBROUTINE
113 SUBROUTINE endtracebigsim7(e,step,p1,p2,p3,p4,p5,p6,p7)
114 CHARACTER* (*) e
115 INTEGER step
116 DOUBLE PRECISION p1,p2,p3,p4,p5,p6,p7
117 END SUBROUTINE
118 SUBROUTINE endtracebigsim8(e,step,p1,p2,p3,p4,p5,p6,p7,p8)
119 CHARACTER* (*) e
120 INTEGER step
121 DOUBLE PRECISION p1,p2,p3,p4,p5,p6,p7,p8
122 END SUBROUTINE
123 SUBROUTINE endtracebigsim9(e,step,p1,p2,p3,p4,p5,p6,p7,p8,p9)
124 CHARACTER* (*) e
125 INTEGER step
126 DOUBLE PRECISION p1,p2,p3,p4,p5,p6,p7,p8,p9
127 END SUBROUTINE
128 SUBROUTINE endtracebigsim10(e,step,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10)
129 CHARACTER* (*) e
130 INTEGER step
131 DOUBLE PRECISION p1,p2,p3,p4,p5,p6,p7,p8,p9,p10
132 END SUBROUTINE
133 SUBROUTINE endtracebigsim11(e,step,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11)
134 CHARACTER* (*) e
135 INTEGER step
136 DOUBLE PRECISION p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11
137 END SUBROUTINE
138 END INTERFACE
139 end module charm