Compute Library
 22.08
StrategyType< true, TInput, TWeight, TOutput, int32_t, arm_gemm::Requantize32 > Struct Template Reference

#include <depthwise_depthfirst_multiplier.hpp>

Public Types

using Type = GenericDepthfirstMultiplierStrategy< TInput, TWeight, TOutput, int32_t, arm_gemm::Requantize32 >
 

Static Public Member Functions

template<typename WorkspaceType >
static void execute (const DepthwiseArgs &args, const WorkspaceType *ws, const Type *strat, const arm_gemm::Requantize32 &qp, const unsigned int start_output_channel, const void *parameters, const void *)
 

Detailed Description

template<typename TInput, typename TWeight, typename TOutput>
struct arm_conv::depthwise::depthfirst_multiplier::StrategyType< true, TInput, TWeight, TOutput, int32_t, arm_gemm::Requantize32 >

Definition at line 393 of file depthwise_depthfirst_multiplier.hpp.

Member Typedef Documentation

◆ Type

using Type = GenericDepthfirstMultiplierStrategy<TInput, TWeight, TOutput, int32_t, arm_gemm::Requantize32>

Definition at line 395 of file depthwise_depthfirst_multiplier.hpp.

Member Function Documentation

◆ execute()

static void execute ( const DepthwiseArgs &  args,
const WorkspaceType *  ws,
const Type strat,
const arm_gemm::Requantize32 qp,
const unsigned int  start_output_channel,
const void *  parameters,
const void *   
)
inlinestatic

Definition at line 398 of file depthwise_depthfirst_multiplier.hpp.

References Requantize32::bias, GenericDepthfirstMultiplierStrategy< TInput, TWeight, TOutput, TAccum, OutputStage >::get_kernel(), DepthwiseDepthfirstStrategyCommon< TInput, TWeight, TOutput, TAccum, OutputStage >::get_kernel_cols(), DepthwiseDepthfirstStrategyCommon< TInput, TWeight, TOutput, TAccum, OutputStage >::get_kernel_rows(), arm_compute::test::parameters, Requantize32::per_channel_left_shifts, Requantize32::per_channel_muls, and Requantize32::per_channel_right_shifts.

403  {
404  auto get_ptr = [start_output_channel] (const int32_t *ptr) -> const int32_t *
405  {
406  return ptr == nullptr ? nullptr : ptr + start_output_channel;
407  };
408 
409  strat->get_kernel()(
410  ws->input_rows, ws->outptr_array,
411  reinterpret_cast<const TWeight *>(parameters),
412  get_ptr(qp.bias),
413  strat->get_kernel_rows() * strat->get_kernel_cols(),
414  args.channel_multiplier,
415  get_ptr(qp.per_channel_left_shifts),
416  get_ptr(qp.per_channel_muls),
417  get_ptr(qp.per_channel_right_shifts),
418  qp
419  );
420  }
const int32_t * bias
Definition: arm_gemm.hpp:172
const int32_t * per_channel_left_shifts
Definition: arm_gemm.hpp:181
std::unique_ptr< ParametersLibrary > parameters
Definition: Framework.cpp:46
const int32_t * per_channel_right_shifts
Definition: arm_gemm.hpp:182
const int32_t * per_channel_muls
Definition: arm_gemm.hpp:183

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