PIPS
step_common.h
Go to the documentation of this file.
1 /**
2  *
3  * \file step_common.h
4  * \author Abdellah Kouadri.
5  * Daniel Millot.
6  * Frédérique Silber-Chaussumier.
7  * Alain Muller
8  * \date 04/02/2010
9  * \version 2.0
10  * \brief Some useful declarations and definitions
11  *
12  */
13 
14 #ifndef STEP_COMMON_H_
15 #define STEP_COMMON_H_
16 
17 /**
18  * Used in genereted file
19  */
20 #ifndef MIN
21 #define MIN(a,b) ((a)<(b))?(a):(b)
22 #endif
23 #ifndef MAX
24 #define MAX(a,b) ((a)>(b))?(a):(b)
25 #endif
26 
27 #define STEP_MAX_NB_LOOPSLICES 16
28 #define STEP_INDEX_SLICE_LOW 1
29 #define STEP_INDEX_SLICE_UP 2
30 
31 
32 /**
33  * Supported languages
34  */
35 #define STEP_C 0
36 #define STEP_FORTRAN 1
37 
38 /**
39  * Handled construction
40  */
41 
42 
43 #define STEP_PARALLEL 100
44 #define STEP_DO 101
45 #define STEP_PARALLEL_DO 102
46 #define STEP_MASTER 103
47 //#define STEP_CRITICAL 104
48 #define STEP_BARRIER 105
49 #define STEP_SINGLE 106
50 #define STEP_THREADPRIVATE 107
51 
52 #define STEP_NOWAIT 0
53 #define STEP_WAIT 1
54 
55 /**
56  * Data types actually handled by the runtime
57  */
58 #define STEP_INTEGER 0
59 #define STEP_REAL 1
60 #define STEP_DOUBLE_PRECISION 2
61 #define STEP_COMPLEX 3
62 
63 #define STEP_INTEGER1 4
64 #define STEP_INTEGER2 5
65 #define STEP_INTEGER4 6
66 #define STEP_INTEGER8 7
67 #define STEP_REAL4 8
68 #define STEP_REAL8 9
69 #define STEP_REAL16 10
70 #define STEP_COMPLEX8 11
71 #define STEP_COMPLEX16 12
72 
73 #define STEP_TYPE_UNDEFINED 13
74 
75 /**
76 * Supported communication algorithms
77 */
78 #define STEP_TAG_DEFAULT 0
79 
80 #define STEP_NBLOCKING_ALG 0
81 //#define STEP_BLOCKING_ALG_1 1
82 //#define STEP_BLOCKING_ALG_2 2
83 //#define STEP_BLOCKING_ALG_3 3
84 //#define STEP_BLOCKING_ALG_4 4
85 //#define STEP_ONETOALL_BCAST 0
86 
87 
88 /**
89 * Supported reduction operators
90 */
91 #define STEP_PROD_REDUCE 0
92 #define STEP_MAX_REDUCE 1
93 #define STEP_MIN_REDUCE 2
94 #define STEP_SUM_REDUCE 3
95 #define STEP_UNDEF_REDUCE 4
96 //#define STEP_LAND 4
97 //#define STEP_BAND 5
98 //#define STEP_LOR 6
99 //#define STEP_BOR 7
100 //#define STEP_LXOR 8
101 //#define STEP_BXOR 9
102 //#define STEP_MINLOC 10
103 //#define STEP_MAXLOC 11
104 
105 #endif