Преглед изворни кода

wasi-nn: reduce code duplication a bit (#4433)

YAMAMOTO Takashi пре 6 месеци
родитељ
комит
38fe056cc6

+ 18 - 3
core/iwasm/libraries/wasi-nn/src/wasi_nn_openvino.h → core/iwasm/libraries/wasi-nn/src/wasi_nn_backend.h

@@ -3,15 +3,26 @@
  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  */
 
-#ifndef WASI_NN_OPENVINO_HPP
-#define WASI_NN_OPENVINO_HPP
+#ifndef WASI_NN_BACKEND_H
+#define WASI_NN_BACKEND_H
 
 #include "wasi_nn_types.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 __attribute__((visibility("default"))) wasi_nn_error
 load(void *ctx, graph_builder_array *builder, graph_encoding encoding,
      execution_target target, graph *g);
 
+__attribute__((visibility("default"))) wasi_nn_error
+load_by_name(void *tflite_ctx, const char *name, uint32_t namelen, graph *g);
+
+__attribute__((visibility("default"))) wasi_nn_error
+load_by_name_with_config(void *ctx, const char *name, uint32_t namelen,
+                         const char *config, uint32_t config_len, graph *g);
+
 __attribute__((visibility("default"))) wasi_nn_error
 init_execution_context(void *ctx, graph g, graph_execution_context *exec_ctx);
 
@@ -32,4 +43,8 @@ init_backend(void **ctx);
 __attribute__((visibility("default"))) wasi_nn_error
 deinit_backend(void *ctx);
 
-#endif /* WASI_NN_OPENVINO_HPP */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* WASI_NN_BACKEND_H */

+ 1 - 1
core/iwasm/libraries/wasi-nn/src/wasi_nn_llamacpp.c

@@ -5,7 +5,7 @@
 
 #include <stdlib.h>
 
-#include "wasi_nn_types.h"
+#include "wasi_nn_backend.h"
 #include "utils/logger.h"
 #include "llama.h"
 #include "ggml.h"

+ 1 - 2
core/iwasm/libraries/wasi-nn/src/wasi_nn_openvino.c

@@ -3,8 +3,7 @@
  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  */
 
-#include "wasi_nn_types.h"
-#include "wasi_nn_openvino.h"
+#include "wasi_nn_backend.h"
 #include "utils/logger.h"
 #include "bh_platform.h"
 

+ 1 - 2
core/iwasm/libraries/wasi-nn/src/wasi_nn_tensorflowlite.cpp

@@ -3,11 +3,10 @@
  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  */
 
-#include "wasi_nn_tensorflowlite.hpp"
 #include "utils/logger.h"
 
 #include "bh_platform.h"
-#include "wasi_nn_types.h"
+#include "wasi_nn_backend.h"
 #include "wasm_export.h"
 
 #include <tensorflow/lite/interpreter.h>

+ 0 - 47
core/iwasm/libraries/wasi-nn/src/wasi_nn_tensorflowlite.hpp

@@ -1,47 +0,0 @@
-/*
- * Copyright (C) 2019 Intel Corporation.  All rights reserved.
- * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- */
-
-#ifndef WASI_NN_TENSORFLOWLITE_HPP
-#define WASI_NN_TENSORFLOWLITE_HPP
-
-#include "wasi_nn_types.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-__attribute__((visibility("default"))) wasi_nn_error
-load(void *tflite_ctx, graph_builder_array *builder, graph_encoding encoding,
-     execution_target target, graph *g);
-
-__attribute__((visibility("default"))) wasi_nn_error
-load_by_name(void *tflite_ctx, const char *filename, uint32_t filename_len,
-             graph *g);
-
-__attribute__((visibility("default"))) wasi_nn_error
-init_execution_context(void *tflite_ctx, graph g, graph_execution_context *ctx);
-
-__attribute__((visibility("default"))) wasi_nn_error
-set_input(void *tflite_ctx, graph_execution_context ctx, uint32_t index,
-          tensor *input_tensor);
-
-__attribute__((visibility("default"))) wasi_nn_error
-compute(void *tflite_ctx, graph_execution_context ctx);
-
-__attribute__((visibility("default"))) wasi_nn_error
-get_output(void *tflite_ctx, graph_execution_context ctx, uint32_t index,
-           tensor_data *output_tensor, uint32_t *output_tensor_size);
-
-__attribute__((visibility("default"))) wasi_nn_error
-init_backend(void **tflite_ctx);
-
-__attribute__((visibility("default"))) wasi_nn_error
-deinit_backend(void *tflite_ctx);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif