@@ -116,26 +116,80 @@ if (DEFINED CORE AND CMAKE_CROSSCOMPILING AND NOT (${HOST_OS} STREQUAL "WINDOWSS
116
116
"#define L2_LINESIZE\t 64\n "
117
117
"#define DTB_DEFAULT_ENTRIES\t 64\n "
118
118
"#define DTB_SIZE\t 4096\n "
119
- "#define L2_ASSOCIATIVE\t 32\n " )
119
+ "#define L2_ASSOCIATIVE\t 32\n "
120
+ "#define ARMV8\n " )
120
121
set (SGEMM_UNROLL_M 4 )
121
122
set (SGEMM_UNROLL_N 4 )
122
- elseif ("${CORE} " STREQUAL "CORTEXA57" )
123
+ elseif ("${CORE} " STREQUAL "CORTEXA57" OR "${CORE} " STREQUAL "CORTEXA53" )
124
+ file (APPEND ${TARGET_CONF_TEMP}
125
+ "#define L1_CODE_SIZE\t 32768\n "
126
+ "#define L1_CODE_LINESIZE\t 64\n "
127
+ "#define L1_CODE_ASSOCIATIVE\t 3\n "
128
+ "#define L1_DATA_SIZE\t 32768\n "
129
+ "#define L1_DATA_LINESIZE\t 64\n "
130
+ "#define L1_DATA_ASSOCIATIVE\t 2\n "
131
+ "#define L2_SIZE\t 262144\n "
132
+ "#define L2_LINESIZE\t 64\n "
133
+ "#define L2_ASSOCIATIVE\t 16\n "
134
+ "#define DTB_DEFAULT_ENTRIES\t 64\n "
135
+ "#define DTB_SIZE\t 4096\n "
136
+ "#define HAVE_VFPV4\n "
137
+ "#define HAVE_VFPV3\n "
138
+ "#define HAVE_VFP\n "
139
+ "#define HAVE_NEON\n "
140
+ "#define ARMV8\n " )
141
+ set (SGEMM_UNROLL_M 16 )
142
+ set (SGEMM_UNROLL_N 4 )
143
+ set (DGEMM_UNROLL_M 8 )
144
+ set (DGEMM_UNROLL_N 4 )
145
+ set (CGEMM_UNROLL_M 8 )
146
+ set (CGEMM_UNROLL_N 4 )
147
+ set (ZGEMM_UNROLL_M 8 )
148
+ set (ZGEMM_UNROLL_N 4 )
149
+ elseif ("${CORE} " STREQUAL "CORTEXA72" OR "${CORE} " STREQUAL "CORTEXA73" )
123
150
file (APPEND ${TARGET_CONF_TEMP}
124
151
"#define L1_CODE_SIZE\t 49152\n "
125
152
"#define L1_CODE_LINESIZE\t 64\n "
126
153
"#define L1_CODE_ASSOCIATIVE\t 3\n "
127
154
"#define L1_DATA_SIZE\t 32768\n "
128
155
"#define L1_DATA_LINESIZE\t 64\n "
129
156
"#define L1_DATA_ASSOCIATIVE\t 2\n "
130
- "#define L2_SIZE\t 2097152\n "
157
+ "#define L2_SIZE\t 524288\n "
158
+ "#define L2_LINESIZE\t 64\n "
159
+ "#define L2_ASSOCIATIVE\t 16\n "
160
+ "#define DTB_DEFAULT_ENTRIES\t 64\n "
161
+ "#define DTB_SIZE\t 4096\n "
162
+ "#define HAVE_VFPV4\n "
163
+ "#define HAVE_VFPV3\n "
164
+ "#define HAVE_VFP\n "
165
+ "#define HAVE_NEON\n "
166
+ "#define ARMV8\n " )
167
+ set (SGEMM_UNROLL_M 16 )
168
+ set (SGEMM_UNROLL_N 4 )
169
+ set (DGEMM_UNROLL_M 8 )
170
+ set (DGEMM_UNROLL_N 4 )
171
+ set (CGEMM_UNROLL_M 8 )
172
+ set (CGEMM_UNROLL_N 4 )
173
+ set (ZGEMM_UNROLL_M 8 )
174
+ set (ZGEMM_UNROLL_N 4 )
175
+ elseif ("${CORE} " STREQUAL "FALKOR" )
176
+ file (APPEND ${TARGET_CONF_TEMP}
177
+ "#define L1_CODE_SIZE\t 65536\n "
178
+ "#define L1_CODE_LINESIZE\t 64\n "
179
+ "#define L1_CODE_ASSOCIATIVE\t 3\n "
180
+ "#define L1_DATA_SIZE\t 32768\n "
181
+ "#define L1_DATA_LINESIZE\t 128\n "
182
+ "#define L1_DATA_ASSOCIATIVE\t 2\n "
183
+ "#define L2_SIZE\t 524288\n "
131
184
"#define L2_LINESIZE\t 64\n "
132
185
"#define L2_ASSOCIATIVE\t 16\n "
133
186
"#define DTB_DEFAULT_ENTRIES\t 64\n "
134
187
"#define DTB_SIZE\t 4096\n "
135
188
"#define HAVE_VFPV4\n "
136
189
"#define HAVE_VFPV3\n "
137
190
"#define HAVE_VFP\n "
138
- "#define HAVE_NEON\n " )
191
+ "#define HAVE_NEON\n "
192
+ "#define ARMV8\n " )
139
193
set (SGEMM_UNROLL_M 16 )
140
194
set (SGEMM_UNROLL_N 4 )
141
195
set (DGEMM_UNROLL_M 8 )
@@ -144,6 +198,57 @@ if (DEFINED CORE AND CMAKE_CROSSCOMPILING AND NOT (${HOST_OS} STREQUAL "WINDOWSS
144
198
set (CGEMM_UNROLL_N 4 )
145
199
set (ZGEMM_UNROLL_M 8 )
146
200
set (ZGEMM_UNROLL_N 4 )
201
+ elseif ("${CORE} " STREQUAL "THUNDERX)
202
+ file(APPEND ${TARGET_CONF_TEMP}
203
+ " #define L1_CODE_SIZE\t32768\n"
204
+ "#define L1_CODE_LINESIZE\t 64\n "
205
+ "#define L1_CODE_ASSOCIATIVE\t 3\n "
206
+ "#define L1_DATA_SIZE\t 32768\n "
207
+ "#define L1_DATA_LINESIZE\t 128\n "
208
+ "#define L1_DATA_ASSOCIATIVE\t 2\n "
209
+ "#define L2_SIZE\t 167772164\n "
210
+ "#define L2_LINESIZE\t 128\n "
211
+ "#define L2_ASSOCIATIVE\t 16\n "
212
+ "#define DTB_DEFAULT_ENTRIES\t 64\n "
213
+ "#define DTB_SIZE\t 4096\n "
214
+ "#define HAVE_VFPV4\n "
215
+ "#define HAVE_VFPV3\n "
216
+ "#define HAVE_VFP\n "
217
+ "#define HAVE_NEON\n "
218
+ "#define ARMV8\n " )
219
+ set (SGEMM_UNROLL_M 4 )
220
+ set (SGEMM_UNROLL_N 4 )
221
+ set (DGEMM_UNROLL_M 2 )
222
+ set (DGEMM_UNROLL_N 2 )
223
+ set (CGEMM_UNROLL_M 2 )
224
+ set (CGEMM_UNROLL_N 2 )
225
+ set (ZGEMM_UNROLL_M 2 )
226
+ set (ZGEMM_UNROLL_N 2 )
227
+ elseif ("${CORE} " STREQUAL "THUNDERX2T99)
228
+ file(APPEND ${TARGET_CONF_TEMP}
229
+ " #define L1_CODE_SIZE\t32768\n"
230
+ "#define L1_CODE_LINESIZE\t 64\n "
231
+ "#define L1_CODE_ASSOCIATIVE\t 8\n "
232
+ "#define L1_DATA_SIZE\t 32768\n "
233
+ "#define L1_DATA_LINESIZE\t 64\n "
234
+ "#define L1_DATA_ASSOCIATIVE\t 8\n "
235
+ "#define L2_SIZE\t 262144\n "
236
+ "#define L2_LINESIZE\t 64\n "
237
+ "#define L2_ASSOCIATIVE\t 8\n "
238
+ "#define L3_SIZE\t 33554432\n "
239
+ "#define L3_LINESIZE\t 64\n "
240
+ "#define L3_ASSOCIATIVE\t 32\n "
241
+ "#define DTB_DEFAULT_ENTRIES\t 64\n "
242
+ "#define DTB_SIZE\t 4096\n "
243
+ "#define VULCAN\n " )
244
+ set (SGEMM_UNROLL_M 16 )
245
+ set (SGEMM_UNROLL_N 4 )
246
+ set (DGEMM_UNROLL_M 8 )
247
+ set (DGEMM_UNROLL_N 4 )
248
+ set (CGEMM_UNROLL_M 8 )
249
+ set (CGEMM_UNROLL_N 4 )
250
+ set (ZGEMM_UNROLL_M 4 )
251
+ set (ZGEMM_UNROLL_N 4 )
147
252
endif ()
148
253
149
254
# Or should this actually be NUM_CORES?
@@ -163,6 +268,7 @@ if (DEFINED CORE AND CMAKE_CROSSCOMPILING AND NOT (${HOST_OS} STREQUAL "WINDOWSS
163
268
file (APPEND ${TARGET_CONF_TEMP}
164
269
"#define GEMM_MULTITHREAD_THRESHOLD\t ${GEMM_MULTITHREAD_THRESHOLD} \n " )
165
270
# Move to where gen_config_h would place it
271
+ file (MAKE_DIRECTORY ${TARGET_CONF_DIR} )
166
272
file (RENAME ${TARGET_CONF_TEMP} "${TARGET_CONF_DIR} /${TARGET_CONF} " )
167
273
168
274
else (NOT CMAKE_CROSSCOMPILING )
0 commit comments