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
RevLine 
[821]1
[822]2#ifndef __CONFIG_H_
3#define __CONFIG_H_
4
[821]5#define SLOW 0
[826]6#define FEATURES 1
[821]7#define FAST 1
8#define PYR_BARRIERS 0
[823]9#define PARMERGE 1
[826]10#define ARSP 1
[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)
[826]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)
[822]50    #endif
[821]51#endif
52
[822]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
[823]74#define MCA_VERBOSE_LEVEL 1
[822]75
76
[823]77#endif
[822]78
Note: See TracBrowser for help on using the repository browser.