Skip to content

Commit c307df4

Browse files
committed
ggml-hexagon: release ggml-hexagon v0.98
1 parent 42cd5c3 commit c307df4

15 files changed

+4046
-4142
lines changed

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ llama_option_depr(WARNING LLAMA_RPC GGML_RPC)
129129
llama_option_depr(WARNING LLAMA_SYCL GGML_SYCL)
130130
llama_option_depr(WARNING LLAMA_SYCL_F16 GGML_SYCL_F16)
131131
llama_option_depr(WARNING LLAMA_CANN GGML_CANN)
132-
llama_option_depr(WARNING LLAMA_QNN GGML_QNN)
132+
llama_option_depr(WARNING LLAMA_HEXAGON GGML_HEXAGON)
133133

134134
if (NOT MSVC)
135135
if (LLAMA_SANITIZE_THREAD)

ggml/CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ option(GGML_OPENCL_EMBED_KERNELS "ggml: embed kernels"
204204
option(GGML_OPENCL_USE_ADRENO_KERNELS "ggml: use optimized kernels for Adreno" ON)
205205
set (GGML_OPENCL_TARGET_VERSION "300" CACHE STRING
206206
"gmml: OpenCL API version to target")
207-
option(GGML_QNN "ggml: use QNN" OFF)
207+
option(GGML_HEXAGON "ggml: use HEXAGON" OFF)
208208

209209
# toolchain for vulkan-shaders-gen
210210
set (GGML_VULKAN_SHADERS_GEN_TOOLCHAIN "" CACHE FILEPATH "ggml: toolchain file for vulkan-shaders-gen")
@@ -270,7 +270,7 @@ set(GGML_PUBLIC_HEADERS
270270
include/ggml-rpc.h
271271
include/ggml-sycl.h
272272
include/ggml-vulkan.h
273-
include/ggml-qnn.h
273+
include/ggml-hexagon.h
274274
include/gguf.h)
275275

276276
set_target_properties(ggml PROPERTIES PUBLIC_HEADER "${GGML_PUBLIC_HEADERS}")

ggml/include/ggml-qnn.h renamed to ggml/include/ggml-hexagon.h

+14-13
Original file line numberDiff line numberDiff line change
@@ -28,25 +28,26 @@
2828
extern "C" {
2929
#endif
3030

31-
#define GGML_QNN_MAX_DEVICES 3
32-
#define GGML_QNN_BACKEND_NAME "hexagon"
33-
34-
enum QNNBackend {
35-
QNN_BACKEND_CPU,
36-
QNN_BACKEND_GPU,
37-
QNN_BACKEND_NPU,
38-
QNN_BACKEND_GGML, //"fake" QNN backend for compare performance between QNN backend and cpu backend
31+
#define GGML_HEXAGON_MAX_DEVICES 3
32+
#define GGML_HEXAGON_BACKEND_NAME "hexagon"
33+
34+
enum HEXAGONBackend {
35+
HEXAGON_BACKEND_QNNCPU = 0,
36+
HEXAGON_BACKEND_QNNGPU = 1,
37+
HEXAGON_BACKEND_QNNNPU = 2,
38+
HEXAGON_BACKEND_CDSP = 2,
39+
HEXAGON_BACKEND_GGML = 3, //"fake" QNN backend for compare performance between HEXAGON backend and ggml backend
3940
};
4041

41-
GGML_BACKEND_API ggml_backend_t ggml_backend_qnn_init(size_t dev_num, const char * qnn_lib_path);
42+
GGML_BACKEND_API ggml_backend_t ggml_backend_hexagon_init(size_t dev_num, const char * qnn_lib_path);
4243

43-
GGML_BACKEND_API bool ggml_backend_is_qnn(ggml_backend_t backend);
44+
GGML_BACKEND_API bool ggml_backend_is_hexagon(ggml_backend_t backend);
4445

45-
GGML_BACKEND_API int ggml_backend_qnn_get_device_count(void);
46+
GGML_BACKEND_API int ggml_backend_hexagon_get_device_count(void);
4647

47-
GGML_BACKEND_API ggml_backend_reg_t ggml_backend_qnn_reg(void);
48+
GGML_BACKEND_API ggml_backend_reg_t ggml_backend_hexagon_reg(void);
4849

49-
const char * ggml_backend_qnn_get_devname(size_t dev_num);
50+
const char * ggml_backend_hexagon_get_devname(size_t dev_num);
5051

5152
#ifdef __cplusplus
5253
}

ggml/src/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ ggml_add_backend(RPC)
310310
ggml_add_backend(SYCL)
311311
ggml_add_backend(Vulkan)
312312
ggml_add_backend(OpenCL)
313-
ggml_add_backend(QNN)
313+
ggml_add_backend(HEXAGON)
314314

315315
foreach (target ggml-base ggml)
316316
target_include_directories(${target} PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include> $<INSTALL_INTERFACE:include>)

ggml/src/ggml-backend-reg.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@
6565
#include "ggml-kompute.h"
6666
#endif
6767

68-
#ifdef GGML_USE_QNN
69-
#include "ggml-qnn.h"
68+
#ifdef GGML_USE_HEXAGON
69+
#include "ggml-hexagon.h"
7070
#endif
7171

7272
// disable C++17 deprecation warning for std::codecvt_utf8
@@ -191,8 +191,8 @@ struct ggml_backend_registry {
191191
#ifdef GGML_USE_KOMPUTE
192192
register_backend(ggml_backend_kompute_reg());
193193
#endif
194-
#ifdef GGML_USE_QNN
195-
register_backend(ggml_backend_qnn_reg());
194+
#ifdef GGML_USE_HEXAGON
195+
register_backend(ggml_backend_hexagon_reg());
196196
#endif
197197
#ifdef GGML_USE_CPU
198198
register_backend(ggml_backend_cpu_reg());
@@ -584,7 +584,7 @@ void ggml_backend_load_all_from_path(const char * dir_path) {
584584
ggml_backend_load_best("vulkan", silent, dir_path);
585585
ggml_backend_load_best("opencl", silent, dir_path);
586586
ggml_backend_load_best("musa", silent, dir_path);
587-
ggml_backend_load_best("qnn", silent, dir_path);
587+
ggml_backend_load_best("hexagon", silent, dir_path);
588588
ggml_backend_load_best("cpu", silent, dir_path);
589589
// check the environment variable GGML_BACKEND_PATH to load an out-of-tree backend
590590
const char * backend_path = std::getenv("GGML_BACKEND_PATH");

ggml/src/ggml-qnn/CMakeLists.txt renamed to ggml/src/ggml-hexagon/CMakeLists.txt

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
project(ggml-qnn)
1+
project(ggml-hexagon)
22
message(STATUS "Using HEXAGON backend")
33
message("CMAKE_SYSTEM_NAME : ${CMAKE_SYSTEM_NAME}")
44

@@ -37,8 +37,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Android")
3737
include_directories(${HEXAGON_SDK_PATH}/ipc/fastrpc/rtld/ship/android_aarch64)
3838
include_directories(${HEXAGON_SDK_PATH}/libs/atomic/inc)
3939
include_directories(${HEXAGON_SDK_PATH}/libs/atomic/android_Debug_aarch64/ship)
40-
include_directories(${CMAKE_SOURCE_DIR}/ggml/src/ggml-qnn/)
41-
include_directories(${CMAKE_SOURCE_DIR}/ggml/src/ggml-qnn/kernels/)
40+
include_directories(${CMAKE_SOURCE_DIR}/ggml/src/ggml-hexagon/)
41+
include_directories(${CMAKE_SOURCE_DIR}/ggml/src/ggml-hexagon/kernels/)
4242
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
4343
set(QNN_DEFAULT_LIB_SEARCH_PATH "C:\\" CACHE STRING "customized library search path for QNN backend")
4444
else()
@@ -49,13 +49,13 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGGML_USE_QNN")
4949
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3")
5050

5151
file(GLOB QNN_SOURCES "${CMAKE_CURRENT_LIST_DIR}/*.cpp" "${CMAKE_CURRENT_LIST_DIR}/kernels/ggmlop_ap_skel.c")
52-
ggml_add_backend_library(ggml-qnn ${QNN_SOURCES})
52+
ggml_add_backend_library(ggml-hexagon ${QNN_SOURCES})
5353

54-
target_include_directories(ggml-qnn PRIVATE ${QNN_SDK_PATH}/include/QNN ${HEXAGON_SDK_PATH} ${CMAKE_CURRENT_LIST_DIR})
55-
target_link_libraries(ggml-qnn PRIVATE ${QNN_LINK_LIBRARIES})
54+
target_include_directories(ggml-hexagon PRIVATE ${QNN_SDK_PATH}/include/QNN ${HEXAGON_SDK_PATH} ${CMAKE_CURRENT_LIST_DIR})
55+
target_link_libraries(ggml-hexagon PRIVATE ${QNN_LINK_LIBRARIES})
5656

5757
string(REGEX REPLACE "/$" "" QNN_DEFAULT_LIB_SEARCH_PATH "${QNN_DEFAULT_LIB_SEARCH_PATH}")
58-
target_compile_definitions(ggml-qnn PRIVATE QNN_DEFAULT_LIB_SEARCH_PATH="${QNN_DEFAULT_LIB_SEARCH_PATH}/")
58+
target_compile_definitions(ggml-hexagon PRIVATE QNN_DEFAULT_LIB_SEARCH_PATH="${QNN_DEFAULT_LIB_SEARCH_PATH}/")
5959

6060
function(ggml_hexagon_build_kernel KNAME)
6161
message(STATUS "ggml_hexagon: build kernel ${KNAME}")

0 commit comments

Comments
 (0)