24 #ifndef ARM_COMPUTE_NEGEMM_H 25 #define ARM_COMPUTE_NEGEMM_H 40 class NEGEMMInterleave4x4Kernel;
41 class NEGEMMMatrixAdditionKernel;
42 class NEGEMMMatrixMultiplyKernel;
43 class NEGEMMTranspose1xWKernel;
44 class NEGEMMAssemblyDispatch;
66 NEGEMM(std::shared_ptr<IMemoryManager> memory_manager =
nullptr,
IWeightsManager *weights_manager =
nullptr);
114 std::unique_ptr<NEGEMMInterleave4x4Kernel> _interleave_kernel;
115 std::unique_ptr<NEGEMMTranspose1xWKernel> _transpose_kernel;
116 std::unique_ptr<NEGEMMMatrixMultiplyKernel> _mm_kernel;
117 std::unique_ptr<NEGEMMAssemblyDispatch> _asm_glue;
118 std::unique_ptr<NEGEMMMatrixAdditionKernel> _ma_kernel;
127 bool _run_vector_matrix_multiplication;
128 bool _run_alpha_scale;
130 bool _run_bias_addition;
131 bool _run_activation;
132 bool _reshape_b_only_on_first_run;
~NEGEMM()
Default destructor.
Base class for all functions.
Basic function to run cpu::kernels::CpuAddKernel.
Basic function to execute GEMM on Neon.
Store the tensor's metadata.
Interface for Neon tensor.
NEGEMM(std::shared_ptr< IMemoryManager > memory_manager=nullptr, IWeightsManager *weights_manager=nullptr)
Constructor.
Copyright (c) 2017-2021 Arm Limited.
static Status validate(const ITensorInfo *a, const ITensorInfo *b, const ITensorInfo *c, const ITensorInfo *output, float alpha, float beta, const GEMMInfo &gemm_info=GEMMInfo())
Static function to check if given info will lead to a valid configuration of NEGEMM.
void run() override
Run the kernels contained in the function.
Basic implementation of the tensor interface.
Weights manager interface to handle weights transformations.
Basic function to run cpu::kernels::CpuActivationKernel.
NEGEMM & operator=(const NEGEMM &)=delete
Prevent instances of this class from being copied (As this class contains pointers) ...
void configure(const ITensor *a, const ITensor *b, const ITensor *c, ITensor *d, float alpha, float beta, const GEMMInfo &gemm_info=GEMMInfo())
Initialise the kernel's inputs, output.
void prepare() override
Prepare the function for executing.