Skip to content

Commit 6696621

Browse files
author
zhouwg
committed
ggml-hexagon: check whether user's specified htp arch is valid in CMakeLists.txt
1 parent e00955e commit 6696621

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

ggml/src/ggml-hexagon/CMakeLists.txt

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,17 @@ if(NOT DEFINED HTP_ARCH_VERSION)
3636
set(HTP_ARCH_VERSION v75)
3737
endif()
3838

39+
#check whether user's specified htp arch is valid
40+
set(CHECK_HTP_ARCH "WRONG")
41+
foreach (feat v68 v69 v73 v75 v79)
42+
if (${feat} STREQUAL ${HTP_ARCH_VERSION})
43+
set(CHECK_HTP_ARCH "GOOD")
44+
endif()
45+
endforeach()
46+
if (${CHECK_HTP_ARCH} STREQUAL "WRONG")
47+
message(FATAL_ERROR "ggml-hexagon backend only support htp arch v68,v69,v73,v75,v79")
48+
endif()
49+
3950
#cross compiling for hexagon kernels on cDSP side
4051
set(HEXAGON_CC "${HEXAGON_SDK_PATH}/tools/HEXAGON_Tools/8.8.06/Tools/bin/hexagon-clang")
4152
set(HEXAGON_CXX "${HEXAGON_SDK_PATH}/tools/HEXAGON_Tools/8.8.06/Tools/bin/hexagon-clang")
@@ -71,14 +82,14 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Android")
7182
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
7283
set(QNN_DEFAULT_LIB_SEARCH_PATH "C:\\" CACHE STRING "customized library search path for QNN backend")
7384
else()
74-
message(FATAL_ERROR "QNN now only available on Android and Windows(Windows on ARM)")
85+
message(FATAL_ERROR "ggml-hexagon now only available on Android and Windows(Windows on ARM)")
7586
endif()
7687

7788
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGGML_USE_HEXAGON ${DEBUG_FLAG}")
7889
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3")
7990

80-
file(GLOB QNN_SOURCES "${CMAKE_CURRENT_LIST_DIR}/*.cpp" "${CMAKE_CURRENT_LIST_DIR}/kernels/ggmlop_ap_skel.c")
81-
ggml_add_backend_library(ggml-hexagon ${QNN_SOURCES})
91+
file(GLOB HEXAGON_SOURCES "${CMAKE_CURRENT_LIST_DIR}/*.cpp" "${CMAKE_CURRENT_LIST_DIR}/kernels/ggmlop_ap_skel.c")
92+
ggml_add_backend_library(ggml-hexagon ${HEXAGON_SOURCES})
8293

8394
target_include_directories(ggml-hexagon PRIVATE ${QNN_SDK_PATH}/include/QNN ${HEXAGON_SDK_PATH} ${CMAKE_CURRENT_LIST_DIR})
8495
target_link_libraries(ggml-hexagon PRIVATE ${QNN_LINK_LIBRARIES})
@@ -87,7 +98,7 @@ string(REGEX REPLACE "/$" "" QNN_DEFAULT_LIB_SEARCH_PATH "${QNN_DEFAULT_LIB_SEAR
8798
target_compile_definitions(ggml-hexagon PRIVATE QNN_DEFAULT_LIB_SEARCH_PATH="${QNN_DEFAULT_LIB_SEARCH_PATH}/")
8899

89100
function(ggml_hexagon_build_kernel KNAME)
90-
message(STATUS "ggml_hexagon: build kernel ${KNAME}")
101+
message(STATUS "ggml_hexagon: build hexagon-kernel ${KNAME}")
91102

92103
add_custom_command(
93104
TARGET ${PROJECT_NAME}

0 commit comments

Comments
 (0)