refactoring: remove depend of dlsym at utils.hpp
This commit is contained in:
parent
0301b500cd
commit
b1ef302991
2 changed files with 9 additions and 9 deletions
|
@ -36,6 +36,11 @@ inline int dl_unload(dl_handler_t handle) { return dlclose(handle); }
|
||||||
|
|
||||||
inline const char *dl_error() { return dlerror(); }
|
inline const char *dl_error() { return dlerror(); }
|
||||||
|
|
||||||
|
template <typename Fn>
|
||||||
|
Fn dl_sym_typed(dl_handler_t handle, const std::string &function_name) {
|
||||||
|
return reinterpret_cast<Fn>(dl_sym(handle, function_name));
|
||||||
|
}
|
||||||
|
|
||||||
// =================================================================================================
|
// =================================================================================================
|
||||||
//
|
//
|
||||||
// wrapper class of Qualcomm QNN(Qualcomm Neural Network, aka Qualcomm AI Engine Direct) SDK
|
// wrapper class of Qualcomm QNN(Qualcomm Neural Network, aka Qualcomm AI Engine Direct) SDK
|
||||||
|
@ -722,8 +727,8 @@ private:
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto *get_providers = reinterpret_cast<qnn::pfn_qnnsysteminterface_getproviders *>(
|
auto *get_providers = dl_sym_typed<qnn::pfn_qnnsysteminterface_getproviders *>(
|
||||||
dl_sym(system_lib_handle, "QnnSystemInterface_getProviders"));
|
system_lib_handle, "QnnSystemInterface_getProviders");
|
||||||
if (!get_providers) {
|
if (!get_providers) {
|
||||||
QNN_LOG_WARN("can not load QNN symbol QnnSystemInterface_getProviders: %s\n", dl_error());
|
QNN_LOG_WARN("can not load QNN symbol QnnSystemInterface_getProviders: %s\n", dl_error());
|
||||||
return 2;
|
return 2;
|
||||||
|
@ -784,8 +789,8 @@ private:
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto get_providers = qnn::load_qnn_functionpointers<qnn::pfn_qnninterface_getproviders *>(
|
auto get_providers =
|
||||||
lib_handle, "QnnInterface_getProviders");
|
qnn::dl_sym_typed<qnn::pfn_qnninterface_getproviders *>(lib_handle, "QnnInterface_getProviders");
|
||||||
if (!get_providers) {
|
if (!get_providers) {
|
||||||
QNN_LOG_WARN("can not load symbol QnnInterface_getProviders : %s", dl_error());
|
QNN_LOG_WARN("can not load symbol QnnInterface_getProviders : %s", dl_error());
|
||||||
return 2;
|
return 2;
|
||||||
|
|
|
@ -24,11 +24,6 @@ uint32_t get_ggml_tensor_data_size(const ggml_tensor *tensor);
|
||||||
|
|
||||||
const char *opname_from_ggmlop(enum ggml_op ggmlop);
|
const char *opname_from_ggmlop(enum ggml_op ggmlop);
|
||||||
|
|
||||||
template <typename Fn>
|
|
||||||
Fn load_qnn_functionpointers(void *handle, const char *function_name) {
|
|
||||||
return reinterpret_cast<Fn>(dlsym(handle, function_name));
|
|
||||||
}
|
|
||||||
|
|
||||||
inline int validate_tensor_version(const Qnn_Tensor_t &tensor) {
|
inline int validate_tensor_version(const Qnn_Tensor_t &tensor) {
|
||||||
if (tensor.version != QNN_TENSOR_VERSION_1) {
|
if (tensor.version != QNN_TENSOR_VERSION_1) {
|
||||||
QNN_LOG_WARN("validate_tensor_version() tensor %s, got unsupported version %d\n", tensor.v1.name,
|
QNN_LOG_WARN("validate_tensor_version() tensor %s, got unsupported version %d\n", tensor.v1.name,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue