QC8 NHWC Convolution operator
- xnn_create_convolution2d_nhwc_qc8 and xnn_setup_convolution2d_nhwc_qc8 APIs
- Unit tests
PiperOrigin-RevId: 380283916
diff --git a/include/xnnpack.h b/include/xnnpack.h
index fc42240..9ad87c4 100644
--- a/include/xnnpack.h
+++ b/include/xnnpack.h
@@ -1935,6 +1935,47 @@
#endif // XNN_NO_F16_OPERATORS
+#ifndef XNN_NO_QC8_OPERATORS
+
+enum xnn_status xnn_create_convolution2d_nhwc_qc8(
+ uint32_t input_padding_top,
+ uint32_t input_padding_right,
+ uint32_t input_padding_bottom,
+ uint32_t input_padding_left,
+ uint32_t kernel_height,
+ uint32_t kernel_width,
+ uint32_t subsampling_height,
+ uint32_t subsampling_width,
+ uint32_t dilation_height,
+ uint32_t dilation_width,
+ uint32_t groups,
+ size_t group_input_channels,
+ size_t group_output_channels,
+ size_t input_channel_stride,
+ size_t output_channel_stride,
+ int8_t input_zero_point,
+ float input_scale,
+ const float* kernel_scale,
+ const int8_t* kernel,
+ const int32_t* bias,
+ int8_t output_zero_point,
+ float output_scale,
+ int8_t output_min,
+ int8_t output_max,
+ uint32_t flags,
+ xnn_operator_t* convolution_op_out);
+
+enum xnn_status xnn_setup_convolution2d_nhwc_qc8(
+ xnn_operator_t convolution_op,
+ size_t batch_size,
+ size_t input_height,
+ size_t input_width,
+ const int8_t* input,
+ int8_t* output,
+ pthreadpool_t threadpool);
+
+#endif // XNN_NO_QC8_OPERATORS
+
#ifndef XNN_NO_QS8_OPERATORS
enum xnn_status xnn_create_add_nd_qs8(