Compute Library
 22.08
DepthfirstMultiplierStrategy< TInput, TWeight, TOutput, int32_t > Class Template Referenceabstract

#include <depthwise_depthfirst_multiplier.hpp>

Collaboration diagram for DepthfirstMultiplierStrategy< TInput, TWeight, TOutput, int32_t >:
[legend]

Public Types

using KernelType = std::function< void(const TInput *const *, TOutput *const *, const void *, unsigned int, const arm_gemm::Requantize32 &)>
 

Public Member Functions

size_t get_storage_size (const DepthwiseArgs &args) const override
 
void pack_parameters (const DepthwiseArgs &args, void *buffer, const void *biases, const arm_gemm::Requantize32 &qp, 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 DepthwiseDepthfirstStrategyCommon< TInput, TWeight, TOutput, int32_t, arm_gemm::Requantize32 >
 DepthwiseDepthfirstStrategyCommon (unsigned int output_rows, unsigned int output_cols, unsigned int kernel_rows, unsigned int kernel_cols, unsigned int stride_rows=1, unsigned int stride_cols=1)
 
 DepthwiseDepthfirstStrategyCommon (unsigned int output_size, unsigned int kernel_size, unsigned int stride=1)
 
virtual ~DepthwiseDepthfirstStrategyCommon ()
 
unsigned int get_output_rows () const override
 
unsigned int get_output_cols () const override
 
unsigned int get_kernel_rows () const override
 
unsigned int get_kernel_cols () const override
 
unsigned int get_stride_rows () const override
 
unsigned int get_stride_cols () const override
 
- Public Member Functions inherited from DepthfirstStrategyUntyped
virtual arm_gemm::VLType get_vl_type () const =0
 
virtual unsigned int get_input_rows () const override
 
virtual unsigned int get_input_cols () const override
 
virtual unsigned int get_n_input_points () const
 
virtual unsigned int get_n_output_points () const
 
virtual unsigned int get_n_kernel_points () const
 
virtual unsigned int get_accumulator_depth_vl () const
 
virtual bool get_kernel_packing_point (const unsigned int index, unsigned int &x, unsigned int &y) const
 
- Public Member Functions inherited from IDepthfirstStrategy
virtual ~IDepthfirstStrategy ()=default
 

Detailed Description

template<typename TInput, typename TWeight, typename TOutput>
class arm_conv::depthwise::DepthfirstMultiplierStrategy< TInput, TWeight, TOutput, int32_t >

Definition at line 93 of file depthwise_depthfirst_multiplier.hpp.

Member Typedef Documentation

◆ KernelType

using KernelType = std::function<void( const TInput *const *, TOutput *const *, const void *, unsigned int, const arm_gemm::Requantize32 & )>

Definition at line 120 of file depthwise_depthfirst_multiplier.hpp.

Member Function Documentation

◆ get_kernel()

◆ get_storage_size()

size_t get_storage_size ( const DepthwiseArgs &  args) const
inlineoverridevirtual

◆ pack_parameters()

void pack_parameters ( const DepthwiseArgs &  args,
void *  buffer,
const void *  biases,
const arm_gemm::Requantize32 qp,
const void *  weights,
size_t  ld_weight_col,
size_t  ld_weight_row 
) const
inlineoverridevirtual

Reimplemented from DepthfirstStrategy< TInput, TWeight, TOutput, int32_t, arm_gemm::Requantize32 >.

Definition at line 105 of file depthwise_depthfirst_multiplier.hpp.

References GemmTuner::args, DepthfirstStrategyUntyped::get_accumulator_depth_vl(), and DepthfirstStrategyUntyped::get_vl_type().

106  {
107  interleaves::quantized::pack_parameters<TWeight>(
108  buffer, reinterpret_cast<const int32_t *>(biases),
109  reinterpret_cast<const TWeight *>(weights), ld_weight_col, ld_weight_row,
110  args, qp, this->get_vl_type(), this->get_accumulator_depth_vl()
111  );
112  }
virtual arm_gemm::VLType get_vl_type() const =0

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