source: soft/giet_vm/applications/rosenfeld/include/config.h @ 826

Last change on this file since 826 was 826, checked in by meunier, 7 years ago
  • Mise à jour NR2 et Rosenfeld
File size: 3.4 KB
Line 
1
2#ifndef __CONFIG_H_
3#define __CONFIG_H_
4
5#define SLOW 0
6#define FEATURES 1
7#define FAST 1
8#define PYR_BARRIERS 0
9#define PARMERGE 1
10#define ARSP 1
11
12#if FAST && SLOW
13#error "FAST and SLOW cannot be defined at the same time"
14#endif
15
16#if PYR_BARRIERS && PARMERGE
17#error "PYR_BARRIERS and PARMERGE are exclusive"
18#endif
19
20
21#if FAST
22    #if   !FEATURES && !PARMERGE && !ARSP
23        #define vuse2_Rosenfeld(e, f,    T, D, alpha, F)  vuse2_Rosenfeld_Dist(e, f,    T, D, alpha)
24        #define vuse3_Rosenfeld(e, f, g, T, D, alpha, F)  vuse3_Rosenfeld_Dist(e, f, g, T, D, alpha)
25    #elif !FEATURES && !PARMERGE &&  ARSP
26        #define vuse2_Rosenfeld(e, f,    T, D, alpha, F)  vuse2_Arsp_Rosenfeld_Dist(e, f,    T, D, alpha)
27        #define vuse3_Rosenfeld(e, f, g, T, D, alpha, F)  vuse3_Arsp_Rosenfeld_Dist(e, f, g, T, D, alpha)
28        #error "Configuration Not implemented"
29    #elif !FEATURES &&  PARMERGE && !ARSP
30        #define vuse2_Rosenfeld(e, f,    T, D, alpha, F)  vuse2_Parallel_Rosenfeld_Dist(e, f,    T, D, alpha, F)
31        #define vuse3_Rosenfeld(e, f, g, T, D, alpha, F)  vuse3_Parallel_Rosenfeld_Dist(e, f, g, T, D, alpha, F)
32        #define SetRoot_Parallel_FNF(D, rl, rd, alpha, F) SetRoot_Parallel_Rosenfeld_Dist(D, rl, rd, alpha, F)
33    #elif !FEATURES &&  PARMERGE &&  ARSP
34        #define vuse2_Rosenfeld(e, f,    T, D, alpha, F)  vuse2_Parallel_Arsp_Rosenfeld_Dist(e, f,    T, D, alpha, F)
35        #define vuse3_Rosenfeld(e, f, g, T, D, alpha, F)  vuse3_Parallel_Arsp_Rosenfeld_Dist(e, f, g, T, D, alpha, F)
36    #elif  FEATURES && !PARMERGE && !ARSP
37        #define vuse2_Rosenfeld(e, f,    T, D, alpha, F)  vuse2_Features_Rosenfeld_Dist(e, f,    T, D, alpha, F)
38        #define vuse3_Rosenfeld(e, f, g, T, D, alpha, F)  vuse3_Features_Rosenfeld_Dist(e, f, g, T, D, alpha, F)
39    #elif  FEATURES && !PARMERGE &&  ARSP
40        #define vuse2_Rosenfeld(e, f,    T, D, alpha, F)  vuse2_Features_Arsp_Rosenfeld_Dist(e, f,    T, D, alpha, F)
41        #define vuse3_Rosenfeld(e, f, g, T, D, alpha, F)  vuse3_Features_Arsp_Rosenfeld_Dist(e, f, g, T, D, alpha, F)
42        #error "Configuration Not implemented"
43    #elif  FEATURES &&  PARMERGE && !ARSP
44        #define vuse2_Rosenfeld(e, f,    T, D, alpha, F)  vuse2_Parallel_Rosenfeld_Dist(e, f,    T, D, alpha, F)
45        #define vuse3_Rosenfeld(e, f, g, T, D, alpha, F)  vuse3_Parallel_Rosenfeld_Dist(e, f, g, T, D, alpha, F)
46        #define SetRoot_Parallel_FNF(D, rl, rd, alpha, F) SetRoot_Parallel_Features_Rosenfeld_Dist(D, rl, rd, alpha, F)
47    #elif  FEATURES &&  PARMERGE &&  ARSP
48        #define vuse2_Rosenfeld(e, f,    T, D, alpha, F)  vuse2_Parallel_Arsp_Rosenfeld_Dist(e, f,    T, D, alpha, F)
49        #define vuse3_Rosenfeld(e, f, g, T, D, alpha, F)  vuse3_Parallel_Arsp_Rosenfeld_Dist(e, f, g, T, D, alpha, F)
50    #endif
51#endif
52
53#if SLOW
54    #if FEATURES
55        #define SetRoot_Rosenfeld(D, r, eps, alpha, F) SetRoot_Features_Rosenfeld_Dist(D, r, eps, alpha, F)
56    #else
57        #define SetRoot_Rosenfeld(D, r, eps, alpha, F) SetRoot_Rosenfeld_Dist(D, r, eps, alpha)
58    #endif
59    #if PARMERGE
60        #error "Configuration SLOW and PARMERGE Not implemented"
61    #endif
62    #if ARSP
63        #error "Configuration SLOW and ARSP Not implemented"
64    #endif
65#endif
66
67// Verbose level
68// 0 : No trace at all
69// 1 : Traces compatible with execution times measurements,
70//     in particular, there must not be any traces in the
71//     "compute" sections
72// 2 : Standard level
73// 3 : Maximum (debug) level
74#define MCA_VERBOSE_LEVEL 1
75
76
77#endif
78
Note: See TracBrowser for help on using the repository browser.