forked from flame/libflame
-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathcmake.config.h.in
199 lines (145 loc) · 6.99 KB
/
cmake.config.h.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
//Determines to enable FLA_ENABLE_EXTRA_SYMBOLS
#cmakedefine FLA_ENABLE_EXTRA_SYMBOLS 1
#ifdef FLA_ENABLE_EXTRA_SYMBOLS
#define F77_FUNC(name,NAME) name ## _
#define F77_FUNC_(name,NAME) name ## _
#endif
// --- General options ---------------------------------------------------------
// Determines whether to enable various segments of code identified as
// providing non-critical functionality.
#cmakedefine FLA_ENABLE_NON_CRITICAL_CODE 1
//Determines to enable BuiltinBlas
#cmakedefine FLA_ENABLE_BUILTIN_BLAS 0
//Enables blis1 use of flamalloc
#cmakedefine FLA_ENABLE_BLIS1_USE_OF_FLA_MALLOC 1
// Determines whether the LAPACK compatibility layer is included in libflame.
// NOTE: If lapack2flame is enabled, external-lapack-for-subproblems MUST
// be disabled!
#cmakedefine FLA_ENABLE_LAPACK2FLAME 1
// Determines whether ILP64 enabled. only enabled when -DENABLE_ILP64 is passed with cmake
#cmakedefine FLA_ENABLE_ILP64 1
// Determines whether to enable external LAPACK for small subproblems.
// NOTE: If external-lapack-for-subproblems is enabled, (a) lapack2flame MUST
// be disabled, AND (b) external-lapack-interfaces MUST be enabled.
#cmakedefine FLA_ENABLE_EXTERNAL_LAPACK_FOR_SUBPROBLEMS 1
// Determines whether to enable interfaces to external LAPACK routines.
// NOTE: If external-lapack-interfaces is enabled, an LAPACK library will be
// required at link-time.
#cmakedefine FLA_ENABLE_EXTERNAL_LAPACK_INTERFACES 1
// Determines whether to use control trees to select a reasonable FLAME
// variant and blocksize when level-3 BLAS front-ends are invoked.
#cmakedefine FLA_ENABLE_BLAS3_FRONT_END_CNTL_TREES
// Determines whether to modify various segments of code needed for
// integrating libflame into Windows.
#cmakedefine FLA_ENABLE_WINDOWS_BUILD
// Determines whether to define a portable FLA_Clock() in terms of
// gettimeofday() from time.h.
#cmakedefine FLA_ENABLE_PORTABLE_TIMER 1
// --- Runtime error checking and debugging ------------------------------------
// Determines whether to enable internal runtime consistency checks of
// function parameters and return values.
#cmakedefine FLA_ENABLE_INTERNAL_ERROR_CHECKING 1
// Encodes the default level of internal error checking chosen at
// configure-time.
// 1-minimal error cheking
// 2-full error cheking
// 3-no error cheking
#cmakedefine FLA_INTERNAL_ERROR_CHECKING_LEVEL @ERROR_CHECKING_LEVEL@
// Determines whether to enable the FLA_malloc()/FLA_free() memory counter
// by default.
#cmakedefine FLA_ENABLE_MEMORY_LEAK_COUNTER
// --- Multithreading and SuperMatrix ------------------------------------------
// Determines whether thread-specific blocks of code should be compiled.
#cmakedefine FLA_ENABLE_MULTITHREADING
// Encodes the type of multithreading chosen at configure-time.
// 1 - openmp
// 2 - pthreads
#cmakedefine FLA_MULTITHREADING_MODEL @MULTITHREADING_MODEL@
// Determines whether SuperMatrix-specific blocks of code should be compiled.
#cmakedefine FLA_ENABLE_SUPERMATRIX
// --- BLAS and blocksizes -----------------------------------------------------
// Determines whether to enable CBLAS interfaces instead of Fortran-77
// interfaces to the BLAS.
#cmakedefine FLA_ENABLE_CBLAS_INTERFACES
// Determines whether to enable interfaces to internal/low-level libgoto
// symbols.
#cmakedefine FLA_ENABLE_GOTO_INTERFACES
// Sets the default blocksize in the k dimension (used only if
// libgoto interfaces are disabled).
#cmakedefine FLA_DEFAULT_K_BLOCKSIZE @FLA_DEFAULT_K_BLKSZ@
// Sets the default blocksize in the m dimension (used only if
// libgoto interfaces are disabled).
#cmakedefine FLA_DEFAULT_M_BLOCKSIZE @FLA_DEFAULT_M_BLKSZ@
// Sets the default blocksize in the n dimension (used only if
// libgoto interfaces are disabled).
#cmakedefine FLA_DEFAULT_N_BLOCKSIZE @FLA_DEFAULT_N_BLKSZ@
// --- Memory alignment --------------------------------------------------------
// Determines whether memory is aligned to user-requested boundaries.
#cmakedefine FLA_ENABLE_MEMORY_ALIGNMENT
// Sets the byte boundary used to align the starting address of all memory
// allocated dynamically through libflame. Only used if
// FLA_ENABLE_MEMORY_ALIGNMENT is defined.
#cmakedefine FLA_MEMORY_ALIGNMENT_BOUNDARY @CMAKE_SIZEOF_VOID_P@
// Determines whether to enable code that will increase FLA_Obj leading
// dimensions to ensure that matrix columns adhere to the alignment specified
// by FLA_MEMORY_ALIGNMENT_BOUNDARY.
#cmakedefine FLA_ENABLE_LDIM_ALIGNMENT
// --- Fortran-77 compatibility ------------------------------------------------
// Determines whether the Fortran name-mangling suffix was determined at
// configure-time. This option is not used in Windows.
#cmakedefine FLA_ENABLE_AUTODETECT_F77_UNDERSCORING
// Determines whether the Fortran 77 compiler appends an underscore to symbol
// names. Not used in Windows.
#cmakedefine FLA_F77_UNDERSCORE
// Determines whether the Fortran 77 compiler appends an extra underscore to
// symbol names that already contain at least one underscore. Not used in
// Windows.
#cmakedefine FLA_F77_EXTRA_UNDERSCORE
// Determines whether invocations to the BLAS within libflame are converted to
// uppercase symbols.
#cmakedefine FLA_ENABLE_UPPERCASE_BLAS
// Determines whether invocations to LAPACK within libflame are converted to
// uppercase symbols.
#cmakedefine FLA_ENABLE_UPPERCASE_LAPACK
// --- Experimental/unsupported/broken options ---------------------------------
// Determines whether GPU-specific blocks of code should be compiled.
#cmakedefine FLA_ENABLE_GPU
// Determines AMD optimized code path selection
#cmakedefine FLA_ENABLE_AMD_OPT 1
//Detrmines library Version
#cmakedefine FLA_LIBFLAME_VERSION @LIBRARY_VERSION@
// Determines OpenMP multithreading for AMD optimized code path
#cmakedefine FLA_OPENMP_MULTITHREADING 1
// Determins BLAS Extension API, GEMMT usage in libFLAME APIs
#cmakedefine FLA_ENABLE_BLAS_EXT_GEMMT 1
// Enables FLA_PORTABLE_TIMER_IS_CLOCK_GETTIME
#cmakedefine FLA_PORTABLE_TIMER_IS_CLOCK_GETTIME 1
//#define FLA_PORTABLE_TIMER_IS_CLOCK_GETTIME 1
#cmakedefine FLA_VECTOR_INTRINSIC_TYPE 0
// #define other missing macros
#cmakedefine HAVE_ASSERT_H 1
#cmakedefine HAVE_FCNTL_H 1
#cmakedefine HAVE_INTTYPES_H 1
#cmakedefine HAVE_LIBM 1
#cmakedefine HAVE_MATH_H 1
#cmakedefine HAVE_MEMORY_H 1
#cmakedefine HAVE_SIGNAL_H 1
#cmakedefine HAVE_STDINT_H 1
#cmakedefine HAVE_STDLIB_H 1
#cmakedefine HAVE_STRINGS_H 1
#cmakedefine HAVE_STRING_H 1
#cmakedefine HAVE_SYS_STAT_H 1
#cmakedefine HAVE_SYS_TIME_H 1
#cmakedefine HAVE_SYS_TYPES_H 1
#cmakedefine HAVE_UNISTD_H 1
#cmakedefine PROTOTYPES 1
#cmakedefine STDC_HEADERS 1
#cmakedefine TIME_WITH_SYS_TIME 1
#cmakedefine _GNU_SOURCE 1
#cmakedefine __PROTOTYPES 1
/* Macro for tracing the log If the user wants to enable tracing he has to
enable this macro by making it to 1 else 0 */
#cmakedefine LF_AOCL_DTL_TRACE_ENABLE @LF_AOCL_DTL_TRACE_ENABLE@
/* Macro for logging the logs If the user wants to enable loging information he
has to enable this macro by making it to 1 else 0 */
#cmakedefine LF_AOCL_DTL_LOG_ENABLE @LF_AOCL_DTL_LOG_ENABLE@