1 /* 2 * Copyright (c) Facebook, Inc. and its affiliates. 3 * All rights reserved. 4 * 5 * This source code is licensed under the BSD-style license found in the 6 * LICENSE file in the root directory of this source tree. 7 */ 8 9 #pragma once 10 11 #include <stddef.h> 12 #include <stdint.h> 13 14 #include <qnnpack/common.h> 15 #include <qnnpack/params.h> 16 17 #ifdef __cplusplus 18 extern "C" { 19 #endif 20 21 #define DECLARE_PYTORCH_SUPDWCONV_UKERNEL_FUNCTION(fn_name) \ 22 PYTORCH_QNNP_INTERNAL void fn_name( \ 23 size_t channels, \ 24 size_t output_width, \ 25 const float** input, \ 26 const float* weights, \ 27 float* output, \ 28 size_t input_stride, \ 29 size_t output_increment, \ 30 const struct pytorch_qnnp_fp32_clamping_params* clamping_params); 31 32 DECLARE_PYTORCH_SUPDWCONV_UKERNEL_FUNCTION(pytorch_sdwconv_ukernel_up4x9__psimd) 33 34 #define DECLARE_PYTORCH_SMPDWCONV_UKERNEL_FUNCTION(fn_name) \ 35 PYTORCH_QNNP_INTERNAL void fn_name( \ 36 size_t channels, \ 37 size_t output_width, \ 38 const uint8_t** input, \ 39 const void* weights, \ 40 int32_t* buffer, \ 41 uint8_t* output, \ 42 size_t input_stride, \ 43 size_t output_increment, \ 44 const struct pytorch_qnnp_fp32_clamping_params* clamping_params); 45 46 #ifdef __cplusplus 47 } /* extern "C" */ 48 #endif 49