- Notifications
You must be signed in to change notification settings - Fork 1.6k
/
Copy pathconfig.h
208 lines (171 loc) · 6.57 KB
/
config.h
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
200
201
202
203
204
205
206
207
208
#ifndefRELAPACK_CONFIG_H
#defineRELAPACK_CONFIG_H
// ReLAPACK configuration file.
// See also config.md
///////////////////////////////
// BLAS/LAPACK obect symbols //
///////////////////////////////
// BLAS routines linked against have a trailing underscore
#defineBLAS_UNDERSCORE 1
// LAPACK routines linked against have a trailing underscore
#defineLAPACK_UNDERSCORE BLAS_UNDERSCORE
// Complex BLAS/LAPACK routines return their result in the first argument
// This option must be enabled when linking to MKL for ctrsyl and ztrsyl to
// work.
#defineCOMPLEX_FUNCTIONS_AS_ROUTINES 0
#ifdefF_INTERFACE_INTEL
#defineCOMPLEX_FUNCTIONS_AS_ROUTINES 1
#endif
#defineBLAS_COMPLEX_FUNCTIONS_AS_ROUTINES COMPLEX_FUNCTIONS_AS_ROUTINES
#defineLAPACK_BLAS_COMPLEX_FUNCTIONS_AS_ROUTINES COMPLEX_FUNCTIONS_AS_ROUTINES
// The BLAS-like extension xgemmt is provided by an external library.
#defineHAVE_XGEMMT 0
////////////////////////////
// Use malloc in ReLAPACK //
////////////////////////////
#defineALLOW_MALLOC 1
// allow malloc in xsygst for improved performance
#defineXSYGST_ALLOW_MALLOC ALLOW_MALLOC
// allow malloc in xsytrf if the passed work buffer is too small
//#define XSYTRF_ALLOW_MALLOC ALLOW_MALLOC
#defineXSYTRF_ALLOW_MALLOC 0
////////////////////////////////
// LAPACK routine replacement //
////////////////////////////////
// The following macros specify which routines are included in the library under
// LAPACK's symbol names: 1 included, 0 not included
#defineINCLUDE_ALL 1
#defineINCLUDE_XLAUUM INCLUDE_ALL
#defineINCLUDE_SLAUUM INCLUDE_XLAUUM
#defineINCLUDE_DLAUUM INCLUDE_XLAUUM
#defineINCLUDE_CLAUUM INCLUDE_XLAUUM
#defineINCLUDE_ZLAUUM INCLUDE_XLAUUM
#defineINCLUDE_XSYGST INCLUDE_ALL
#defineINCLUDE_SSYGST INCLUDE_XSYGST
#defineINCLUDE_DSYGST INCLUDE_XSYGST
#defineINCLUDE_CHEGST INCLUDE_XSYGST
#defineINCLUDE_ZHEGST INCLUDE_XSYGST
#defineINCLUDE_XTRTRI INCLUDE_ALL
#defineINCLUDE_STRTRI INCLUDE_XTRTRI
#defineINCLUDE_DTRTRI INCLUDE_XTRTRI
#defineINCLUDE_CTRTRI INCLUDE_XTRTRI
#defineINCLUDE_ZTRTRI INCLUDE_XTRTRI
#defineINCLUDE_XPOTRF INCLUDE_ALL
#defineINCLUDE_SPOTRF INCLUDE_XPOTRF
#defineINCLUDE_DPOTRF INCLUDE_XPOTRF
#defineINCLUDE_CPOTRF INCLUDE_XPOTRF
#defineINCLUDE_ZPOTRF INCLUDE_XPOTRF
#defineINCLUDE_XPBTRF INCLUDE_ALL
#defineINCLUDE_SPBTRF INCLUDE_XPBTRF
#defineINCLUDE_DPBTRF INCLUDE_XPBTRF
#defineINCLUDE_CPBTRF INCLUDE_XPBTRF
#defineINCLUDE_ZPBTRF INCLUDE_XPBTRF
#defineINCLUDE_XSYTRF INCLUDE_ALL
#defineINCLUDE_SSYTRF INCLUDE_XSYTRF
#defineINCLUDE_DSYTRF INCLUDE_XSYTRF
#defineINCLUDE_CSYTRF INCLUDE_XSYTRF
#defineINCLUDE_CHETRF INCLUDE_XSYTRF
#defineINCLUDE_ZSYTRF INCLUDE_XSYTRF
#defineINCLUDE_ZHETRF INCLUDE_XSYTRF
#defineINCLUDE_SSYTRF_ROOK INCLUDE_SSYTRF
#defineINCLUDE_DSYTRF_ROOK INCLUDE_DSYTRF
#defineINCLUDE_CSYTRF_ROOK INCLUDE_CSYTRF
#defineINCLUDE_CHETRF_ROOK INCLUDE_CHETRF
#defineINCLUDE_ZSYTRF_ROOK INCLUDE_ZSYTRF
#defineINCLUDE_ZHETRF_ROOK INCLUDE_ZHETRF
#defineINCLUDE_XGETRF INCLUDE_ALL
#defineINCLUDE_SGETRF INCLUDE_XGETRF
#defineINCLUDE_DGETRF INCLUDE_XGETRF
#defineINCLUDE_CGETRF INCLUDE_XGETRF
#defineINCLUDE_ZGETRF INCLUDE_XGETRF
#defineINCLUDE_XGBTRF INCLUDE_ALL
#defineINCLUDE_SGBTRF INCLUDE_XGBTRF
#defineINCLUDE_DGBTRF INCLUDE_XGBTRF
#defineINCLUDE_CGBTRF INCLUDE_XGBTRF
#defineINCLUDE_ZGBTRF INCLUDE_XGBTRF
#defineINCLUDE_XTRSYL INCLUDE_ALL
#defineINCLUDE_STRSYL INCLUDE_XTRSYL
#defineINCLUDE_DTRSYL INCLUDE_XTRSYL
#defineINCLUDE_CTRSYL INCLUDE_XTRSYL
#defineINCLUDE_ZTRSYL INCLUDE_XTRSYL
#defineINCLUDE_XTGSYL INCLUDE_ALL
#defineINCLUDE_STGSYL INCLUDE_XTGSYL
#defineINCLUDE_DTGSYL INCLUDE_XTGSYL
#defineINCLUDE_CTGSYL INCLUDE_XTGSYL
#defineINCLUDE_ZTGSYL INCLUDE_XTGSYL
#defineINCLUDE_XGEMMT 1
#defineINCLUDE_SGEMMT INCLUDE_XGEMMT
#defineINCLUDE_DGEMMT INCLUDE_XGEMMT
#defineINCLUDE_CGEMMT INCLUDE_XGEMMT
#defineINCLUDE_ZGEMMT INCLUDE_XGEMMT
/////////////////////
// crossover sizes //
/////////////////////
// default crossover size
#defineCROSSOVER 24
// individual crossover sizes
#defineCROSSOVER_XLAUUM CROSSOVER
#defineCROSSOVER_SLAUUM CROSSOVER_XLAUUM
#defineCROSSOVER_DLAUUM CROSSOVER_XLAUUM
#defineCROSSOVER_CLAUUM CROSSOVER_XLAUUM
#defineCROSSOVER_ZLAUUM CROSSOVER_XLAUUM
#defineCROSSOVER_XSYGST CROSSOVER
#defineCROSSOVER_SSYGST CROSSOVER_XSYGST
#defineCROSSOVER_DSYGST CROSSOVER_XSYGST
#defineCROSSOVER_CHEGST CROSSOVER_XSYGST
#defineCROSSOVER_ZHEGST CROSSOVER_XSYGST
#defineCROSSOVER_XTRTRI CROSSOVER
#defineCROSSOVER_STRTRI CROSSOVER_XTRTRI
#defineCROSSOVER_DTRTRI CROSSOVER_XTRTRI
#defineCROSSOVER_CTRTRI CROSSOVER_XTRTRI
#defineCROSSOVER_ZTRTRI CROSSOVER_XTRTRI
#defineCROSSOVER_XPOTRF CROSSOVER
#defineCROSSOVER_SPOTRF CROSSOVER_XPOTRF
#defineCROSSOVER_DPOTRF CROSSOVER_XPOTRF
#defineCROSSOVER_CPOTRF CROSSOVER_XPOTRF
#defineCROSSOVER_ZPOTRF CROSSOVER_XPOTRF
#defineCROSSOVER_XPBTRF CROSSOVER
#defineCROSSOVER_SPBTRF CROSSOVER_XPBTRF
#defineCROSSOVER_DPBTRF CROSSOVER_XPBTRF
#defineCROSSOVER_CPBTRF CROSSOVER_XPBTRF
#defineCROSSOVER_ZPBTRF CROSSOVER_XPBTRF
#defineCROSSOVER_XSYTRF CROSSOVER
#defineCROSSOVER_SSYTRF CROSSOVER_XSYTRF
#defineCROSSOVER_DSYTRF CROSSOVER_XSYTRF
#defineCROSSOVER_CSYTRF CROSSOVER_XSYTRF
#defineCROSSOVER_CHETRF CROSSOVER_XSYTRF
#defineCROSSOVER_ZSYTRF CROSSOVER_XSYTRF
#defineCROSSOVER_ZHETRF CROSSOVER_XSYTRF
#defineCROSSOVER_SSYTRF_ROOK CROSSOVER_SSYTRF
#defineCROSSOVER_DSYTRF_ROOK CROSSOVER_DSYTRF
#defineCROSSOVER_CSYTRF_ROOK CROSSOVER_CSYTRF
#defineCROSSOVER_CHETRF_ROOK CROSSOVER_CHETRF
#defineCROSSOVER_ZSYTRF_ROOK CROSSOVER_ZSYTRF
#defineCROSSOVER_ZHETRF_ROOK CROSSOVER_ZHETRF
#defineCROSSOVER_XGETRF CROSSOVER
#defineCROSSOVER_SGETRF CROSSOVER_XGETRF
#defineCROSSOVER_DGETRF CROSSOVER_XGETRF
#defineCROSSOVER_CGETRF CROSSOVER_XGETRF
#defineCROSSOVER_ZGETRF CROSSOVER_XGETRF
#defineCROSSOVER_XGBTRF CROSSOVER
#defineCROSSOVER_SGBTRF CROSSOVER_XGBTRF
#defineCROSSOVER_DGBTRF CROSSOVER_XGBTRF
#defineCROSSOVER_CGBTRF CROSSOVER_XGBTRF
#defineCROSSOVER_ZGBTRF CROSSOVER_XGBTRF
#defineCROSSOVER_XTRSYL CROSSOVER
#defineCROSSOVER_STRSYL CROSSOVER_XTRSYL
#defineCROSSOVER_DTRSYL CROSSOVER_XTRSYL
#defineCROSSOVER_CTRSYL CROSSOVER_XTRSYL
#defineCROSSOVER_ZTRSYL CROSSOVER_XTRSYL
#defineCROSSOVER_XTGSYL CROSSOVER
#defineCROSSOVER_STGSYL CROSSOVER_XTGSYL
#defineCROSSOVER_DTGSYL CROSSOVER_XTGSYL
#defineCROSSOVER_CTGSYL CROSSOVER_XTGSYL
#defineCROSSOVER_ZTGSYL CROSSOVER_XTGSYL
// sytrf helper routine
#defineCROSSOVER_XGEMMT CROSSOVER_XSYTRF
#defineCROSSOVER_SGEMMT CROSSOVER_XGEMMT
#defineCROSSOVER_DGEMMT CROSSOVER_XGEMMT
#defineCROSSOVER_CGEMMT CROSSOVER_XGEMMT
#defineCROSSOVER_ZGEMMT CROSSOVER_XGEMMT
#endif/* RELAPACK_CONFIG_H */