24 #ifndef ARM_COMPUTE_CLGEMM_H 25 #define ARM_COMPUTE_CLGEMM_H 38 class CLCompileContext;
39 class CLGEMMReshapeRHSMatrixKernel;
40 class CLGEMMMatrixMultiplyKernel;
41 class CLGEMMMatrixMultiplyReshapedKernel;
42 class CLGEMMMatrixMultiplyReshapedOnlyRHSKernel;
43 class CLGEMMReshapeLHSMatrixKernel;
47 namespace weights_transformations
75 uint32_t
uid()
override;
93 static constexpr uint32_t _uid{ 0x15 };
95 std::unique_ptr<CLGEMMReshapeRHSMatrixKernel> _kernel;
116 CLGEMM(std::shared_ptr<IMemoryManager> memory_manager =
nullptr,
IWeightsManager *weights_manager =
nullptr);
183 void prepare()
override;
199 std::unique_ptr<CLGEMMMatrixMultiplyKernel> _mm_kernel;
200 std::unique_ptr<CLGEMMReshapeLHSMatrixKernel> _reshape_lhs_kernel;
201 std::unique_ptr<CLGEMMReshapeRHSMatrixKernel> _reshape_rhs_kernel;
202 std::unique_ptr<weights_transformations::CLGEMMReshapeRHSMatrixKernelManaged> _reshape_rhs_kernel_managed;
203 std::unique_ptr<CLGEMMMatrixMultiplyReshapedKernel> _mm_reshaped_kernel;
204 std::unique_ptr<CLGEMMMatrixMultiplyReshapedOnlyRHSKernel> _mm_reshaped_only_rhs_kernel;
205 std::unique_ptr<CLGEMMMatrixMultiplyReshapedOnlyRHSKernel> _mm_reshaped_only_rhs_fallback_kernel;
211 bool _reshape_b_only_on_first_run;
Base class for all functions.
Store the tensor's metadata.
CLGEMMKernelType
OpenCL GEMM kernel types.
Copyright (c) 2017-2021 Arm Limited.
GEMM RHS (Right Hand Side) matrix information.
Basic function to execute GEMM on OpenCL.
Weights manager interface to handle weights transformations.
ScaleKernelInfo info(interpolation_policy, default_border_mode, PixelValue(), sampling_policy, false)
Interface for OpenCL tensor.
Status validate(const ITensorInfo *scores_in, const ITensorInfo *boxes_in, const ITensorInfo *batch_splits_in, const ITensorInfo *scores_out, const ITensorInfo *boxes_out, const ITensorInfo *classes, const ITensorInfo *batch_splits_out, const ITensorInfo *keeps, const ITensorInfo *keeps_size, const BoxNMSLimitInfo info)
Basic implementation of the OpenCL tensor interface.