Compute Library
 23.11
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 397 of file depthwise_depthfirst_multiplier.hpp.

Member Typedef Documentation

◆ Type

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

Definition at line 399 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 402 of file depthwise_depthfirst_multiplier.hpp.

407  {
408  auto get_ptr = [start_output_channel] (const int32_t *ptr) -> const int32_t *
409  {
410  return ptr == nullptr ? nullptr : ptr + start_output_channel;
411  };
412 
413  strat->get_kernel()(
414  ws->input_rows, ws->outptr_array,
415  reinterpret_cast<const TWeight *>(parameters),
416  get_ptr(qp.bias),
417  strat->get_kernel_rows() * strat->get_kernel_cols(),
418  args.channel_multiplier,
419  get_ptr(qp.per_channel_left_shifts),
420  get_ptr(qp.per_channel_muls),
421  get_ptr(qp.per_channel_right_shifts),
422  qp
423  );
424  }

References GemmTuner::args, 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.


The documentation for this struct was generated from the following file:
GemmTuner.args
args
Definition: GemmTuner.py:679
arm_gemm::Requantize32::bias
const int32_t * bias
Definition: arm_gemm.hpp:189
arm_gemm::Requantize32::per_channel_left_shifts
const int32_t * per_channel_left_shifts
Definition: arm_gemm.hpp:198
arm_gemm::Requantize32::per_channel_right_shifts
const int32_t * per_channel_right_shifts
Definition: arm_gemm.hpp:199
arm_gemm::Requantize32::per_channel_muls
const int32_t * per_channel_muls
Definition: arm_gemm.hpp:200
arm_compute::test::parameters
std::unique_ptr< ParametersLibrary > parameters
Definition: Framework.cpp:46