diff options
author | Giorgio Arena <giorgio.arena@arm.com> | 2021-11-18 18:02:13 +0000 |
---|---|---|
committer | Yair Schwarzbaum <yair.schwarzbaum@arm.com> | 2022-01-12 06:52:04 +0000 |
commit | 5ae8d804d67f57fbfa793800ddcc21a5aff954dd (patch) | |
tree | 1defbe7f788645f6f0fb4c3f79be6c4b8ecfb709 /src/cpu/kernels/CpuElementwiseUnaryKernel.h | |
parent | 3475ffe40b7db99c782cbaf351aa7b4e341562ef (diff) | |
download | ComputeLibrary-5ae8d804d67f57fbfa793800ddcc21a5aff954dd.tar.gz |
Enable kernel selection testing (Phase #1)
Change-Id: I1d65fb9d3a7583cf8d4163ca7c0fbee27dc52633
Signed-off-by: Yair Schwarzbaum <yair.schwarzbaum@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/6767
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/cpu/kernels/CpuElementwiseUnaryKernel.h')
-rw-r--r-- | src/cpu/kernels/CpuElementwiseUnaryKernel.h | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/cpu/kernels/CpuElementwiseUnaryKernel.h b/src/cpu/kernels/CpuElementwiseUnaryKernel.h index f72eddf737..c520b89618 100644 --- a/src/cpu/kernels/CpuElementwiseUnaryKernel.h +++ b/src/cpu/kernels/CpuElementwiseUnaryKernel.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018-2021 Arm Limited. + * Copyright (c) 2018-2022 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -39,8 +39,11 @@ namespace kernels * Element-wise operation is computed by: * @f[ dst(x) = OP(src(x))@f] */ -class CpuElementwiseUnaryKernel : public ICpuKernel +class CpuElementwiseUnaryKernel : public NewICpuKernel<CpuElementwiseUnaryKernel> { +private: + using ElementwiseUnaryUkernelPtr = std::add_pointer<void(const ITensor *, ITensor *, const Window &, ElementWiseUnary)>::type; + public: CpuElementwiseUnaryKernel() = default; ARM_COMPUTE_DISALLOW_COPY_ALLOW_MOVE(CpuElementwiseUnaryKernel); @@ -64,11 +67,14 @@ public: void run_op(ITensorPack &tensors, const Window &window, const ThreadInfo &info) override; const char *name() const override; - /** Common signature for all the specialised elementwise unary micro-kernels - * - * @param[in] window Region on which to execute the kernel. - */ - using ElementwiseUnaryUkernelPtr = std::add_pointer<void(const ITensor *, ITensor *, const Window &, ElementWiseUnary)>::type; + struct ElementwiseUnaryKernel + { + const char *name; + const DataTypeISASelectorPtr is_selected; + ElementwiseUnaryUkernelPtr ukernel; + }; + + static const std::vector<ElementwiseUnaryKernel> &get_available_kernels(); private: ElementWiseUnary _op{}; |