Compute Library
 19.08
NEGEMMAssemblyBaseKernel Class Referenceabstract

Base class for GEMM NEON kernels implemented in Assembly. More...

#include <NEGEMMAssemblyBaseKernel.h>

Collaboration diagram for NEGEMMAssemblyBaseKernel:
[legend]

Public Member Functions

const char * name () const override
 Name of the kernel. More...
 
 NEGEMMAssemblyBaseKernel ()
 Constructor. More...
 
 NEGEMMAssemblyBaseKernel (const NEGEMMAssemblyBaseKernel &)=delete
 Prevent instances of this class from being copied (As this class contains pointers) More...
 
NEGEMMAssemblyBaseKerneloperator= (const NEGEMMAssemblyBaseKernel &)=delete
 Prevent instances of this class from being copied (As this class contains pointers) More...
 
 NEGEMMAssemblyBaseKernel (NEGEMMAssemblyBaseKernel &&)=default
 Allow instances of this class to be moved. More...
 
NEGEMMAssemblyBaseKerneloperator= (NEGEMMAssemblyBaseKernel &&)=default
 Allow instances of this class to be moved. More...
 
virtual ~NEGEMMAssemblyBaseKernel ()=default
 
void configure (const ITensor *input0, const ITensor *input1, ITensor *output, ITensor *workspace, float alpha=1.f, float beta=0.f, bool is_transposed_0=false, bool is_transposed_1=false)
 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)=0
 Execute the kernel on the passed window. 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

Base class for GEMM NEON kernels implemented in Assembly.

Definition at line 34 of file NEGEMMAssemblyBaseKernel.h.

Constructor & Destructor Documentation

◆ NEGEMMAssemblyBaseKernel() [1/3]

Constructor.

Definition at line 42 of file NEGEMMAssemblyBaseKernel.h.

43  : _input0(nullptr), _input1(nullptr), _output(nullptr), _workspace(nullptr), _alpha(1.f), _beta(0.f), _is_transposed_0(false), _is_transposed_1(false)
44  {
45  }

◆ NEGEMMAssemblyBaseKernel() [2/3]

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

◆ NEGEMMAssemblyBaseKernel() [3/3]

Allow instances of this class to be moved.

◆ ~NEGEMMAssemblyBaseKernel()

virtual ~NEGEMMAssemblyBaseKernel ( )
virtualdefault

Member Function Documentation

◆ configure()

void configure ( const ITensor input0,
const ITensor input1,
ITensor output,
ITensor workspace,
float  alpha = 1.f,
float  beta = 0.f,
bool  is_transposed_0 = false,
bool  is_transposed_1 = false 
)
inline

Initialise the kernel's input and output.

The computed function is C = a * AxB + b * C.

Parameters
[in]input0Input tensor containing the Matrix A. Data types supported: F32
[in]input1Input tensor containing the Matrix B. Data types supported: same as input0
[in,out]outputOutput tensor to store the result of matrix multiplication. If beta is not zero the values are multiplied by beta before the result is accumulated. Otherwise the values are overwritten by the result. Data types supported: same as input0.
[out]workspaceSpace for intermediate results.
[in]alphaWeight of the matrix product
[in]betaWeight of the accumulation.
[in]is_transposed_0(Optional)True if input0 is transposed else false. (Defaults to false)
[in]is_transposed_1(Optional)True if input1 is transposed else false. (Defaults to false)

Definition at line 71 of file NEGEMMAssemblyBaseKernel.h.

72  {
73  internal_configure(input0, input1, output, workspace, alpha, beta, is_transposed_0, is_transposed_1);
74  }

References arm_compute::test::validation::alpha.

◆ name()

const char* name ( ) const
inlineoverridevirtual

Name of the kernel.

Returns
Kernel name

Implements ICPPKernel.

Definition at line 37 of file NEGEMMAssemblyBaseKernel.h.

38  {
39  return "NEGEMMAssemblyBaseKernel";
40  }

◆ operator=() [1/2]

NEGEMMAssemblyBaseKernel& operator= ( const NEGEMMAssemblyBaseKernel )
delete

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

◆ operator=() [2/2]

Allow instances of this class to be moved.


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