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

#include <depthwise_depthfirst.hpp>

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

Public Member Functions

 DepthwiseDepthfirst (StratType *const strat, const DepthwiseArgs &args, const OutputStage &os={})
 
 DepthwiseDepthfirst (DepthwiseDepthfirst &)=delete
 
DepthwiseDepthfirstoperator= (DepthwiseDepthfirst &)=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::DepthwiseDepthfirst< TInput, TWeight, TOutput, TAccum, OutputStage >

Definition at line 315 of file depthwise_depthfirst.hpp.

Constructor & Destructor Documentation

◆ DepthwiseDepthfirst() [1/2]

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

Definition at line 332 of file depthwise_depthfirst.hpp.

332  {})
333  : Parent(strat, args, os), m_bias(nullptr)
334  {
335  }

◆ DepthwiseDepthfirst() [2/2]

DepthwiseDepthfirst ( DepthwiseDepthfirst< 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 350 of file depthwise_depthfirst.hpp.

References GemmTuner::args.

351  {
352  DepthwiseArgs args(this->m_args);
353  args.input_channels = n_input_channels;
354  return WorkspaceManager::get_sizeof_workspace(
355  WorkspaceArgs<IDepthfirstStrategy, OutputStage>(this->m_strat.get(), args, this->get_output_stage())
356  );
357  }

◆ initialise_working_space()

◆ operator=()

DepthwiseDepthfirst& operator= ( DepthwiseDepthfirst< 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 340 of file depthwise_depthfirst.hpp.

References DepthfirstStrategy< TInput, TWeight, TOutput, TAccum, OutputStage >::pack_parameters().

341  {
342  reinterpret_cast<const StratType *>(this->m_strat.get())->pack_parameters(
343  this->m_args, buffer, biases, this->get_output_stage(),
344  weights, ld_weight_col, ld_weight_row
345  );
346  m_bias = reinterpret_cast<const TAccum *>(biases);
347  depthwise_depthfirst::stash_bias(this->get_output_stage(), biases);
348  }
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: