Compute Library
 22.08
PlanarStrategy< TInput, TWeight, TOutput, TAccum, OutputStage > Class Template Referenceabstract

#include <depthwise_planar.hpp>

Collaboration diagram for PlanarStrategy< TInput, TWeight, TOutput, TAccum, OutputStage >:
[legend]

Public Types

using KernelType = typename PlanarKernelType< TInput, TWeight, TOutput, TAccum, OutputStage >::Type
 

Public Member Functions

 PlanarStrategy (unsigned int kernel_rows, unsigned int kernel_cols, unsigned int stride_rows, unsigned int stride_cols, unsigned int output_rows, arm_gemm::VLType vl_type)
 
unsigned int get_output_rows (void) const override
 
arm_gemm::VLType get_vl_type (void) const override
 
size_t get_storage_size (const DepthwiseArgs &args) const override
 
void pack_parameters (const DepthwiseArgs &args, void *buffer, const void *biases, const OutputStage &, const void *weights, size_t ld_weight_col, size_t ld_weight_row) const override
 
virtual KernelType get_kernel (void) const =0
 
- Public Member Functions inherited from IPlanarStrategy< OutputStage >
virtual ~IPlanarStrategy ()=default
 

Detailed Description

template<typename TInput, typename TWeight = TInput, typename TOutput = TInput, typename TAccum = typename DefaultTAccum<TOutput>::Type, typename OutputStage = typename DefaultOutputStage<TOutput>::Type>
class arm_conv::depthwise::PlanarStrategy< TInput, TWeight, TOutput, TAccum, OutputStage >

Definition at line 130 of file depthwise_planar.hpp.

Member Typedef Documentation

◆ KernelType

using KernelType = typename PlanarKernelType<TInput, TWeight, TOutput, TAccum, OutputStage>::Type

Definition at line 193 of file depthwise_planar.hpp.

Constructor & Destructor Documentation

◆ PlanarStrategy()

PlanarStrategy ( unsigned int  kernel_rows,
unsigned int  kernel_cols,
unsigned int  stride_rows,
unsigned int  stride_cols,
unsigned int  output_rows,
arm_gemm::VLType  vl_type 
)
inline

Definition at line 162 of file depthwise_planar.hpp.

167  : m_kernel_rows(kernel_rows), m_kernel_cols(kernel_cols),
168  m_stride_rows(stride_rows), m_stride_cols(stride_cols),
169  m_output_rows(output_rows), m_vl_type(vl_type)
170  {
171  }

Member Function Documentation

◆ get_kernel()

virtual KernelType get_kernel ( void  ) const
pure virtual

◆ get_output_rows()

unsigned int get_output_rows ( void  ) const
inlineoverridevirtual

Implements IPlanarStrategy< OutputStage >.

Definition at line 173 of file depthwise_planar.hpp.

173 { return m_output_rows; }

◆ get_storage_size()

size_t get_storage_size ( const DepthwiseArgs &  args) const
inlineoverridevirtual

Implements IPlanarStrategy< OutputStage >.

Definition at line 176 of file depthwise_planar.hpp.

References arm_conv::depthwise::interleaves::get_storage_size_generic().

177  {
178  return interleaves::get_storage_size_generic(this->get_kernel_packing_arguments(), args);
179  }
size_t get_storage_size_generic(const PackingArguments &packing_args, const DepthwiseArgs &args)
Definition: generic.cpp:45

◆ get_vl_type()

arm_gemm::VLType get_vl_type ( void  ) const
inlineoverridevirtual

Implements IPlanarStrategy< OutputStage >.

Definition at line 174 of file depthwise_planar.hpp.

174 { return m_vl_type; }

◆ pack_parameters()

void pack_parameters ( const DepthwiseArgs &  args,
void *  buffer,
const void *  biases,
const OutputStage &  ,
const void *  weights,
size_t  ld_weight_col,
size_t  ld_weight_row 
) const
inlineoverridevirtual

Implements IPlanarStrategy< OutputStage >.

Definition at line 181 of file depthwise_planar.hpp.

References arm_conv::depthwise::interleaves::pack_parameters_generic().

186  {
188  this->get_kernel_packing_arguments(), args,
189  buffer, biases, weights, ld_weight_col, ld_weight_row
190  );
191  }
void pack_parameters_generic(const PackingArguments &packing_args, const DepthwiseArgs &args, void *buffer_raw, const void *biases_raw, const void *weights_raw, size_t ld_weight_col, size_t ld_weight_row)
Definition: generic.cpp:67

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