Mojo function
accumulate_wo_tile_1d
accumulate_wo_tile_1d[micro_kernel_height: Int, micro_kernel_width: Int, simd_size: Int, partial_load_filter: Bool, effected_by_padding: Bool, input_dt: DType, filter_dt: DType](c_tile_size: Int, S: Int, mut acc: _Accumulator[dtype, num_rows, num_cols, simd_width, row_start, row_stop], input: UnsafePointer[Scalar[input_dt]], input_stride: Int, input_stride_to_nbr: Int, filter: UnsafePointer[Scalar[filter_dt]], filter_stride: Int, filter_stride_to_nbr: Int, partial_load_filter_size: Int, w: Int, W: Int, dilation: Int)
Update one row in the output for a given (c, f) tile.
Parameters:
- micro_kernel_height (Int): Number of input points in register tiling.
- micro_kernel_width (Int): Number of SIMD resgiters assigned to F.
- simd_size (Int): Number of elements in a SIMD register.
- partial_load_filter (Bool): Whether using partial load for filter.
- effected_by_padding (Bool): Whether the tile is effected by padding.
- input_dt (DType): DType of input.
- filter_dt (DType): DType of filter.
Args:
- c_tile_size (Int): Tile size in input channel.
- S (Int): Filter window width.
- acc (_Accumulator): Pointer to register tile accumulator.
- input (UnsafePointer): Pointer to the first input point in WO tile.
- input_stride (Int): Stride between two input points, i.e., C w/ NHWC layout.
- input_stride_to_nbr (Int): Stride between an input point and its neighbor.
- filter (UnsafePointer): Pointer to the first coef in the filter window.
- filter_stride (Int): Stride between two segments of sizemicro_kernel_width * simd_size.
- filter_stride_to_nbr (Int): Stride between between two neighbor coefs, i.e., CF w/ RSCF layout.
- partial_load_filter_size (Int): Size of partial load for filter.
- w (Int): Coordinate in an input row.
- W (Int): Input width.
- dilation (Int): Convolution dilation.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!
