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

#include <depthwise_depthfirst_generic.hpp>

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

Public Member Functions

 DepthwiseDepthfirstGeneric (StratType *const strat, const DepthwiseArgs &args, const OutputStage &os={})
 
 DepthwiseDepthfirstGeneric (DepthwiseDepthfirstGeneric &)=delete
 
DepthwiseDepthfirstGenericoperator= (DepthwiseDepthfirstGeneric &)=delete
 
void pack_parameters (void *buffer, const void *biases, const void *weights, size_t ld_weight_col, size_t ld_weight_row) override
 
size_t get_working_size_per_thread (const unsigned int n_input_channels) const override
 
void initialise_working_space (void *buffer, unsigned int n_input_channels) const override
 
- Public Member Functions inherited from DepthwiseDepthfirstCommon< TInput, TWeight, TOutput, TAccum, OutputStage >
 DepthwiseDepthfirstCommon (StratType *const strat, const DepthwiseArgs &args, const OutputStage &os)
 
 DepthwiseDepthfirstCommon (DepthwiseDepthfirstCommon &)=delete
 
DepthwiseDepthfirstCommonoperator= (DepthwiseDepthfirstCommon &)=delete
 
size_t get_storage_size (void) const override
 
void pack_parameters (void *buffer, const void *biases, const void *weights, size_t ld_weight_col, size_t ld_weight_row) override
 
- Public Member Functions inherited from DepthfirstDriver< TInput, TWeight, TOutput >
 DepthfirstDriver (IDepthfirstStrategy *strategy, const DepthwiseArgs &args)
 
size_t get_working_size (unsigned int n_threads, unsigned int n_input_channels) const override final
 

Detailed Description

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

Definition at line 203 of file depthwise_depthfirst_generic.hpp.

Constructor & Destructor Documentation

◆ DepthwiseDepthfirstGeneric() [1/2]

DepthwiseDepthfirstGeneric ( StratType *const  strat,
const DepthwiseArgs &  args,
const OutputStage &  os = {} 
)
inline

Definition at line 217 of file depthwise_depthfirst_generic.hpp.

217  {})
218  : Parent(strat, args, os)
219  {
220  }

◆ DepthwiseDepthfirstGeneric() [2/2]

DepthwiseDepthfirstGeneric ( DepthwiseDepthfirstGeneric< TInput, TWeight, TOutput, TAccum, OutputStage > &  )
delete

Member Function Documentation

◆ get_working_size_per_thread()

size_t get_working_size_per_thread ( const unsigned int  n_input_channels) const
inlineoverridevirtual

Implements DepthfirstDriver< TInput, TWeight, TOutput >.

Definition at line 235 of file depthwise_depthfirst_generic.hpp.

References GemmTuner::args.

236  {
237  DepthwiseArgs args(this->m_args);
238  args.input_channels = n_input_channels;
239  return WorkspaceManager::get_sizeof_workspace(WorkspaceArgs<IDepthfirstStrategy, OutputStage>(this->m_strat.get(), args, this->get_output_stage()));
240  }

◆ initialise_working_space()

void initialise_working_space ( void *  buffer,
unsigned int  n_input_channels 
) const
inlineoverridevirtual

Implements DepthfirstDriver< TInput, TWeight, TOutput >.

Definition at line 242 of file depthwise_depthfirst_generic.hpp.

References GemmTuner::args, TensorSpec< T >::base, arm_compute::test::validation::input, TensorSpec< T >::ld_col, TensorSpec< T >::ld_row, and arm_compute::test::parameters.

243  {
244  DepthwiseArgs args(this->m_args);
245  args.input_channels = n_input_channels;
246  return WorkspaceManager::initialise(buffer, WorkspaceArgs<IDepthfirstStrategy, OutputStage>(this->m_strat.get(), args, this->get_output_stage()));
247  }

◆ operator=()

DepthwiseDepthfirstGeneric& operator= ( DepthwiseDepthfirstGeneric< TInput, TWeight, TOutput, TAccum, OutputStage > &  )
delete

◆ pack_parameters()

void pack_parameters ( void *  buffer,
const void *  biases,
const void *  weights,
size_t  ld_weight_col,
size_t  ld_weight_row 
)
inlineoverride

Definition at line 225 of file depthwise_depthfirst_generic.hpp.

References arm_conv::depthwise::interleaves::quantized::pack_parameters().

229  {
230  Parent::pack_parameters(buffer, biases, weights, ld_weight_col, ld_weight_row);
231  m_bias = reinterpret_cast<const TAccum *>(biases); // Get a copy of the biases
232  depthwise_depthfirst::stash_bias(this->get_output_stage(), m_bias);
233  }
void pack_parameters(void *buffer, const void *biases, const void *weights, size_t ld_weight_col, size_t ld_weight_row) override

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