Compute Library
 22.08
DepthfirstStrategy< TInput, TWeight, TOutput, TAccum, OutputStage > Class Template Reference

#include <depthwise_strategies_common.hpp>

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

Public Member Functions

virtual size_t get_storage_size (const DepthwiseArgs &args) const
 
virtual 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
 
- Public Member Functions inherited from DepthfirstStrategyUntyped
virtual arm_gemm::VLType get_vl_type () const =0
 
virtual unsigned int get_kernel_rows () const =0
 
virtual unsigned int get_kernel_cols () const =0
 
virtual unsigned int get_stride_rows () const =0
 
virtual unsigned int get_stride_cols () 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
 
virtual unsigned int get_output_rows () const =0
 
virtual unsigned int get_output_cols () const =0
 

Detailed Description

template<typename TInput, typename TWeight, typename TOutput, typename TAccum, typename OutputStage>
class arm_conv::depthwise::DepthfirstStrategy< TInput, TWeight, TOutput, TAccum, OutputStage >

Definition at line 61 of file depthwise_strategies_common.hpp.

Member Function Documentation

◆ get_storage_size()

virtual size_t get_storage_size ( const DepthwiseArgs &  args) const
inlinevirtual

Reimplemented in GenericDepthfirstMultiplierStrategy< TInput, TWeight, TOutput, TAccum, OutputStage >, DepthwiseDepthfirstStrategy< TInput, TWeight, TOutput, int32_t >, DepthfirstMultiplierStrategy< TInput, TWeight, TOutput, int32_t >, GenericDepthfirstStrategy< TInput, TWeight, TOutput, TAccum, OutputStage >, and DepthfirstMultiplierStrategy< TInput, TWeight, TOutput, TAccum >.

Definition at line 64 of file depthwise_strategies_common.hpp.

Referenced by DepthwiseDepthfirstCommon< TInput, TWeight, TOutput, TAccum, OutputStage >::get_storage_size().

65  {
66  interleaves::PackingArguments packing_args(
67  this->get_kernel_rows(), this->get_kernel_cols(), sizeof(TWeight),
68  true, sizeof(TAccum),
69  this->get_vl_type(), sizeof(TAccum), this->get_accumulator_depth_vl(),
70  [this] (unsigned int idx, unsigned int &x, unsigned int &y) -> bool
71  { return this->get_kernel_packing_point(idx, x, y); }
72  );
73  return interleaves::get_storage_size_generic(packing_args, args);
74  }
virtual unsigned int get_kernel_cols() const =0
virtual unsigned int get_kernel_rows() const =0
size_t get_storage_size_generic(const PackingArguments &packing_args, const DepthwiseArgs &args)
Definition: generic.cpp:45
virtual bool get_kernel_packing_point(const unsigned int index, unsigned int &x, unsigned int &y) const
virtual arm_gemm::VLType get_vl_type() const =0

◆ pack_parameters()

virtual 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
inlinevirtual

Reimplemented in GenericDepthfirstMultiplierStrategy< TInput, TWeight, TOutput, TAccum, OutputStage >, DepthwiseDepthfirstStrategy< TInput, TWeight, TOutput, int32_t >, GenericDepthfirstStrategy< TInput, TWeight, TOutput, TAccum, OutputStage >, DepthfirstMultiplierStrategy< TInput, TWeight, TOutput, int32_t >, and DepthfirstMultiplierStrategy< TInput, TWeight, TOutput, TAccum >.

Definition at line 76 of file depthwise_strategies_common.hpp.

Referenced by DepthwiseDepthfirstCommon< TInput, TWeight, TOutput, TAccum, OutputStage >::pack_parameters(), and DepthwiseDepthfirst< TInput, TWeight, TOutput, TAccum, OutputStage >::pack_parameters().

81  {
82  interleaves::PackingArguments packing_args(
83  this->get_kernel_rows(), this->get_kernel_cols(), sizeof(TWeight),
84  true, sizeof(TAccum),
85  this->get_vl_type(), sizeof(TAccum), this->get_accumulator_depth_vl(),
86  [this] (unsigned int idx, unsigned int &x, unsigned int &y) -> bool
87  { return this->get_kernel_packing_point(idx, x, y); }
88  );
90  packing_args, args, buffer, biases, weights, ld_weight_col, ld_weight_row);
91  }
virtual unsigned int get_kernel_cols() const =0
virtual unsigned int get_kernel_rows() const =0
virtual bool get_kernel_packing_point(const unsigned int index, unsigned int &x, unsigned int &y) const
virtual arm_gemm::VLType get_vl_type() const =0
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: