register qnn backend

This commit is contained in:
hongruichen 2024-07-17 20:53:53 +08:00
parent eed960575f
commit 454deef83c
3 changed files with 6 additions and 5 deletions

View file

@ -18,8 +18,6 @@ enum QNNBackend {
// QNN and original GGML
};
GGML_API int ggml_backend_qnn_reg_devices(void);
/**
*
* @param device 0: QNN_BACKEND_CPU 1: QNN_BACKEND_GPU 2:

View file

@ -445,6 +445,11 @@ GGML_CALL static void ggml_backend_registry_init(void) {
extern GGML_CALL void ggml_backend_kompute_reg_devices(void);
ggml_backend_kompute_reg_devices();
#endif
#ifdef GGML_USE_QNN
extern GGML_CALL void ggml_backend_qnn_reg_devices(void);
ggml_backend_qnn_reg_devices();
#endif
}
GGML_CALL void ggml_backend_register(const char * name, ggml_backend_init_fn init_fn, ggml_backend_buffer_type_t default_buffer_type, void * user_data) {

View file

@ -534,13 +534,11 @@ ggml_backend_t ggml_backend_qnn_init(size_t device, const char *qnn_lib_path) {
return qnn_backend;
}
int ggml_backend_qnn_reg_devices() {
extern "C" GGML_CALL void ggml_backend_qnn_reg_devices() {
for (size_t idx = 0; idx < GGML_QNN_MAX_DEVICES; idx++) {
char name[GGML_MAX_NAME];
ggml_backend_qnn_get_device_description(idx, name, GGML_MAX_NAME);
ggml_backend_register(name, ggml_backend_qnn_reg_init, ggml_backend_qnn_buffer_type(idx),
(void *)(intptr_t)idx);
}
return GGML_QNN_MAX_DEVICES;
}