Compute Library
 22.08
DepthwiseDepthfirstGenericWithMultiplierBase< strategy > Class Template Reference

#include <depthwise_depthfirst_generic_multiplier.hpp>

Collaboration diagram for DepthwiseDepthfirstGenericWithMultiplierBase< strategy >:
[legend]

Public Member Functions

 DepthwiseDepthfirstGenericWithMultiplierBase (const DepthwiseArgs &args)
 
 DepthwiseDepthfirstGenericWithMultiplierBase (DepthwiseDepthfirstGenericWithMultiplierBase &)=delete
 
DepthwiseDepthfirstGenericWithMultiplierBaseoperator= (DepthwiseDepthfirstGenericWithMultiplierBase &)=delete
 
size_t get_storage_size (void) const override
 
size_t get_working_size (const unsigned int n_threads, const unsigned int n_channels) const override
 

Detailed Description

template<class strategy>
class arm_conv::depthwise::DepthwiseDepthfirstGenericWithMultiplierBase< strategy >

Definition at line 39 of file depthwise_depthfirst_generic_multiplier.hpp.

Constructor & Destructor Documentation

◆ DepthwiseDepthfirstGenericWithMultiplierBase() [1/2]

DepthwiseDepthfirstGenericWithMultiplierBase ( const DepthwiseArgs &  args)
inline

Definition at line 348 of file depthwise_depthfirst_generic_multiplier.hpp.

References DepthwiseDepthfirstGenericWithMultiplierBase< strategy >::operator=().

348  : DepthwiseCommon<TInput, TWeight, TOutput>(args)
349  {
350  }

◆ DepthwiseDepthfirstGenericWithMultiplierBase() [2/2]

Member Function Documentation

◆ get_storage_size()

size_t get_storage_size ( void  ) const
inlineoverride

Definition at line 355 of file depthwise_depthfirst_generic_multiplier.hpp.

References arm_gemm::roundup().

356  {
357  const unsigned int vl = arm_gemm::utils::get_vector_length<TAccum>(strategy::vl_type);
358  const auto rounded_channels = this->m_args.input_channels * arm_gemm::roundup(this->m_args.channel_multiplier, vl);
359  return kernel_points() * rounded_channels * sizeof(TWeight);
360  }
T roundup(const T a, const T b)
Definition: utils.hpp:70

◆ get_working_size()

size_t get_working_size ( const unsigned int  n_threads,
const unsigned int  n_channels 
) const
inlineoverride

Definition at line 362 of file depthwise_depthfirst_generic_multiplier.hpp.

363  {
364  const unsigned int n_output_channels = n_channels * this->m_args.channel_multiplier;
365  return n_threads * (sizeof_inptr_array() +
366  sizeof_input_samples() +
367  sizeof_outptr_array() +
368  sizeof_output_buffer(n_output_channels));
369  }

◆ operator=()


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