Compute Library
 23.11
convolver< T > Class Template Reference

#include <convolver.hpp>

Public Member Functions

 convolver (ConvolutionParameters params)
 
column_handler process_columns (const T *input_base, size_t input_stride, unsigned int k_start, unsigned int k_end, unsigned int rounded_stringlen) const
 

Detailed Description

template<typename T>
class arm_gemm::convolver< T >

Definition at line 51 of file convolver.hpp.

Constructor & Destructor Documentation

◆ convolver()

convolver ( ConvolutionParameters  params)
inline

Definition at line 161 of file convolver.hpp.

161  :
162  m_params (params), m_pad_row(params.input_channels, static_cast<T>(params.padding_value)),
163  m_kernel_y(params.kernel_width * params.kernel_height, 0),
164  m_kernel_x(params.kernel_width * params.kernel_height, 0) {
165 
166  // Kernel points are addressed across, then down (assumed weight layout is WHIO)
167  for (unsigned int ky=0; ky<params.kernel_height; ky++) {
168  for (unsigned int kx=0; kx<params.kernel_width; kx++) {
169  unsigned int n = (ky * params.kernel_width) + kx;
170  m_kernel_y[n] = ky - params.padding_top;
171  m_kernel_x[n] = kx - params.padding_left;
172  }
173  }
174  }

References ConvolutionParameters::kernel_height, ConvolutionParameters::kernel_width, ConvolutionParameters::padding_left, and ConvolutionParameters::padding_top.

Member Function Documentation

◆ process_columns()

column_handler process_columns ( const T *  input_base,
size_t  input_stride,
unsigned int  k_start,
unsigned int  k_end,
unsigned int  rounded_stringlen 
) const
inline

Definition at line 176 of file convolver.hpp.

177  {
178  return column_handler(*this, input_base, input_stride, k_start, k_end, rounded_stringlen);
179  }

Referenced by arm_gemm::ConvolutionInterleave().


The documentation for this class was generated from the following file: