redo conflict changes
This commit is contained in:
parent
67b183ceb1
commit
6d4feae579
|
|
@ -232,7 +232,8 @@ set(GGML_PUBLIC_HEADERS
|
|||
include/ggml-metal.h
|
||||
include/ggml-rpc.h
|
||||
include/ggml-sycl.h
|
||||
include/ggml-vulkan.h)
|
||||
include/ggml-vulkan.h
|
||||
include/ggml-qnn.h)
|
||||
|
||||
set_target_properties(ggml PROPERTIES PUBLIC_HEADER "${GGML_PUBLIC_HEADERS}")
|
||||
#if (GGML_METAL)
|
||||
|
|
|
|||
|
|
@ -286,6 +286,7 @@ ggml_add_backend(MUSA)
|
|||
ggml_add_backend(RPC)
|
||||
ggml_add_backend(SYCL)
|
||||
ggml_add_backend(Vulkan)
|
||||
ggml_add_backend(QNN)
|
||||
|
||||
foreach (target ggml-base ggml)
|
||||
target_include_directories(${target} PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include> $<INSTALL_INTERFACE:include>)
|
||||
|
|
|
|||
|
|
@ -61,6 +61,14 @@
|
|||
#include "ggml-kompute.h"
|
||||
#endif
|
||||
|
||||
#ifdef GGML_USE_KOMPUTE
|
||||
#include "ggml-kompute.h"
|
||||
#endif
|
||||
|
||||
#ifdef GGML_USE_QNN
|
||||
#include "ggml-qnn.h"
|
||||
#endif
|
||||
|
||||
struct ggml_backend_reg_entry {
|
||||
ggml_backend_reg_t reg;
|
||||
void * handle;
|
||||
|
|
@ -98,6 +106,9 @@ struct ggml_backend_registry {
|
|||
#ifdef GGML_USE_KOMPUTE
|
||||
register_backend(ggml_backend_kompute_reg());
|
||||
#endif
|
||||
#ifdef GGML_USE_QNN
|
||||
register_backend(ggml_backend_qnn_reg());
|
||||
#endif
|
||||
#ifdef GGML_USE_CPU
|
||||
register_backend(ggml_backend_cpu_reg());
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -0,0 +1,34 @@
|
|||
message(STATUS "Using QNN backend")
|
||||
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||
find_library(LOG_LIB log)
|
||||
find_library(ANDROID_LIB android)
|
||||
set(QNN_LINK_LIBRARIES ${LOG_LIB} ${ANDROID_LIB})
|
||||
set(QNN_DEFAULT_LIB_SEARCH_PATH "/data/local/tmp/" CACHE STRING "customized library search path for QNN backend")
|
||||
else()
|
||||
message(FATAL_ERROR "QNN now only available on Android")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED GGML_QNN_SDK_PATH)
|
||||
# try read from environment variable
|
||||
if(DEFINED ENV{QNN_SDK_PATH})
|
||||
set(GGML_QNN_SDK_PATH $ENV{QNN_SDK_PATH})
|
||||
else()
|
||||
message(FATAL_ERROR "GGML_QNN_SDK_PATH not defined")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
message("QNN_SDK_PATH: ${GGML_QNN_SDK_PATH}")
|
||||
|
||||
string(REGEX REPLACE "/$" "" GGML_QNN_DEFAULT_LIB_SEARCH_PATH "${QNN_DEFAULT_LIB_SEARCH_PATH}")
|
||||
add_compile_definitions(GGML_QNN_DEFAULT_LIB_SEARCH_PATH="${QNN_DEFAULT_LIB_SEARCH_PATH}/")
|
||||
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3")
|
||||
|
||||
file(GLOB QNN_SOURCES "${CMAKE_CURRENT_LIST_DIR}/*.cpp")
|
||||
ggml_add_backend_library(ggml-qnn
|
||||
${QNN_SOURCES}
|
||||
)
|
||||
|
||||
target_include_directories(ggml-qnn PRIVATE ${GGML_QNN_SDK_PATH}/include/QNN ${CMAKE_CURRENT_LIST_DIR})
|
||||
target_link_libraries(ggml-qnn PRIVATE ${QNN_LINK_LIBRARIES})
|
||||
Loading…
Reference in New Issue