aboutsummaryrefslogtreecommitdiff
path: root/reference_model/include/operators.h
diff options
context:
space:
mode:
Diffstat (limited to 'reference_model/include/operators.h')
-rw-r--r--reference_model/include/operators.h250
1 files changed, 82 insertions, 168 deletions
diff --git a/reference_model/include/operators.h b/reference_model/include/operators.h
index 1519d20..08da277 100644
--- a/reference_model/include/operators.h
+++ b/reference_model/include/operators.h
@@ -31,11 +31,16 @@ extern "C"
{
#endif /* __cplusplus */
+ struct func_ctx_t
+ {
+ func_config_t func_config = func_config_t{};
+ func_debug_t func_debug = func_debug_t{};
+ };
+
tosa_status_t tosa_run_argmax(tosa_tensor_t client_input,
const int32_t client_axis,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_avg_pool2d(tosa_tensor_t client_input,
const int32_t client_kernel[2],
@@ -44,8 +49,7 @@ extern "C"
const int32_t client_input_zp,
const int32_t client_output_zp,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_conv2d(tosa_tensor_t client_input,
tosa_tensor_t client_weight,
@@ -56,8 +60,7 @@ extern "C"
const int32_t client_input_zp,
const int32_t client_weight_zp,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_conv3d(tosa_tensor_t client_input,
tosa_tensor_t client_weight,
@@ -68,8 +71,7 @@ extern "C"
const int32_t client_input_zp,
const int32_t client_weight_zp,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_depthwise_conv2d(tosa_tensor_t client_input,
tosa_tensor_t client_weight,
@@ -80,8 +82,7 @@ extern "C"
const int32_t client_input_zp,
const int32_t client_weight_zp,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_fully_connected(tosa_tensor_t client_input,
tosa_tensor_t client_weight,
@@ -89,16 +90,14 @@ extern "C"
const int32_t client_input_zp,
const int32_t client_weight_zp,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_matmul(tosa_tensor_t client_a,
tosa_tensor_t client_b,
const int32_t client_a_zp,
const int32_t client_b_zp,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_max_pool2d(tosa_tensor_t client_input,
const int32_t client_kernel[2],
@@ -107,8 +106,7 @@ extern "C"
const int32_t client_input_zp,
const int32_t client_output_zp,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_transpose_conv2d(tosa_tensor_t client_input,
tosa_tensor_t client_weight,
@@ -121,8 +119,7 @@ extern "C"
const int32_t client_dilation_len,
const int32_t client_dilation[],
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_clamp(tosa_tensor_t client_input,
const int32_t client_min_int,
@@ -130,280 +127,210 @@ extern "C"
const float client_min_fp,
const float client_max_fp,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
- tosa_status_t tosa_run_erf(tosa_tensor_t client_input,
- tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ tosa_status_t tosa_run_erf(tosa_tensor_t client_input, tosa_tensor_t client_output, const func_ctx_t& func_ctx);
- tosa_status_t tosa_run_sigmoid(tosa_tensor_t client_input,
- tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ tosa_status_t tosa_run_sigmoid(tosa_tensor_t client_input, tosa_tensor_t client_output, const func_ctx_t& func_ctx);
- tosa_status_t tosa_run_tanh(tosa_tensor_t client_input,
- tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ tosa_status_t tosa_run_tanh(tosa_tensor_t client_input, tosa_tensor_t client_output, const func_ctx_t& func_ctx);
tosa_status_t tosa_run_add(tosa_tensor_t client_input1,
tosa_tensor_t client_input2,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_arithmetic_right_shift(tosa_tensor_t client_input1,
tosa_tensor_t client_input2,
const bool client_round,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_bitwise_and(tosa_tensor_t client_input1,
tosa_tensor_t client_input2,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_bitwise_or(tosa_tensor_t client_input1,
tosa_tensor_t client_input2,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_bitwise_xor(tosa_tensor_t client_input1,
tosa_tensor_t client_input2,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_intdiv(tosa_tensor_t client_input1,
tosa_tensor_t client_input2,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_logical_and(tosa_tensor_t client_input1,
tosa_tensor_t client_input2,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_logical_left_shift(tosa_tensor_t client_input1,
tosa_tensor_t client_input2,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_logical_right_shift(tosa_tensor_t client_input1,
tosa_tensor_t client_input2,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_logical_or(tosa_tensor_t client_input1,
tosa_tensor_t client_input2,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_logical_xor(tosa_tensor_t client_input1,
tosa_tensor_t client_input2,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_maximum(tosa_tensor_t client_input1,
tosa_tensor_t client_input2,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_minimum(tosa_tensor_t client_input1,
tosa_tensor_t client_input2,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_mul(tosa_tensor_t client_input1,
tosa_tensor_t client_input2,
const int32_t client_shift,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_pow(tosa_tensor_t client_input1,
tosa_tensor_t client_input2,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_sub(tosa_tensor_t client_input1,
tosa_tensor_t client_input2,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_table(tosa_tensor_t client_input,
const int32_t client_table_len,
const int16_t client_table[],
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
- tosa_status_t tosa_run_abs(tosa_tensor_t client_input1,
- tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ tosa_status_t tosa_run_abs(tosa_tensor_t client_input1, tosa_tensor_t client_output, const func_ctx_t& func_ctx);
- tosa_status_t tosa_run_bitwise_not(tosa_tensor_t client_input1,
- tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ tosa_status_t
+ tosa_run_bitwise_not(tosa_tensor_t client_input1, tosa_tensor_t client_output, const func_ctx_t& func_ctx);
- tosa_status_t tosa_run_ceil(tosa_tensor_t client_input1,
- tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ tosa_status_t tosa_run_ceil(tosa_tensor_t client_input1, tosa_tensor_t client_output, const func_ctx_t& func_ctx);
- tosa_status_t tosa_run_clz(tosa_tensor_t client_input1,
- tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ tosa_status_t tosa_run_clz(tosa_tensor_t client_input1, tosa_tensor_t client_output, const func_ctx_t& func_ctx);
- tosa_status_t tosa_run_exp(tosa_tensor_t client_input1,
- tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ tosa_status_t tosa_run_exp(tosa_tensor_t client_input1, tosa_tensor_t client_output, const func_ctx_t& func_ctx);
- tosa_status_t tosa_run_floor(tosa_tensor_t client_input1,
- tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ tosa_status_t tosa_run_floor(tosa_tensor_t client_input1, tosa_tensor_t client_output, const func_ctx_t& func_ctx);
- tosa_status_t tosa_run_log(tosa_tensor_t client_input1,
- tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ tosa_status_t tosa_run_log(tosa_tensor_t client_input1, tosa_tensor_t client_output, const func_ctx_t& func_ctx);
- tosa_status_t tosa_run_logical_not(tosa_tensor_t client_input1,
- tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ tosa_status_t
+ tosa_run_logical_not(tosa_tensor_t client_input1, tosa_tensor_t client_output, const func_ctx_t& func_ctx);
tosa_status_t tosa_run_negate(tosa_tensor_t client_input1,
const int32_t client_input1_zp,
const int32_t client_output_zp,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
- tosa_status_t tosa_run_reciprocal(tosa_tensor_t client_input1,
- tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ tosa_status_t
+ tosa_run_reciprocal(tosa_tensor_t client_input1, tosa_tensor_t client_output, const func_ctx_t& func_ctx);
- tosa_status_t tosa_run_rsqrt(tosa_tensor_t client_input1,
- tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ tosa_status_t tosa_run_rsqrt(tosa_tensor_t client_input1, tosa_tensor_t client_output, const func_ctx_t& func_ctx);
tosa_status_t tosa_run_select(tosa_tensor_t client_input1,
tosa_tensor_t client_input2,
tosa_tensor_t client_input3,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_equal(tosa_tensor_t client_input1,
tosa_tensor_t client_input2,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_greater(tosa_tensor_t client_input1,
tosa_tensor_t client_input2,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_greater_equal(tosa_tensor_t client_input1,
tosa_tensor_t client_input2,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_reduce_all(tosa_tensor_t client_input,
const int32_t client_axis,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_reduce_any(tosa_tensor_t client_input,
const int32_t client_axis,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_reduce_max(tosa_tensor_t client_input,
const int32_t client_axis,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_reduce_min(tosa_tensor_t client_input,
const int32_t client_axis,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_reduce_product(tosa_tensor_t client_input,
const int32_t client_axis,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_reduce_sum(tosa_tensor_t client_input,
const int32_t client_axis,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_concat(tosa_tensor_t client_input1,
const int32_t client_axis,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_pad(tosa_tensor_t client_input1,
- const int32_t client_padding_len,
- const int32_t client_padding[],
+ tosa_tensor_t client_padding,
const int32_t client_pad_const_int,
const float client_pad_const_fp,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_dim(tosa_tensor_t client_input1,
const int32_t client_axis,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_reshape(tosa_tensor_t client_input1,
+ tosa_tensor_t client_shape,
const int32_t client_new_shape_len,
const int32_t client_new_shape[],
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_reverse(tosa_tensor_t client_input,
const int32_t client_axis,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_slice(tosa_tensor_t client_input1,
const int32_t client_start_len,
@@ -411,49 +338,39 @@ extern "C"
const int32_t client_size_len,
const int32_t client_size[],
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_tile(tosa_tensor_t client_input1,
- const int32_t client_multiples_len,
- const int32_t client_multiples[],
+ tosa_tensor_t client_multiples,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_transpose(tosa_tensor_t client_input1,
const int32_t client_perms_len,
const int32_t client_perms[],
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_gather(tosa_tensor_t client_values,
tosa_tensor_t client_indices,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_scatter(tosa_tensor_t client_values_in,
tosa_tensor_t client_indices,
tosa_tensor_t client_input,
tosa_tensor_t client_values_out,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
tosa_status_t tosa_run_resize(tosa_tensor_t client_input,
- const int16_t client_scale[4],
- const int16_t client_offset[2],
- const int16_t client_border[2],
+ tosa_tensor_t client_scale,
+ tosa_tensor_t client_offset,
+ tosa_tensor_t client_border,
const tosa_mode_t client_mode,
tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
- tosa_status_t tosa_run_cast(tosa_tensor_t client_input,
- tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ tosa_status_t tosa_run_cast(tosa_tensor_t client_input, tosa_tensor_t client_output, const func_ctx_t& func_ctx);
tosa_status_t tosa_run_rescale(tosa_tensor_t client_input,
tosa_tensor_t client_output,
@@ -468,16 +385,13 @@ extern "C"
const bool client_input_unsigned,
const bool client_output_unsigned,
const bool client_per_channel,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ const func_ctx_t& func_ctx);
- tosa_status_t tosa_run_identity(tosa_tensor_t client_input1,
- tosa_tensor_t client_output,
- const func_config_t& func_config = func_config_t{},
- const func_debug_t& func_debug = func_debug_t{});
+ tosa_status_t
+ tosa_run_identity(tosa_tensor_t client_input1, tosa_tensor_t client_output, const func_ctx_t& func_ctx);
#ifdef __cplusplus
}
#endif /* __cplusplus */
-#endif // OPERATORS_H_
+#endif // OPERATORS_H_ \ No newline at end of file