Compute Library
 21.02
INEGEMMLowpReductionKernel Class Referenceabstract

Common interface for all Neon reduction kernels. More...

#include <NEGEMMLowpReductionKernel.h>

Collaboration diagram for INEGEMMLowpReductionKernel:
[legend]

Public Member Functions

 INEGEMMLowpReductionKernel ()
 Constructor. More...
 
 INEGEMMLowpReductionKernel (const INEGEMMLowpReductionKernel &)=delete
 Prevent instances of this class from being copied (As this class contains pointers) More...
 
INEGEMMLowpReductionKerneloperator= (const INEGEMMLowpReductionKernel &)=delete
 Prevent instances of this class from being copied (As this class contains pointers) More...
 
 INEGEMMLowpReductionKernel (INEGEMMLowpReductionKernel &&)=default
 Allow instances of this class to be moved. More...
 
INEGEMMLowpReductionKerneloperator= (INEGEMMLowpReductionKernel &&)=default
 Allow instances of this class to be moved. More...
 
virtual ~INEGEMMLowpReductionKernel ()=default
 Default destructor. More...
 
virtual void configure (const ITensor *input, ITensor *output, const GEMMLowpReductionKernelInfo &info)=0
 Initialise the kernel's input and output. More...
 
- Public Member Functions inherited from ICPPKernel
virtual ~ICPPKernel ()=default
 Default destructor. More...
 
virtual void run (const Window &window, const ThreadInfo &info)
 Execute the kernel on the passed window. More...
 
virtual void run_nd (const Window &window, const ThreadInfo &info, const Window &thread_locator)
 legacy compatibility layer for implemantions which do not support thread_locator In these cases we simply narrow the interface down the legacy version More...
 
virtual void run_op (ITensorPack &tensors, const Window &window, const ThreadInfo &info)
 Execute the kernel on the passed window. More...
 
virtual const char * name () const =0
 Name of the kernel. More...
 
- Public Member Functions inherited from IKernel
 IKernel ()
 Constructor. More...
 
virtual ~IKernel ()=default
 Destructor. More...
 
virtual bool is_parallelisable () const
 Indicates whether or not the kernel is parallelisable. More...
 
virtual BorderSize border_size () const
 The size of the border for that kernel. More...
 
const Windowwindow () const
 The maximum window the kernel can be executed on. More...
 

Detailed Description

Common interface for all Neon reduction kernels.

Definition at line 36 of file NEGEMMLowpReductionKernel.h.

Constructor & Destructor Documentation

◆ INEGEMMLowpReductionKernel() [1/3]

Constructor.

Definition at line 64 of file NEGEMMLowpReductionKernel.cpp.

65  : _input(), _output(), _k(0), _scalar(0), _mul_by_scalar(false)
66 {
67 }

◆ INEGEMMLowpReductionKernel() [2/3]

Prevent instances of this class from being copied (As this class contains pointers)

◆ INEGEMMLowpReductionKernel() [3/3]

Allow instances of this class to be moved.

◆ ~INEGEMMLowpReductionKernel()

virtual ~INEGEMMLowpReductionKernel ( )
virtualdefault

Default destructor.

Member Function Documentation

◆ configure()

virtual void configure ( const ITensor input,
ITensor output,
const GEMMLowpReductionKernelInfo info 
)
pure virtual

Initialise the kernel's input and output.

Parameters
[in]inputInput tensor. Data type supported: QASYMM8/QASYMM8_SIGNED/QSYMM8/QSYMM8_PER_CHANNEL
[out]outputOutput row-vector of sums of all the entries in each row/col of input tensor. Data type supported: S32
[in]infoKernel metadata:
  • k Number of matrix columns/rows depending on the type of reduction.
  • is_reshaped True if the matrix has been reshaped.
  • scalar Scalar value to multiply each reduced column/row by.
  • mul_byscalar True if each reduced column/row must be multiplied by a scalar value.

Implemented in NEGEMMLowpMatrixBReductionKernel, and NEGEMMLowpMatrixAReductionKernel.

Referenced by NEGEMMLowpMatrixAReductionKernel::name(), and NEGEMMLowpMatrixBReductionKernel::name().

◆ operator=() [1/2]

INEGEMMLowpReductionKernel& operator= ( const INEGEMMLowpReductionKernel )
delete

Prevent instances of this class from being copied (As this class contains pointers)

Referenced by NEGEMMLowpMatrixAReductionKernel::name(), and NEGEMMLowpMatrixBReductionKernel::name().

◆ operator=() [2/2]

Allow instances of this class to be moved.


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