@@ -17,7 +17,7 @@ set(EXECUTORCH_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../..)
17
17
18
18
include (${EXECUTORCH_ROOT} /tools/cmake/Test.cmake )
19
19
20
- set (_kernels portable optimized quantized )
20
+ set (_kernels portable optimized_portable optimized quantized )
21
21
foreach (kernel ${_kernels} )
22
22
set (_wrapper_dir
23
23
"${CMAKE_CURRENT_BINARY_DIR} /include/${kernel} /executorch/kernels/test"
@@ -37,13 +37,17 @@ foreach(kernel ${_kernels})
37
37
VERBATIM
38
38
)
39
39
40
+ set (_supported_features_kernel ${kernel} )
41
+ if (${kernel} STREQUAL "optimized_portable" )
42
+ set (_supported_features_kernel "portable" )
43
+ endif ()
40
44
add_custom_command (
41
45
OUTPUT "${_wrapper_dir} /supported_features.cpp"
42
46
"${_wrapper_dir} /supported_features.h"
43
47
COMMAND mkdir -p ${_wrapper_dir}
44
48
COMMAND
45
49
${PYTHON_EXECUTABLE} kernels/test/gen_supported_features.py
46
- kernels/${kernel }/test/supported_features_def.yaml >
50
+ kernels/${_supported_features_kernel }/test/supported_features_def.yaml >
47
51
${_wrapper_dir} /supported_features.cpp
48
52
COMMAND
49
53
${PYTHON_EXECUTABLE} kernels/test/gen_supported_features.py
@@ -57,6 +61,11 @@ foreach(kernel ${_kernels})
57
61
set (_kernel_ops_lib "optimized_native_cpu_ops_lib" )
58
62
set (_kernel_ops_lib_path
59
63
"${CMAKE_CURRENT_BINARY_DIR} /../../configurations/optimized_native_cpu_ops_lib"
64
+ )
65
+ elseif (${kernel} STREQUAL "optimized_portable" )
66
+ set (_kernel_ops_lib "${kernel} _ops_lib" )
67
+ set (_kernel_ops_lib_path
68
+ "${CMAKE_CURRENT_BINARY_DIR} /../../kernels/portable/${kernel} _ops_lib"
60
69
)
61
70
else ()
62
71
set (_kernel_ops_lib "${kernel} _ops_lib" )
@@ -88,6 +97,9 @@ add_custom_target(
88
97
"${CMAKE_CURRENT_BINARY_DIR} /include/optimized/executorch/kernels/test/FunctionHeaderWrapper.h"
89
98
"${CMAKE_CURRENT_BINARY_DIR} /include/optimized/executorch/kernels/test/supported_features.h"
90
99
"${CMAKE_CURRENT_BINARY_DIR} /include/optimized/executorch/kernels/test/supported_features.cpp"
100
+ "${CMAKE_CURRENT_BINARY_DIR} /include/optimized_portable/executorch/kernels/test/FunctionHeaderWrapper.h"
101
+ "${CMAKE_CURRENT_BINARY_DIR} /include/optimized_portable/executorch/kernels/test/supported_features.h"
102
+ "${CMAKE_CURRENT_BINARY_DIR} /include/optimized_portable/executorch/kernels/test/supported_features.cpp"
91
103
"${CMAKE_CURRENT_BINARY_DIR} /include/quantized/executorch/kernels/test/FunctionHeaderWrapper.h"
92
104
"${CMAKE_CURRENT_BINARY_DIR} /include/quantized/executorch/kernels/test/supported_features.h"
93
105
"${CMAKE_CURRENT_BINARY_DIR} /include/quantized/executorch/kernels/test/supported_features.cpp"
@@ -299,6 +311,22 @@ set(_optimized_kernels_test_sources
299
311
if (TARGET optimized_portable_kernels )
300
312
list (APPEND _optimized_kernels_test_sources ${all_test_sources} )
301
313
list (REMOVE_DUPLICATES _optimized_kernels_test_sources )
314
+
315
+ # Make sure that we still test optimized versions of portable
316
+ # kernels even if they would currently be shadowed by specific
317
+ # optimized implementations.
318
+ et_cxx_test (
319
+ optimized_portable_kernels_test
320
+ SOURCES
321
+ ${all_test_sources}
322
+ ${CMAKE_CURRENT_BINARY_DIR} /include/optimized_portable/executorch/kernels/test/supported_features.cpp
323
+ EXTRA_LIBS
324
+ optimized_portable_kernels
325
+ )
326
+ add_dependencies (optimized_portable_kernels_test generate_wrapper )
327
+ target_include_directories (
328
+ optimized_portable_kernels_test PRIVATE "${CMAKE_CURRENT_BINARY_DIR} /include/optimized_portable"
329
+ )
302
330
endif ()
303
331
304
332
et_cxx_test (
0 commit comments