Compute Library
 23.11
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< typename DefaultOutputStage< TInput >::Type >
virtual ~IPlanarStrategy ()=default
 
virtual void pack_parameters (const DepthwiseArgs &args, void *buffer, const void *biases, const typename DefaultOutputStage< TInput >::Type &, const void *weights, size_t ld_weight_col, size_t ld_weight_row) const=0
 

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 132 of file depthwise_planar.hpp.

Member Typedef Documentation

◆ KernelType

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

Definition at line 195 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 164 of file depthwise_planar.hpp.

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

Member Function Documentation

◆ get_kernel()

◆ get_output_rows()

unsigned int get_output_rows ( void  ) const
inlineoverridevirtual

Implements IPlanarStrategy< typename DefaultOutputStage< TInput >::Type >.

Definition at line 175 of file depthwise_planar.hpp.

175 { return m_output_rows; }

◆ get_storage_size()

size_t get_storage_size ( const DepthwiseArgs &  args) const
inlineoverridevirtual

Implements IPlanarStrategy< typename DefaultOutputStage< TInput >::Type >.

Definition at line 178 of file depthwise_planar.hpp.

179  {
180  return interleaves::get_storage_size_generic(this->get_kernel_packing_arguments(), args);
181  }

◆ get_vl_type()

arm_gemm::VLType get_vl_type ( void  ) const
inlineoverridevirtual

Implements IPlanarStrategy< typename DefaultOutputStage< TInput >::Type >.

Definition at line 176 of file depthwise_planar.hpp.

176 { 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
inlineoverride

Definition at line 183 of file depthwise_planar.hpp.

188  {
190  this->get_kernel_packing_arguments(), args,
191  buffer, biases, weights, ld_weight_col, ld_weight_row
192  );
193  }

The documentation for this class was generated from the following file:
GemmTuner.args
args
Definition: GemmTuner.py:679
arm_conv::depthwise::interleaves::pack_parameters_generic
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
arm_conv::depthwise::interleaves::get_storage_size_generic
size_t get_storage_size_generic(const PackingArguments &packing_args, const DepthwiseArgs &args)
Definition: generic.cpp:45