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[type, num_rows, num_cols, simd_width, row_start, row_stop], input: UnsafePointer[SIMD[input_dt, 1]], input_stride: Int, input_stride_to_nbr: Int, filter: UnsafePointer[SIMD[filter_dt, 1]], 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[type, num_rows, num_cols, simd_width, row_start, row_stop]
): Pointer to register tile accumulator. - input (
UnsafePointer[SIMD[input_dt, 1]]
): 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[SIMD[filter_dt, 1]]
): 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!