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

Last change on this file since 823 was 823, checked in by meunier, 8 years ago
  • Improved scripts for simulations and graphes
  • Continued to clean up the lib nrc2 (from nrio2x.x to nrmem1.c)
  • Added a version (Fast - Parmerge - No stats)
File size: 3.5 KB
Line 
1
2#ifndef __CONFIG_H_
3#define __CONFIG_H_
4
5#define SLOW 0
6#define FEATURES 0
7#define FAST 1
8#define PYR_BARRIERS 0
9#define PARMERGE 1
10#define ARSP 0
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_Features_Arsp_Rosenfeld_Dist(e, f,    T, D, alpha, F)
49        #define vuse3_Rosenfeld(e, f, g, T, D, alpha, F)  vuse3_Parallel_Features_Arsp_Rosenfeld_Dist(e, f, g, T, D, alpha, F)
50        #error "Configuration Not implemented"
51    #endif
52#endif
53
54#if SLOW
55    #if FEATURES
56        #define SetRoot_Rosenfeld(D, r, eps, alpha, F) SetRoot_Features_Rosenfeld_Dist(D, r, eps, alpha, F)
57    #else
58        #define SetRoot_Rosenfeld(D, r, eps, alpha, F) SetRoot_Rosenfeld_Dist(D, r, eps, alpha)
59    #endif
60    #if PARMERGE
61        #error "Configuration SLOW and PARMERGE Not implemented"
62    #endif
63    #if ARSP
64        #error "Configuration SLOW and ARSP Not implemented"
65    #endif
66#endif
67
68// Verbose level
69// 0 : No trace at all
70// 1 : Traces compatible with execution times measurements,
71//     in particular, there must not be any traces in the
72//     "compute" sections
73// 2 : Standard level
74// 3 : Maximum (debug) level
75#define MCA_VERBOSE_LEVEL 1
76
77
78#endif
79
Note: See TracBrowser for help on using the repository browser.