Compute Library
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 *   

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  };
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:
const int32_t * bias
Definition: arm_gemm.hpp:189
const int32_t * per_channel_left_shifts
Definition: arm_gemm.hpp:198
const int32_t * per_channel_right_shifts
Definition: arm_gemm.hpp:199
const int32_t * per_channel_muls
Definition: arm_gemm.hpp:200
std::unique_ptr< ParametersLibrary > parameters
Definition: Framework.cpp:46