1 // Copyright (c) Facebook, Inc. and its affiliates. 2 // All rights reserved. 3 // 4 // Copyright 2019 Google LLC 5 // 6 // This source code is licensed under the BSD-style license found in the 7 // LICENSE file in the root directory of this source tree. 8 9 #pragma once 10 11 #include <stddef.h> 12 #include <stdint.h> 13 #include <stdbool.h> 14 15 #include <xnnpack.h> 16 #include <xnnpack/common.h> 17 18 #ifdef __cplusplus 19 extern "C" { 20 #endif 21 22 XNN_INTERNAL void xnn_indirection_init_conv2d( 23 xnn_operator_t op, 24 size_t output_tile_size, 25 uint32_t log2_element_size); 26 27 XNN_INTERNAL void xnn_indirection_init_dwconv2d( 28 xnn_operator_t op, 29 size_t step_height, 30 size_t step_width, 31 uint32_t log2_element_size); 32 33 XNN_INTERNAL void xnn_indirection_init_deconv2d( 34 xnn_operator_t op, 35 size_t output_tile_size, 36 uint32_t log2_element_size); 37 38 XNN_INTERNAL void xnn_indirection_init_subconv2d( 39 xnn_operator_t op, 40 size_t output_tile_size, 41 uint32_t log2_element_size); 42 43 XNN_INTERNAL void xnn_indirection_init_maxpool2d( 44 xnn_operator_t op, 45 size_t step_height, 46 size_t step_width, 47 uint32_t log2_element_size); 48 49 XNN_INTERNAL void xnn_indirection_init_resize_bilinear2d_hwc_f32( 50 size_t input_pixel_stride, 51 size_t input_height, 52 size_t input_width, 53 size_t output_height, 54 size_t output_width, 55 const void* input, 56 const void** indirection_buffer, 57 float* packed_weights, 58 bool align_corners, 59 bool tensorflow_legacy); 60 61 XNN_INTERNAL void xnn_indirection_init_resize_bilinear2d_chw_f32( 62 size_t input_pixel_stride, 63 size_t input_height, 64 size_t input_width, 65 size_t output_height, 66 size_t output_width, 67 const void* input, 68 const void** indirection_buffer, 69 float* packed_weights, 70 bool align_corners, 71 bool tensorflow_legacy); 72 73 XNN_INTERNAL void xnn_indirection_init_unpool2d( 74 xnn_operator_t op, 75 size_t batch_start, 76 uint32_t log2_element_size); 77 78 #ifdef __cplusplus 79 } // extern "C" 80 #endif 81