diff --git a/cmake/external/xnnpack.cmake b/cmake/external/xnnpack.cmake index 386aa574fc400..d66c3ca6b3853 100644 --- a/cmake/external/xnnpack.cmake +++ b/cmake/external/xnnpack.cmake @@ -5,6 +5,8 @@ set(FP16_BUILD_TESTS OFF CACHE INTERNAL "") set(FP16_BUILD_BENCHMARKS OFF CACHE INTERNAL "") set(PTHREADPOOL_BUILD_TESTS OFF CACHE INTERNAL "") set(PTHREADPOOL_BUILD_BENCHMARKS OFF CACHE INTERNAL "") +set(KLEIDIAI_BUILD_TESTS OFF CACHE INTERNAL "") +set(KLEIDIAI_BUILD_BENCHMARK OFF CACHE INTERNAL "") if(CMAKE_SYSTEM_PROCESSOR MATCHES "^riscv64.*") set(XNNPACK_USE_SYSTEM_LIBS OFF) @@ -31,14 +33,11 @@ FetchContent_Declare(pthreadpool URL ${DEP_URL_pthreadpool} URL_HASH SHA1=${DEP_ onnxruntime_fetchcontent_makeavailable(pthreadpool) # https://github.com/google/XNNPACK/blob/3b3f7b8a6668f6ab3b6ce33b9f1d1fce971549d1/CMakeLists.txt#L206C82-L206C117 -if(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm64.*" AND NOT CMAKE_C_COMPILER_ID STREQUAL "MSVC") - FetchContent_Declare(kleidiai URL ${DEP_URL_kleidiai} URL_HASH SHA1=${DEP_SHA1_kleidiai} - PATCH_COMMAND ${Patch_EXECUTABLE} --binary --ignore-whitespace -p1 < ${PROJECT_SOURCE_DIR}/patches/kleidiai/NoTestProjects.patch - ) +#if(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm64.*" AND NOT CMAKE_C_COMPILER_ID STREQUAL "MSVC") + FetchContent_Declare(kleidiai URL ${DEP_URL_kleidiai} URL_HASH SHA1=${DEP_SHA1_kleidiai}) onnxruntime_fetchcontent_makeavailable(kleidiai) set(KLEIDIAI_SOURCE_DIR ${kleidiai_SOURCE_DIR}) -endif() - +#endif() FetchContent_Declare(googlexnnpack URL ${DEP_URL_googlexnnpack} URL_HASH SHA1=${DEP_SHA1_googlexnnpack} PATCH_COMMAND ${Patch_EXECUTABLE} --binary --ignore-whitespace -p1 < ${PROJECT_SOURCE_DIR}/patches/xnnpack/AddEmscriptenAndIosSupport.patch @@ -48,9 +47,9 @@ set(XNNPACK_DIR ${googlexnnpack_SOURCE_DIR}) set(XNNPACK_INCLUDE_DIR ${XNNPACK_DIR}/include) set(onnxruntime_EXTERNAL_LIBRARIES_XNNPACK XNNPACK pthreadpool) -if(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm64.*" AND NOT CMAKE_C_COMPILER_ID STREQUAL "MSVC") +#if(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm64.*" AND NOT CMAKE_C_COMPILER_ID STREQUAL "MSVC") list(APPEND onnxruntime_EXTERNAL_LIBRARIES_XNNPACK kleidiai) -endif() +#endif() # the XNNPACK CMake setup doesn't include the WASM kernels so we have to manually set those up if(CMAKE_SYSTEM_NAME STREQUAL "Emscripten") diff --git a/cmake/patches/kleidiai/NoTestProjects.patch b/cmake/patches/kleidiai/NoTestProjects.patch deleted file mode 100644 index c5b84c26fee28..0000000000000 --- a/cmake/patches/kleidiai/NoTestProjects.patch +++ /dev/null @@ -1,66 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3e78307..91bd676 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -150,61 +150,6 @@ target_compile_options(kleidiai - PRIVATE ${KLEIDIAI_WARNING_FLAGS} - ) - --if(KLEIDIAI_BUILD_TESTS) -- enable_testing() -- include(GoogleTest) -- -- add_library(kleidiai_test_framework -- test/common/data_type.cpp -- test/common/data_format.cpp -- test/common/printer.cpp -- test/common/int4.cpp -- test/common/compare.cpp -- test/common/matrix_portion.cpp -- test/common/rect.cpp -- test/common/round.cpp -- test/common/bfloat16.cpp -- test/common/float16.cpp -- test/common/cpu_info.cpp -- test/common/sme.cpp -- -- test/reference/binary_elementwise.cpp -- test/reference/matmul.cpp -- test/reference/fill.cpp -- test/reference/pack.cpp -- test/reference/quantize.cpp -- test/reference/reduce.cpp -- test/reference/transpose.cpp -- test/reference/cast.cpp -- ) -- -- target_compile_options(kleidiai_test_framework -- PUBLIC ${KLEIDIAI_WARNING_FLAGS} -- PUBLIC -march=armv8.2-a+fp16+bf16 -- ) -- -- set_source_files_properties(test/common/sme.cpp PROPERTIES COMPILE_OPTIONS -march=armv8.2-a+sve) -- -- target_link_libraries(kleidiai_test_framework -- PUBLIC kleidiai -- ) -- -- add_executable(kleidiai_test -- test/tests/matmul_test.cpp -- test/tests/matmul_clamp_f32_qai8dxp_qsi4cxp_test.cpp -- test/tests/matmul_clamp_f32_qsi8d32p_qsi4c32p_test.cpp -- ) -- -- target_link_libraries(kleidiai_test -- PRIVATE kleidiai_test_framework -- PRIVATE GTest::gtest_main -- ) -- -- # Cross-compiling is a common use case which creates a conflict if DISCOVERY_MODE is set to POST_BUILD (by default) -- # since the host platform does not match the target. Setting the mode to PRE_TEST avoids this conflict. -- gtest_discover_tests(kleidiai_test DISCOVERY_MODE PRE_TEST) --endif() -- - if(KLEIDIAI_BUILD_BENCHMARK) - # https://github.com/google/benchmark/issues/351 - if(NOT (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ARM"))