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
RevLine 
[821]1
[822]2#ifndef __CONFIG_H_
3#define __CONFIG_H_
4
[821]5#define SLOW 0
[823]6#define FEATURES 0
[821]7#define FAST 1
8#define PYR_BARRIERS 0
[823]9#define PARMERGE 1
[822]10#define ARSP 0
[821]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
[822]20
21#if FAST
22    #if   !FEATURES && !PARMERGE && !ARSP
[823]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)
[822]25    #elif !FEATURES && !PARMERGE &&  ARSP
[823]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)
[822]28        #error "Configuration Not implemented"
29    #elif !FEATURES &&  PARMERGE && !ARSP
[823]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)
[822]33    #elif !FEATURES &&  PARMERGE &&  ARSP
[823]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)
[822]36    #elif  FEATURES && !PARMERGE && !ARSP
[823]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)
[822]39    #elif  FEATURES && !PARMERGE &&  ARSP
[823]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)
[822]42        #error "Configuration Not implemented"
43    #elif  FEATURES &&  PARMERGE && !ARSP
[823]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)
[822]47    #elif  FEATURES &&  PARMERGE && ARSP
[823]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)
[822]50        #error "Configuration Not implemented"
51    #endif
[821]52#endif
53
[822]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
[823]75#define MCA_VERBOSE_LEVEL 1
[822]76
77
[823]78#endif
[822]79
Note: See TracBrowser for help on using the repository browser.