• Home
  • Raw
  • Download

Lines Matching refs:convolution_op

60   xnn_operator_t convolution_op = NULL;  in xnn_create_convolution2d_nchw_f32()  local
223 convolution_op = xnn_allocate_zero_simd_memory(sizeof(struct xnn_operator)); in xnn_create_convolution2d_nchw_f32()
224 if (convolution_op == NULL) { in xnn_create_convolution2d_nchw_f32()
305 convolution_op->packed_weights = xnn_allocate_simd_memory(packed_weights_size); in xnn_create_convolution2d_nchw_f32()
306 if (convolution_op->packed_weights == NULL) { in xnn_create_convolution2d_nchw_f32()
312 convolution_op->num_nonzero_values = num_nonzero_values; in xnn_create_convolution2d_nchw_f32()
313 convolution_op->num_nonzero_blocks = num_nonzero_blocks; in xnn_create_convolution2d_nchw_f32()
314 convolution_op->num_output_channel_blocks = num_output_channel_blocks; in xnn_create_convolution2d_nchw_f32()
316 float* nonzero_values = convolution_op->packed_weights; in xnn_create_convolution2d_nchw_f32()
401 convolution_op->first_input_channel = first_ic; in xnn_create_convolution2d_nchw_f32()
403 convolution_op->ukernel.spmm = (struct xnn_ukernel_spmm) { in xnn_create_convolution2d_nchw_f32()
418 convolution_op->packed_weights = xnn_allocate_simd_memory(packed_weights_size); in xnn_create_convolution2d_nchw_f32()
419 if (convolution_op->packed_weights == NULL) { in xnn_create_convolution2d_nchw_f32()
431 kernel, bias, convolution_op->packed_weights, NULL); in xnn_create_convolution2d_nchw_f32()
433 convolution_op->ukernel.conv2d = (struct xnn_ukernel_conv2d) { in xnn_create_convolution2d_nchw_f32()
448 convolution_op->packed_weights = xnn_allocate_simd_memory(packed_weights_size); in xnn_create_convolution2d_nchw_f32()
449 if (convolution_op->packed_weights == NULL) { in xnn_create_convolution2d_nchw_f32()
459 kernel, bias, convolution_op->packed_weights, NULL); in xnn_create_convolution2d_nchw_f32()
463 kernel, bias, convolution_op->packed_weights, NULL); in xnn_create_convolution2d_nchw_f32()
466 convolution_op->ukernel.dwconv2d = (struct xnn_ukernel_dwconv2d) { in xnn_create_convolution2d_nchw_f32()
477 convolution_op->padding_top = input_padding_top; in xnn_create_convolution2d_nchw_f32()
478 convolution_op->padding_right = input_padding_right; in xnn_create_convolution2d_nchw_f32()
479 convolution_op->padding_bottom = input_padding_bottom; in xnn_create_convolution2d_nchw_f32()
480 convolution_op->padding_left = input_padding_left; in xnn_create_convolution2d_nchw_f32()
482 convolution_op->kernel_height = kernel_height; in xnn_create_convolution2d_nchw_f32()
483 convolution_op->kernel_width = kernel_width; in xnn_create_convolution2d_nchw_f32()
484 convolution_op->stride_height = subsampling_height; in xnn_create_convolution2d_nchw_f32()
485 convolution_op->stride_width = subsampling_width; in xnn_create_convolution2d_nchw_f32()
486 convolution_op->dilation_height = dilation_height; in xnn_create_convolution2d_nchw_f32()
487 convolution_op->dilation_width = dilation_width; in xnn_create_convolution2d_nchw_f32()
488 convolution_op->groups = groups; in xnn_create_convolution2d_nchw_f32()
489 convolution_op->group_input_channels = group_input_channels; in xnn_create_convolution2d_nchw_f32()
490 convolution_op->group_output_channels = group_output_channels; in xnn_create_convolution2d_nchw_f32()
491 convolution_op->input_pixel_stride = input_channel_stride; in xnn_create_convolution2d_nchw_f32()
492 convolution_op->output_pixel_stride = output_channel_stride; in xnn_create_convolution2d_nchw_f32()
495 convolution_op->params.f32_chw = xnn_init_f32_chw_params(0, output_min, output_max); in xnn_create_convolution2d_nchw_f32()
497 convolution_op->params.f32_minmax = xnn_init_f32_minmax_params(output_min, output_max); in xnn_create_convolution2d_nchw_f32()
500 convolution_op->type = xnn_operator_type_convolution_nchw_f32; in xnn_create_convolution2d_nchw_f32()
501 convolution_op->ukernel.type = ukernel_type; in xnn_create_convolution2d_nchw_f32()
503 convolution_op->state = xnn_run_state_invalid; in xnn_create_convolution2d_nchw_f32()
505 *convolution_op_out = convolution_op; in xnn_create_convolution2d_nchw_f32()
509 xnn_delete_operator(convolution_op); in xnn_create_convolution2d_nchw_f32()
514 xnn_operator_t convolution_op, in setup_convolution2d_nchw() argument
528 convolution_op->state = xnn_run_state_invalid; in setup_convolution2d_nchw()
544 convolution_op->state = xnn_run_state_skip; in setup_convolution2d_nchw()
548 convolution_op->batch_size = batch_size; in setup_convolution2d_nchw()
549 convolution_op->input_height = input_height; in setup_convolution2d_nchw()
550 convolution_op->input_width = input_width; in setup_convolution2d_nchw()
551 convolution_op->input = input; in setup_convolution2d_nchw()
552 convolution_op->output = output; in setup_convolution2d_nchw()
555 convolution_op->padding_top + input_height + convolution_op->padding_bottom, in setup_convolution2d_nchw()
556 convolution_op->kernel_height, in setup_convolution2d_nchw()
557 convolution_op->dilation_height, in setup_convolution2d_nchw()
558 convolution_op->stride_height); in setup_convolution2d_nchw()
560 convolution_op->padding_left + input_width + convolution_op->padding_right, in setup_convolution2d_nchw()
561 convolution_op->kernel_width, in setup_convolution2d_nchw()
562 convolution_op->dilation_width, in setup_convolution2d_nchw()
563 convolution_op->stride_width); in setup_convolution2d_nchw()
565 …const size_t input_batch_stride = (input_height * input_width * convolution_op->input_pixel_stride… in setup_convolution2d_nchw()
566 …const size_t output_batch_stride = (output_height * output_width * convolution_op->output_pixel_st… in setup_convolution2d_nchw()
567 switch (convolution_op->ukernel.type) { in setup_convolution2d_nchw()
570 const size_t num_nonzero_values = convolution_op->num_nonzero_values; in setup_convolution2d_nchw()
571 const size_t num_nonzero_blocks = convolution_op->num_nonzero_blocks; in setup_convolution2d_nchw()
572 const size_t num_output_channel_blocks = convolution_op->num_output_channel_blocks; in setup_convolution2d_nchw()
574 convolution_op->num_nonzero_values = num_nonzero_values; in setup_convolution2d_nchw()
575 convolution_op->num_nonzero_blocks = num_nonzero_blocks; in setup_convolution2d_nchw()
576 convolution_op->num_output_channel_blocks = num_output_channel_blocks; in setup_convolution2d_nchw()
578 float* nonzero_values = convolution_op->packed_weights; in setup_convolution2d_nchw()
579 …int32_t* input_increments = (int32_t*) (nonzero_values + num_nonzero_values + convolution_op->grou… in setup_convolution2d_nchw()
596 convolution_op->context.spmm = (struct spmm_context) { in setup_convolution2d_nchw()
597 .n = convolution_op->group_output_channels, in setup_convolution2d_nchw()
599 ….input = (const void*) ((uintptr_t) input + (convolution_op->first_input_channel * input_size * si… in setup_convolution2d_nchw()
606 .ukernel = convolution_op->ukernel.spmm.function, in setup_convolution2d_nchw()
608 … memcpy(&convolution_op->context.spmm.params, params, sizeof(convolution_op->context.spmm.params)); in setup_convolution2d_nchw()
610 const size_t mr = convolution_op->ukernel.spmm.mr; in setup_convolution2d_nchw()
619 convolution_op->compute.type = xnn_parallelization_type_2d_tile_1d; in setup_convolution2d_nchw()
620 convolution_op->compute.task_2d_tile_1d = (pthreadpool_task_2d_tile_1d_t) xnn_compute_spmm; in setup_convolution2d_nchw()
621 convolution_op->compute.range[0] = batch_size; in setup_convolution2d_nchw()
622 convolution_op->compute.range[1] = input_size * sizeof(float); in setup_convolution2d_nchw()
623 convolution_op->compute.tile[0] = mc * sizeof(float); in setup_convolution2d_nchw()
624 convolution_op->state = xnn_run_state_ready; in setup_convolution2d_nchw()
630 …const size_t zero_size = (input_width * convolution_op->group_input_channels << log2_input_element… in setup_convolution2d_nchw()
631 void* zero_buffer = xnn_reallocate_memory(convolution_op->zero_buffer, zero_size); in setup_convolution2d_nchw()
639 convolution_op->zero_buffer = zero_buffer; in setup_convolution2d_nchw()
641 convolution_op->context.conv2d = (struct conv2d_context) { in setup_convolution2d_nchw()
647 .packed_weights = convolution_op->packed_weights, in setup_convolution2d_nchw()
650 .input_padding_top = convolution_op->padding_top, in setup_convolution2d_nchw()
651 .output_channels = convolution_op->group_output_channels, in setup_convolution2d_nchw()
654 .hwc2chw_ukernel = convolution_op->ukernel.conv2d.hwc2chw_function, in setup_convolution2d_nchw()
656 …memcpy(&convolution_op->context.conv2d.params, params, sizeof(convolution_op->context.conv2d.param… in setup_convolution2d_nchw()
659 const size_t output_height_tile = convolution_op->ukernel.conv2d.output_height_tile; in setup_convolution2d_nchw()
668 convolution_op->compute.type = xnn_parallelization_type_2d_tile_1d; in setup_convolution2d_nchw()
669convolution_op->compute.task_2d_tile_1d = (pthreadpool_task_2d_tile_1d_t) xnn_compute_conv2d_hwc2c… in setup_convolution2d_nchw()
670 convolution_op->compute.range[0] = batch_size; in setup_convolution2d_nchw()
671 convolution_op->compute.range[1] = output_height; in setup_convolution2d_nchw()
672 convolution_op->compute.tile[0] = output_height_slice; in setup_convolution2d_nchw()
673 convolution_op->state = xnn_run_state_ready; in setup_convolution2d_nchw()
680 void* zero_buffer = xnn_reallocate_memory(convolution_op->zero_buffer, zero_size); in setup_convolution2d_nchw()
688 convolution_op->zero_buffer = zero_buffer; in setup_convolution2d_nchw()
691 convolution_op->context.dwconv2d = (struct dwconv2d_context) { in setup_convolution2d_nchw()
696 .input_padding_top = convolution_op->padding_top, in setup_convolution2d_nchw()
699 .packed_weights = convolution_op->packed_weights, in setup_convolution2d_nchw()
701 … (convolution_op->kernel_height * convolution_op->kernel_width << log2_filter_element_size), in setup_convolution2d_nchw()
705 .chw_ukernel = convolution_op->ukernel.dwconv2d.chw_function, in setup_convolution2d_nchw()
707 …memcpy(&convolution_op->context.dwconv2d.params, chw_params, sizeof(convolution_op->context.dwconv… in setup_convolution2d_nchw()
709 convolution_op->compute.type = xnn_parallelization_type_2d; in setup_convolution2d_nchw()
710 convolution_op->compute.task_2d = (pthreadpool_task_2d_t) xnn_compute_dwconv2d_chw; in setup_convolution2d_nchw()
711 convolution_op->compute.range[0] = batch_size; in setup_convolution2d_nchw()
712 convolution_op->compute.range[1] = convolution_op->groups; in setup_convolution2d_nchw()
713 convolution_op->state = xnn_run_state_ready; in setup_convolution2d_nchw()
723 xnn_operator_t convolution_op, in xnn_setup_convolution2d_nchw_f32() argument
731 if (convolution_op->type != xnn_operator_type_convolution_nchw_f32) { in xnn_setup_convolution2d_nchw_f32()
734 xnn_operator_type_to_string(convolution_op->type)); in xnn_setup_convolution2d_nchw_f32()
739 convolution_op, in xnn_setup_convolution2d_nchw_f32()
746 &convolution_op->params.f32_minmax, in xnn_setup_convolution2d_nchw_f32()
747 &convolution_op->params.f32_chw, in xnn_setup_convolution2d_nchw_f32()