• Home
  • Raw
  • Download

Lines Matching refs:convolution_op

104   xnn_operator_t convolution_op = NULL;  in create_convolution2d_nhwc()  local
209 convolution_op = xnn_allocate_zero_simd_memory(sizeof(struct xnn_operator)); in create_convolution2d_nhwc()
210 if (convolution_op == NULL) { in create_convolution2d_nhwc()
243 convolution_op->packed_weights = xnn_allocate_simd_memory(packed_weights_size); in create_convolution2d_nhwc()
244 if (convolution_op->packed_weights == NULL) { in create_convolution2d_nhwc()
253 kernel, bias, convolution_op->packed_weights, packing_params); in create_convolution2d_nhwc()
255 convolution_op->ukernel.vmulcaddc = (struct xnn_ukernel_vmulcaddc) { in create_convolution2d_nhwc()
268 convolution_op->packed_weights = xnn_allocate_simd_memory(packed_weights_size); in create_convolution2d_nhwc()
269 if (convolution_op->packed_weights == NULL) { in create_convolution2d_nhwc()
275 memset(convolution_op->packed_weights, packed_weights_padding_byte, packed_weights_size); in create_convolution2d_nhwc()
281 kernel, bias, convolution_op->packed_weights, packing_params); in create_convolution2d_nhwc()
286 kernel, bias, convolution_op->packed_weights, packing_params); in create_convolution2d_nhwc()
293 convolution_op->ukernel.dwconv = (struct xnn_ukernel_dwconv) { in create_convolution2d_nhwc()
312 convolution_op->packed_weights = xnn_allocate_simd_memory(packed_group_weights_size * groups); in create_convolution2d_nhwc()
313 if (convolution_op->packed_weights == NULL) { in create_convolution2d_nhwc()
319 …memset(convolution_op->packed_weights, packed_weights_padding_byte, packed_group_weights_size * gr… in create_convolution2d_nhwc()
332 kernel, bias, convolution_op->packed_weights, packing_params); in create_convolution2d_nhwc()
333 convolution_op->ukernel.gemm = (struct xnn_ukernel_gemm) { in create_convolution2d_nhwc()
346 kernel, bias, convolution_op->packed_weights, packing_params); in create_convolution2d_nhwc()
351 kernel, bias, convolution_op->packed_weights, packing_params); in create_convolution2d_nhwc()
353 convolution_op->ukernel.igemm = (struct xnn_ukernel_igemm) { in create_convolution2d_nhwc()
374 convolution_op->zero_buffer = xnn_allocate_simd_memory(zero_size); in create_convolution2d_nhwc()
375 if (convolution_op->zero_buffer == NULL) { in create_convolution2d_nhwc()
381 memset(convolution_op->zero_buffer, input_padding_byte, zero_size); in create_convolution2d_nhwc()
384 convolution_op->padding_top = input_padding_top; in create_convolution2d_nhwc()
385 convolution_op->padding_right = input_padding_right; in create_convolution2d_nhwc()
386 convolution_op->padding_bottom = input_padding_bottom; in create_convolution2d_nhwc()
387 convolution_op->padding_left = input_padding_left; in create_convolution2d_nhwc()
389 convolution_op->kernel_height = kernel_height; in create_convolution2d_nhwc()
390 convolution_op->kernel_width = kernel_width; in create_convolution2d_nhwc()
391 convolution_op->stride_height = subsampling_height; in create_convolution2d_nhwc()
392 convolution_op->stride_width = subsampling_width; in create_convolution2d_nhwc()
393 convolution_op->dilation_height = dilation_height; in create_convolution2d_nhwc()
394 convolution_op->dilation_width = dilation_width; in create_convolution2d_nhwc()
395 convolution_op->groups = groups; in create_convolution2d_nhwc()
396 convolution_op->group_input_channels = group_input_channels; in create_convolution2d_nhwc()
397 convolution_op->group_output_channels = group_output_channels; in create_convolution2d_nhwc()
398 convolution_op->input_pixel_stride = input_channel_stride; in create_convolution2d_nhwc()
399 convolution_op->output_pixel_stride = output_channel_stride; in create_convolution2d_nhwc()
401 memcpy(&convolution_op->params, params, params_size); in create_convolution2d_nhwc()
402 convolution_op->type = operator_type; in create_convolution2d_nhwc()
403 convolution_op->ukernel.type = ukernel_type; in create_convolution2d_nhwc()
405 convolution_op->flags |= XNN_FLAG_TENSORFLOW_SAME_PADDING; in create_convolution2d_nhwc()
408 convolution_op->state = xnn_run_state_invalid; in create_convolution2d_nhwc()
410 *convolution_op_out = convolution_op; in create_convolution2d_nhwc()
414 xnn_delete_operator(convolution_op); in create_convolution2d_nhwc()
764 xnn_operator_t convolution_op, in setup_convolution2d_nhwc() argument
779 convolution_op->state = xnn_run_state_invalid; in setup_convolution2d_nhwc()
783 xnn_operator_type_to_string(convolution_op->type)); in setup_convolution2d_nhwc()
790 xnn_operator_type_to_string(convolution_op->type)); in setup_convolution2d_nhwc()
797 xnn_operator_type_to_string(convolution_op->type), input_width, input_height); in setup_convolution2d_nhwc()
802 convolution_op->state = xnn_run_state_skip; in setup_convolution2d_nhwc()
806 convolution_op->batch_size = batch_size; in setup_convolution2d_nhwc()
807 convolution_op->input_height = input_height; in setup_convolution2d_nhwc()
808 convolution_op->input_width = input_width; in setup_convolution2d_nhwc()
809 convolution_op->input = input; in setup_convolution2d_nhwc()
811 if (convolution_op->flags & XNN_FLAG_TENSORFLOW_SAME_PADDING) { in setup_convolution2d_nhwc()
812 convolution_op->output_height = compute_output_dimension_with_tf_same_padding( in setup_convolution2d_nhwc()
813 input_height, convolution_op->stride_height); in setup_convolution2d_nhwc()
814 convolution_op->output_width = compute_output_dimension_with_tf_same_padding( in setup_convolution2d_nhwc()
815 input_width, convolution_op->stride_width); in setup_convolution2d_nhwc()
817 …const uint32_t effective_kernel_height = (convolution_op->kernel_height - 1) * convolution_op->dil… in setup_convolution2d_nhwc()
818 …const uint32_t effective_kernel_width = (convolution_op->kernel_width - 1) * convolution_op->dilat… in setup_convolution2d_nhwc()
820 …(convolution_op->output_height - 1) * convolution_op->stride_height + effective_kernel_height - in… in setup_convolution2d_nhwc()
822 …(convolution_op->output_width - 1) * convolution_op->stride_width + effective_kernel_width - input… in setup_convolution2d_nhwc()
823 convolution_op->padding_top = total_padding_height / 2; in setup_convolution2d_nhwc()
824 convolution_op->padding_left = total_padding_width / 2; in setup_convolution2d_nhwc()
825 convolution_op->padding_bottom = total_padding_height - convolution_op->padding_top; in setup_convolution2d_nhwc()
826 convolution_op->padding_right = total_padding_width - convolution_op->padding_left; in setup_convolution2d_nhwc()
828 convolution_op->output_height = compute_output_dimension( in setup_convolution2d_nhwc()
829 convolution_op->padding_top + input_height + convolution_op->padding_bottom, in setup_convolution2d_nhwc()
830 convolution_op->kernel_height, in setup_convolution2d_nhwc()
831 convolution_op->dilation_height, in setup_convolution2d_nhwc()
832 convolution_op->stride_height); in setup_convolution2d_nhwc()
833 convolution_op->output_width = compute_output_dimension( in setup_convolution2d_nhwc()
834 convolution_op->padding_left + input_width + convolution_op->padding_right, in setup_convolution2d_nhwc()
835 convolution_op->kernel_width, in setup_convolution2d_nhwc()
836 convolution_op->dilation_width, in setup_convolution2d_nhwc()
837 convolution_op->stride_width); in setup_convolution2d_nhwc()
839 convolution_op->output = output; in setup_convolution2d_nhwc()
841 switch (convolution_op->ukernel.type) { in setup_convolution2d_nhwc()
846 const size_t output_height = convolution_op->output_height; in setup_convolution2d_nhwc()
847 const size_t output_width = convolution_op->output_width; in setup_convolution2d_nhwc()
851 const size_t groups = convolution_op->groups; in setup_convolution2d_nhwc()
852 const size_t group_input_channels = convolution_op->group_input_channels; in setup_convolution2d_nhwc()
854 … (round_up_po2(group_input_channels, convolution_op->ukernel.gemm.kr) << log2_filter_element_size); in setup_convolution2d_nhwc()
855 const size_t group_output_channels = convolution_op->group_output_channels; in setup_convolution2d_nhwc()
857 uint32_t mr = convolution_op->ukernel.gemm.mr; in setup_convolution2d_nhwc()
858 const uint32_t nr = convolution_op->ukernel.gemm.nr; in setup_convolution2d_nhwc()
859 struct xnn_hmp_gemm_ukernel gemm_ukernel = convolution_op->ukernel.gemm.general_case; in setup_convolution2d_nhwc()
860 …if (batch_output_size == 1 && convolution_op->ukernel.gemm.mr1_case.function[XNN_UARCH_DEFAULT] !=… in setup_convolution2d_nhwc()
862 gemm_ukernel = convolution_op->ukernel.gemm.mr1_case; in setup_convolution2d_nhwc()
865 convolution_op->context.gemm = (struct gemm_context) { in setup_convolution2d_nhwc()
868 .a_stride = convolution_op->input_pixel_stride << log2_input_element_size, in setup_convolution2d_nhwc()
869 .packed_w = convolution_op->packed_weights, in setup_convolution2d_nhwc()
873 .cm_stride = convolution_op->output_pixel_stride << log2_output_element_size, in setup_convolution2d_nhwc()
879 …memcpy(&convolution_op->context.gemm.params, gemm_params, sizeof(convolution_op->context.gemm.para… in setup_convolution2d_nhwc()
893 convolution_op->compute.type = xnn_parallelization_type_2d_tile_2d_with_uarch; in setup_convolution2d_nhwc()
894convolution_op->compute.task_2d_tile_2d_with_id = (pthreadpool_task_2d_tile_2d_with_id_t) xnn_comp… in setup_convolution2d_nhwc()
896 convolution_op->compute.type = xnn_parallelization_type_2d_tile_2d; in setup_convolution2d_nhwc()
897convolution_op->compute.task_2d_tile_2d = (pthreadpool_task_2d_tile_2d_t) xnn_compute_gemm; in setup_convolution2d_nhwc()
900 convolution_op->compute.type = xnn_parallelization_type_2d_tile_2d; in setup_convolution2d_nhwc()
901convolution_op->compute.task_2d_tile_2d = (pthreadpool_task_2d_tile_2d_t) xnn_compute_gemm; in setup_convolution2d_nhwc()
903 convolution_op->compute.range[0] = batch_output_size; in setup_convolution2d_nhwc()
904 convolution_op->compute.range[1] = group_output_channels; in setup_convolution2d_nhwc()
905 convolution_op->compute.tile[0] = mr; in setup_convolution2d_nhwc()
906 convolution_op->compute.tile[1] = nc; in setup_convolution2d_nhwc()
910 convolution_op->compute.type = xnn_parallelization_type_3d_tile_2d_with_uarch; in setup_convolution2d_nhwc()
911convolution_op->compute.task_3d_tile_2d_with_id = (pthreadpool_task_3d_tile_2d_with_id_t) xnn_comp… in setup_convolution2d_nhwc()
913 convolution_op->compute.type = xnn_parallelization_type_3d_tile_2d; in setup_convolution2d_nhwc()
914convolution_op->compute.task_3d_tile_2d = (pthreadpool_task_3d_tile_2d_t) xnn_compute_grouped_gemm; in setup_convolution2d_nhwc()
917 convolution_op->compute.type = xnn_parallelization_type_3d_tile_2d; in setup_convolution2d_nhwc()
918convolution_op->compute.task_3d_tile_2d = (pthreadpool_task_3d_tile_2d_t) xnn_compute_grouped_gemm; in setup_convolution2d_nhwc()
920 convolution_op->compute.range[0] = groups; in setup_convolution2d_nhwc()
921 convolution_op->compute.range[1] = batch_output_size; in setup_convolution2d_nhwc()
922 convolution_op->compute.range[2] = group_output_channels; in setup_convolution2d_nhwc()
923 convolution_op->compute.tile[0] = mr; in setup_convolution2d_nhwc()
924 convolution_op->compute.tile[1] = nc; in setup_convolution2d_nhwc()
926 convolution_op->state = xnn_run_state_ready; in setup_convolution2d_nhwc()
932 const size_t groups = convolution_op->groups; in setup_convolution2d_nhwc()
933 const size_t kernel_height = convolution_op->kernel_height; in setup_convolution2d_nhwc()
934 const size_t kernel_width = convolution_op->kernel_width; in setup_convolution2d_nhwc()
936 const size_t output_height = convolution_op->output_height; in setup_convolution2d_nhwc()
937 const size_t output_width = convolution_op->output_width; in setup_convolution2d_nhwc()
940 uint32_t mr = convolution_op->ukernel.igemm.mr; in setup_convolution2d_nhwc()
941 const uint32_t nr = convolution_op->ukernel.igemm.nr; in setup_convolution2d_nhwc()
942 struct xnn_hmp_igemm_ukernel igemm_ukernel = convolution_op->ukernel.igemm.general_case; in setup_convolution2d_nhwc()
943 …if (output_size == 1 && convolution_op->ukernel.igemm.mr1_case.function[XNN_UARCH_DEFAULT] != NULL… in setup_convolution2d_nhwc()
945 igemm_ukernel = convolution_op->ukernel.igemm.mr1_case; in setup_convolution2d_nhwc()
951 if (input_height != convolution_op->last_input_height || in setup_convolution2d_nhwc()
952 input_width != convolution_op->last_input_width) in setup_convolution2d_nhwc()
954 …** indirection_buffer = (const void**) xnn_reallocate_memory((void*) convolution_op->indirection_b… in setup_convolution2d_nhwc()
958 indirection_buffer_size, xnn_operator_type_to_string(convolution_op->type)); in setup_convolution2d_nhwc()
961 convolution_op->indirection_buffer = indirection_buffer; in setup_convolution2d_nhwc()
962 convolution_op->last_input = input; in setup_convolution2d_nhwc()
963 convolution_op->last_input_height = input_height; in setup_convolution2d_nhwc()
964 convolution_op->last_input_width = input_width; in setup_convolution2d_nhwc()
966 xnn_indirection_init_conv2d(convolution_op, mr, log2_input_element_size); in setup_convolution2d_nhwc()
969 const size_t group_input_channels = convolution_op->group_input_channels; in setup_convolution2d_nhwc()
970 …const size_t w_stride = (round_up_po2(group_input_channels, convolution_op->ukernel.igemm.kr) * ke… in setup_convolution2d_nhwc()
971 const size_t group_output_channels = convolution_op->group_output_channels; in setup_convolution2d_nhwc()
972 convolution_op->context.igemm = (struct igemm_context) { in setup_convolution2d_nhwc()
977 .indirect_a = convolution_op->indirection_buffer, in setup_convolution2d_nhwc()
978 .a_offset = (size_t) ((uintptr_t) input - (uintptr_t) convolution_op->last_input), in setup_convolution2d_nhwc()
979 .zero = convolution_op->zero_buffer, in setup_convolution2d_nhwc()
980 .packed_w = convolution_op->packed_weights, in setup_convolution2d_nhwc()
981 .c = convolution_op->output, in setup_convolution2d_nhwc()
982 .cm_stride = convolution_op->output_pixel_stride << log2_output_element_size, in setup_convolution2d_nhwc()
987 ….ba_stride = input_height * input_width * convolution_op->input_pixel_stride << log2_input_element… in setup_convolution2d_nhwc()
988 … .bc_stride = output_size * convolution_op->output_pixel_stride << log2_output_element_size, in setup_convolution2d_nhwc()
992 …memcpy(&convolution_op->context.igemm.params, gemm_params, sizeof(convolution_op->context.igemm.pa… in setup_convolution2d_nhwc()
1007 convolution_op->compute.type = xnn_parallelization_type_3d_tile_2d_with_uarch; in setup_convolution2d_nhwc()
1008convolution_op->compute.task_3d_tile_2d_with_id = (pthreadpool_task_3d_tile_2d_with_id_t) xnn_comp… in setup_convolution2d_nhwc()
1010 convolution_op->compute.type = xnn_parallelization_type_2d_tile_2d_with_uarch; in setup_convolution2d_nhwc()
1011convolution_op->compute.task_2d_tile_2d_with_id = (pthreadpool_task_2d_tile_2d_with_id_t) xnn_comp… in setup_convolution2d_nhwc()
1015 convolution_op->compute.type = xnn_parallelization_type_3d_tile_2d; in setup_convolution2d_nhwc()
1016convolution_op->compute.task_3d_tile_2d = (pthreadpool_task_3d_tile_2d_t) xnn_compute_batch_igemm; in setup_convolution2d_nhwc()
1018 convolution_op->compute.type = xnn_parallelization_type_2d_tile_2d; in setup_convolution2d_nhwc()
1019convolution_op->compute.task_2d_tile_2d = (pthreadpool_task_2d_tile_2d_t) xnn_compute_igemm; in setup_convolution2d_nhwc()
1024 convolution_op->compute.type = xnn_parallelization_type_3d_tile_2d; in setup_convolution2d_nhwc()
1025convolution_op->compute.task_3d_tile_2d = (pthreadpool_task_3d_tile_2d_t) xnn_compute_batch_igemm; in setup_convolution2d_nhwc()
1027 convolution_op->compute.type = xnn_parallelization_type_2d_tile_2d; in setup_convolution2d_nhwc()
1028convolution_op->compute.task_2d_tile_2d = (pthreadpool_task_2d_tile_2d_t) xnn_compute_igemm; in setup_convolution2d_nhwc()
1032 convolution_op->compute.range[0] = batch_size; in setup_convolution2d_nhwc()
1033 convolution_op->compute.range[1] = output_size; in setup_convolution2d_nhwc()
1034 convolution_op->compute.range[2] = group_output_channels; in setup_convolution2d_nhwc()
1036 convolution_op->compute.range[0] = output_size; in setup_convolution2d_nhwc()
1037 convolution_op->compute.range[1] = group_output_channels; in setup_convolution2d_nhwc()
1039 convolution_op->compute.tile[0] = mr; in setup_convolution2d_nhwc()
1040 convolution_op->compute.tile[1] = nc; in setup_convolution2d_nhwc()
1045 convolution_op->compute.type = xnn_parallelization_type_4d_tile_2d_with_uarch; in setup_convolution2d_nhwc()
1046convolution_op->compute.task_4d_tile_2d_with_id = (pthreadpool_task_4d_tile_2d_with_id_t) xnn_comp… in setup_convolution2d_nhwc()
1048 convolution_op->compute.type = xnn_parallelization_type_3d_tile_2d_with_uarch; in setup_convolution2d_nhwc()
1049convolution_op->compute.task_3d_tile_2d_with_id = (pthreadpool_task_3d_tile_2d_with_id_t) xnn_comp… in setup_convolution2d_nhwc()
1053 convolution_op->compute.type = xnn_parallelization_type_4d_tile_2d; in setup_convolution2d_nhwc()
1054convolution_op->compute.task_4d_tile_2d = (pthreadpool_task_4d_tile_2d_t) xnn_compute_grouped_batc… in setup_convolution2d_nhwc()
1056 convolution_op->compute.type = xnn_parallelization_type_3d_tile_2d; in setup_convolution2d_nhwc()
1057convolution_op->compute.task_3d_tile_2d = (pthreadpool_task_3d_tile_2d_t) xnn_compute_grouped_igem… in setup_convolution2d_nhwc()
1062 convolution_op->compute.type = xnn_parallelization_type_4d_tile_2d; in setup_convolution2d_nhwc()
1063convolution_op->compute.task_4d_tile_2d = (pthreadpool_task_4d_tile_2d_t) xnn_compute_grouped_batc… in setup_convolution2d_nhwc()
1065 convolution_op->compute.type = xnn_parallelization_type_3d_tile_2d; in setup_convolution2d_nhwc()
1066convolution_op->compute.task_3d_tile_2d = (pthreadpool_task_3d_tile_2d_t) xnn_compute_grouped_igem… in setup_convolution2d_nhwc()
1070 convolution_op->compute.range[0] = batch_size; in setup_convolution2d_nhwc()
1071 convolution_op->compute.range[1] = groups; in setup_convolution2d_nhwc()
1072 convolution_op->compute.range[2] = output_size; in setup_convolution2d_nhwc()
1073 convolution_op->compute.range[3] = group_output_channels; in setup_convolution2d_nhwc()
1075 convolution_op->compute.range[0] = groups; in setup_convolution2d_nhwc()
1076 convolution_op->compute.range[1] = output_size; in setup_convolution2d_nhwc()
1077 convolution_op->compute.range[2] = group_output_channels; in setup_convolution2d_nhwc()
1079 convolution_op->compute.tile[0] = mr; in setup_convolution2d_nhwc()
1080 convolution_op->compute.tile[1] = nc; in setup_convolution2d_nhwc()
1082 convolution_op->state = xnn_run_state_ready; in setup_convolution2d_nhwc()
1088 const size_t kernel_height = convolution_op->kernel_height; in setup_convolution2d_nhwc()
1089 const size_t kernel_width = convolution_op->kernel_width; in setup_convolution2d_nhwc()
1091 const size_t output_height = convolution_op->output_height; in setup_convolution2d_nhwc()
1092 const size_t output_width = convolution_op->output_width; in setup_convolution2d_nhwc()
1093 …const size_t step_width = convolution_op->dilation_width == 1 ? convolution_op->stride_width : ker… in setup_convolution2d_nhwc()
1095 …if (input_height != convolution_op->last_input_height || input_width != convolution_op->last_input… in setup_convolution2d_nhwc()
1099 … (const void**) xnn_reallocate_memory(convolution_op->indirection_buffer, indirection_buffer_size); in setup_convolution2d_nhwc()
1102 indirection_buffer_size, xnn_operator_type_to_string(convolution_op->type)); in setup_convolution2d_nhwc()
1105 convolution_op->indirection_buffer = indirection_buffer; in setup_convolution2d_nhwc()
1107 … xnn_indirection_init_dwconv2d(convolution_op, step_height, step_width, log2_input_element_size); in setup_convolution2d_nhwc()
1109 convolution_op->last_input = input; in setup_convolution2d_nhwc()
1110 convolution_op->last_input_height = input_height; in setup_convolution2d_nhwc()
1111 convolution_op->last_input_width = input_width; in setup_convolution2d_nhwc()
1114 const size_t groups = convolution_op->groups; in setup_convolution2d_nhwc()
1115 convolution_op->context.dwconv = (struct dwconv_context) { in setup_convolution2d_nhwc()
1116 .indirect_input = convolution_op->indirection_buffer, in setup_convolution2d_nhwc()
1119 .input_offset = (size_t) ((uintptr_t) input - (uintptr_t) convolution_op->last_input), in setup_convolution2d_nhwc()
1120 ….input_batch_stride = (input_height * input_width * convolution_op->input_pixel_stride) << log2_in… in setup_convolution2d_nhwc()
1121 .packed_weights = convolution_op->packed_weights, in setup_convolution2d_nhwc()
1122 .output = convolution_op->output, in setup_convolution2d_nhwc()
1123 ….output_batch_stride = (output_height * output_width * convolution_op->output_pixel_stride) << log… in setup_convolution2d_nhwc()
1124 ….output_height_stride = (output_width * convolution_op->output_pixel_stride) << log2_output_elemen… in setup_convolution2d_nhwc()
1127 .zero = convolution_op->zero_buffer, in setup_convolution2d_nhwc()
1128 … .output_increment = (convolution_op->output_pixel_stride - groups) << log2_output_element_size, in setup_convolution2d_nhwc()
1129 .unipass_ukernel = convolution_op->ukernel.dwconv.unipass_function, in setup_convolution2d_nhwc()
1131 …memcpy(&convolution_op->context.dwconv.params, dwconv_params, sizeof(convolution_op->context.dwcon… in setup_convolution2d_nhwc()
1133 convolution_op->compute.type = xnn_parallelization_type_2d; in setup_convolution2d_nhwc()
1134 convolution_op->compute.task_2d = (pthreadpool_task_2d_t) xnn_compute_dwconv_unipass; in setup_convolution2d_nhwc()
1135 convolution_op->compute.range[0] = batch_size; in setup_convolution2d_nhwc()
1136 convolution_op->compute.range[1] = output_height; in setup_convolution2d_nhwc()
1137 convolution_op->state = xnn_run_state_ready; in setup_convolution2d_nhwc()
1143 …const size_t batch_output_size = batch_size * convolution_op->output_height * convolution_op->outp… in setup_convolution2d_nhwc()
1145 convolution_op->context.vmulcaddc = (struct vmulcaddc_context) { in setup_convolution2d_nhwc()
1146 .n = convolution_op->groups << log2_input_element_size, in setup_convolution2d_nhwc()
1148 .x_stride = convolution_op->input_pixel_stride << log2_input_element_size, in setup_convolution2d_nhwc()
1149 .w = convolution_op->packed_weights, in setup_convolution2d_nhwc()
1151 .y_stride = convolution_op->output_pixel_stride << log2_output_element_size, in setup_convolution2d_nhwc()
1152 .ukernel = convolution_op->ukernel.vmulcaddc.function, in setup_convolution2d_nhwc()
1154 …memcpy(&convolution_op->context.vmulcaddc.params, dwconv_params, sizeof(convolution_op->context.vm… in setup_convolution2d_nhwc()
1161 const uint32_t mr = convolution_op->ukernel.vmulcaddc.mr; in setup_convolution2d_nhwc()
1165 convolution_op->compute.type = xnn_parallelization_type_1d_tile_1d; in setup_convolution2d_nhwc()
1166convolution_op->compute.task_1d_tile_1d = (pthreadpool_task_1d_tile_1d_t) xnn_compute_vmulcaddc; in setup_convolution2d_nhwc()
1167 convolution_op->compute.range[0] = batch_output_size; in setup_convolution2d_nhwc()
1168 convolution_op->compute.tile[0] = mc; in setup_convolution2d_nhwc()
1169 convolution_op->state = xnn_run_state_ready; in setup_convolution2d_nhwc()
1179 xnn_operator_t convolution_op, in xnn_setup_convolution2d_nhwc_qu8() argument
1187 if (convolution_op->type != xnn_operator_type_convolution_nhwc_qu8) { in xnn_setup_convolution2d_nhwc_qu8()
1190 xnn_operator_type_to_string(convolution_op->type)); in xnn_setup_convolution2d_nhwc_qu8()
1195 convolution_op, in xnn_setup_convolution2d_nhwc_qu8()
1203 &convolution_op->params.qu8_gemm, in xnn_setup_convolution2d_nhwc_qu8()
1204 &convolution_op->params.qu8_gemm, in xnn_setup_convolution2d_nhwc_qu8()
1209 xnn_operator_t convolution_op, in xnn_setup_convolution2d_nhwc_qs8() argument
1217 if (convolution_op->type != xnn_operator_type_convolution_nhwc_qs8) { in xnn_setup_convolution2d_nhwc_qs8()
1220 xnn_operator_type_to_string(convolution_op->type)); in xnn_setup_convolution2d_nhwc_qs8()
1225 convolution_op, in xnn_setup_convolution2d_nhwc_qs8()
1233 &convolution_op->params.qs8_gemm, in xnn_setup_convolution2d_nhwc_qs8()
1234 &convolution_op->params.qs8_gemm, in xnn_setup_convolution2d_nhwc_qs8()
1239 xnn_operator_t convolution_op, in xnn_setup_convolution2d_nhwc_f16() argument
1247 if (convolution_op->type != xnn_operator_type_convolution_nhwc_f16) { in xnn_setup_convolution2d_nhwc_f16()
1250 xnn_operator_type_to_string(convolution_op->type)); in xnn_setup_convolution2d_nhwc_f16()
1255 convolution_op, in xnn_setup_convolution2d_nhwc_f16()
1263 &convolution_op->params.f16_scaleminmax, in xnn_setup_convolution2d_nhwc_f16()
1264 &convolution_op->params.f16_minmax, in xnn_setup_convolution2d_nhwc_f16()
1269 xnn_operator_t convolution_op, in xnn_setup_convolution2d_nhwc_f32() argument
1277 if (convolution_op->type != xnn_operator_type_convolution_nhwc_f32) { in xnn_setup_convolution2d_nhwc_f32()
1280 xnn_operator_type_to_string(convolution_op->type)); in xnn_setup_convolution2d_nhwc_f32()
1285 convolution_op, in xnn_setup_convolution2d_nhwc_f32()
1293 &convolution_op->params.f32_minmax, in xnn_setup_convolution2d_nhwc_f32()
1294 &convolution_op->params.f32_minmax, in xnn_setup_convolution2d_nhwc_f32()