Skip to content

Commit 2831ff2

Browse files
add wasi_ephemeral_nn in header file
1 parent ff4ed2f commit 2831ff2

3 files changed

Lines changed: 44 additions & 1 deletion

File tree

core/iwasm/libraries/wasi-nn/include/wasi_nn.h

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,44 @@
1515
#include <stdint.h>
1616
#include "wasi_nn_types.h"
1717

18+
#if WASM_ENABLE_WASI_EPHEMERAL_NN != 0
19+
wasi_nn_error
20+
load(graph_builder *builder, uint32_t builder_wasm_size,
21+
graph_encoding encoding, execution_target target, graph *g)
22+
__attribute__((import_module("wasi_ephemeral_nn")));
23+
24+
wasi_nn_error
25+
load_by_name(char *name, uint32_t name_len, graph *g)
26+
__attribute__((import_module("wasi_ephemeral_nn")));
27+
28+
wasi_nn_error
29+
load_by_name_with_config(const char *name, uint32_t name_len, void *config,
30+
uint32_t config_len, graph *g)
31+
__attribute__((import_module("wasi_ephemeral_nn")));
32+
/**
33+
* INFERENCE
34+
*
35+
*/
36+
37+
wasi_nn_error
38+
init_execution_context(graph g, graph_execution_context *exec_ctx)
39+
__attribute__((import_module("wasi_ephemeral_nn")));
40+
41+
wasi_nn_error
42+
set_input(graph_execution_context ctx, uint32_t index, tensor *tensor)
43+
__attribute__((import_module("wasi_ephemeral_nn")));
44+
45+
wasi_nn_error
46+
compute(graph_execution_context ctx)
47+
__attribute__((import_module("wasi_ephemeral_nn")));
48+
49+
wasi_nn_error
50+
get_output(graph_execution_context ctx, uint32_t index,
51+
tensor_data output_tensor, uint32_t output_tensor_len,
52+
uint32_t *output_tensor_size)
53+
__attribute__((import_module("wasi_ephemeral_nn")));
54+
#else
55+
1856
/**
1957
* @brief Load an opaque sequence of bytes to use for inference.
2058
*
@@ -86,5 +124,5 @@ wasi_nn_error
86124
get_output(graph_execution_context ctx, uint32_t index,
87125
tensor_data output_tensor, uint32_t *output_tensor_size)
88126
__attribute__((import_module("wasi_nn")));
89-
127+
#endif
90128
#endif

core/iwasm/libraries/wasi-nn/src/wasi_nn.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -697,6 +697,7 @@ static NativeSymbol native_symbols_wasi_nn[] = {
697697
REG_NATIVE_FUNC(get_output, "(ii*i*)i"),
698698
#else /* WASM_ENABLE_WASI_EPHEMERAL_NN == 0 */
699699
REG_NATIVE_FUNC(load, "(*ii*)i"),
700+
REG_NATIVE_FUNC(load_by_name, "(*i*)i"),
700701
REG_NATIVE_FUNC(init_execution_context, "(i*)i"),
701702
REG_NATIVE_FUNC(set_input, "(ii*)i"),
702703
REG_NATIVE_FUNC(compute, "(i)i"),

core/iwasm/libraries/wasi-nn/test/utils.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,11 @@ wasi_nn_error
9999
wasm_get_output(graph_execution_context ctx, uint32_t index, float *out_tensor,
100100
uint32_t *out_size)
101101
{
102+
#if WASM_ENABLE_WASI_EPHEMERAL_NN != 0
103+
return get_output(ctx, index, (uint8_t *)out_tensor, *out_size, out_size);
104+
#else
102105
return get_output(ctx, index, (uint8_t *)out_tensor, out_size);
106+
#endif
103107
}
104108

105109
float *

0 commit comments

Comments
 (0)