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

Last change on this file since 822 was 822, checked in by meunier, 8 years ago

In rosenfeld:

  • Updated nrio0, nrio1, nrio2, nrio1f, nrio2f, nrio1x, nrbool1, nrbool2 and nralloc1 in the nrc2 lib in order to use macro-typed functions
  • Updated the simulation script to include performance evaluation with random images, and a script to generate graphs
  • Updated the clock.h to use 64-bit integers, which potentially breaks the printing on the giet
File size: 3.3 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 0
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        #error "Configuration Not implemented"
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_Features_Rosenfeld_Dist(e, f,    T, D, alpha, F)
45        #define vuse3_Rosenfeld(e, f, g, T, D, alpha, F) vuse3_Parallel_Features_Rosenfeld_Dist(e, f, g, T, D, alpha, F)
46    #elif  FEATURES &&  PARMERGE && ARSP
47        #define vuse2_Rosenfeld(e, f,    T, D, alpha, F) vuse2_Parallel_Features_Arsp_Rosenfeld_Dist(e, f,    T, D, alpha, F)
48        #define vuse3_Rosenfeld(e, f, g, T, D, alpha, F) vuse3_Parallel_Features_Arsp_Rosenfeld_Dist(e, f, g, T, D, alpha, F)
49        #error "Configuration Not implemented"
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 2
75
76#endif // __CONFIG_H__
77
78
Note: See TracBrowser for help on using the repository browser.