wasi-nn: Apply new architecture (#3692)
ps. https://github.com/bytecodealliance/wasm-micro-runtime/issues/3677
This commit is contained in:
@ -1,12 +1,13 @@
|
||||
# Copyright (C) 2019 Intel Corporation. All rights reserved.
|
||||
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
|
||||
|
||||
find_library(TENSORFLOW_LITE
|
||||
NAMES tensorflow-lite
|
||||
find_library(TENSORFLOW_LITE
|
||||
NAMES tensorflow-lite
|
||||
HINTS ${CMAKE_CURRENT_BINARY_DIR}/tensorflow-lite
|
||||
NO_DEFAULT_PATHS
|
||||
)
|
||||
|
||||
if(NOT EXISTS ${TENSORFLOW_LITE})
|
||||
if(NOT TENSORFLOW_LITE)
|
||||
if(NOT EXISTS "${WAMR_ROOT_DIR}/core/deps/tensorflow-src")
|
||||
execute_process(
|
||||
COMMAND "${WAMR_ROOT_DIR}/core/deps/install_tensorflow.sh"
|
||||
@ -32,11 +33,15 @@ if(NOT EXISTS ${TENSORFLOW_LITE})
|
||||
"${TENSORFLOW_SOURCE_DIR}/tensorflow/lite"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/tensorflow-lite"
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
|
||||
set(TENSORFLOW_LITE_INCLUDE_DIR "${TENSORFLOW_SOURCE_DIR}")
|
||||
set(FLATBUFFER_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}/flatbuffers/include")
|
||||
|
||||
include_directories(${TENSORFLOW_LITE_INCLUDE_DIR})
|
||||
include_directories(${FLATBUFFER_INCLUDE_DIR})
|
||||
)
|
||||
else ()
|
||||
message(STATUS "TensorFlow Lite library found: ${TENSORFLOW_LITE}")
|
||||
set(TENSORFLOW_SOURCE_DIR "${WAMR_ROOT_DIR}/core/deps/tensorflow-src")
|
||||
endif()
|
||||
|
||||
set(TENSORFLOW_LITE_INCLUDE_DIR "${TENSORFLOW_SOURCE_DIR}/tensorflow/lite")
|
||||
set(FLATBUFFER_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}/flatbuffers/include")
|
||||
|
||||
include_directories(${TENSORFLOW_SOURCE_DIR})
|
||||
include_directories(${FLATBUFFER_INCLUDE_DIR})
|
||||
link_directories(${CMAKE_CURRENT_BINARY_DIR}/tensorflow-lite)
|
||||
|
||||
@ -27,61 +27,48 @@ endif()
|
||||
#
|
||||
# wasi-nn general
|
||||
set(WASI_NN_ROOT ${CMAKE_CURRENT_LIST_DIR}/..)
|
||||
add_library(
|
||||
wasi-nn-general
|
||||
SHARED
|
||||
${WASI_NN_ROOT}/src/wasi_nn.c
|
||||
${WASI_NN_ROOT}/src/utils/wasi_nn_app_native.c
|
||||
set(WASI_NN_SOURCES
|
||||
${WASI_NN_ROOT}/src/wasi_nn.c
|
||||
${WASI_NN_ROOT}/src/utils/wasi_nn_app_native.c
|
||||
)
|
||||
target_include_directories(
|
||||
wasi-nn-general
|
||||
PUBLIC
|
||||
${WASI_NN_ROOT}/include
|
||||
${WASI_NN_ROOT}/src
|
||||
${WASI_NN_ROOT}/src/utils
|
||||
)
|
||||
target_link_libraries(
|
||||
wasi-nn-general
|
||||
PUBLIC
|
||||
libiwasm
|
||||
)
|
||||
target_compile_definitions(
|
||||
wasi-nn-general
|
||||
PUBLIC
|
||||
$<$<CONFIG:Debug>:NN_LOG_LEVEL=0>
|
||||
$<$<CONFIG:Release>:NN_LOG_LEVEL=2>
|
||||
include_directories(${WASI_NN_ROOT}/include)
|
||||
add_compile_definitions(
|
||||
$<$<CONFIG:Debug>:NN_LOG_LEVEL=0>
|
||||
$<$<CONFIG:Release>:NN_LOG_LEVEL=2>
|
||||
)
|
||||
|
||||
#
|
||||
# wasi-nn backends
|
||||
|
||||
#
|
||||
# - tflite
|
||||
if(WAMR_BUILD_WASI_NN_TFLITE EQUAL 1)
|
||||
add_library(
|
||||
wasi-nn-tflite
|
||||
wasi_nn_tflite
|
||||
SHARED
|
||||
${WASI_NN_ROOT}/src/wasi_nn_tensorflowlite.cpp
|
||||
)
|
||||
|
||||
target_link_libraries(
|
||||
wasi-nn-tflite
|
||||
wasi_nn_tflite
|
||||
PUBLIC
|
||||
libiwasm
|
||||
tensorflow-lite
|
||||
wasi-nn-general
|
||||
)
|
||||
endif()
|
||||
|
||||
# - openvino
|
||||
if(WAMR_BUILD_WASI_NN_OPENVINO EQUAL 1)
|
||||
add_library(
|
||||
wasi-nn-openvino
|
||||
wasi_nn_openvino
|
||||
SHARED
|
||||
${WASI_NN_ROOT}/src/wasi_nn_openvino.c
|
||||
)
|
||||
|
||||
target_link_libraries(
|
||||
wasi-nn-openvino
|
||||
wasi_nn_openvino
|
||||
PUBLIC
|
||||
libiwasm
|
||||
openvino::runtime
|
||||
openvino::runtime::c
|
||||
wasi-nn-general
|
||||
)
|
||||
endif()
|
||||
Reference in New Issue
Block a user