aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/kernels/CpuCastKernel.h
diff options
context:
space:
mode:
authorYair Schwarzbaum <yair.schwarzbaum@arm.com>2022-02-01 08:55:56 +0200
committerYair Schwarzbaum <yair.schwarzbaum@arm.com>2022-03-03 10:16:39 +0000
commit298b2c0526615fc1f0242c2792fe2c51a4f0c44a (patch)
treee47e5986e805e29fed4afca59c76e5375076cff2 /src/cpu/kernels/CpuCastKernel.h
parent918a9fb4aa4be23ca4261c241e9e52acc42f9bb3 (diff)
downloadComputeLibrary-298b2c0526615fc1f0242c2792fe2c51a4f0c44a.tar.gz
Decouple castKernel
Resolves: COMPMID-4625 Signed-off-by: Yair Schwarzbaum <yair.schwarzbaum@arm.com> Change-Id: I3c30f007804b179e5e2b439f421fbd4e57fb02e1 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/7149 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Diffstat (limited to 'src/cpu/kernels/CpuCastKernel.h')
-rw-r--r--src/cpu/kernels/CpuCastKernel.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/cpu/kernels/CpuCastKernel.h b/src/cpu/kernels/CpuCastKernel.h
index 7679178fa1..95d46fad23 100644
--- a/src/cpu/kernels/CpuCastKernel.h
+++ b/src/cpu/kernels/CpuCastKernel.h
@@ -39,6 +39,9 @@ namespace kernels
*/
class CpuCastKernel : public ICpuKernel<CpuCastKernel>
{
+private:
+ using CastKernelPtr = std::add_pointer<void(const ITensor *, ITensor *, const ThreadInfo &, ConvertPolicy, const Window &)>::type;
+
public:
CpuCastKernel() = default;
ARM_COMPUTE_DISALLOW_COPY_ALLOW_MOVE(CpuCastKernel);
@@ -73,6 +76,15 @@ public:
void run_op(ITensorPack &tensors, const Window &window, const ThreadInfo &info) override;
const char *name() const override;
+ struct CastKernel
+ {
+ const char *name;
+ const CastDataTypeISASelectorDataPtr is_selected;
+ CastKernelPtr ukernel;
+ };
+
+ static const std::vector<CastKernel> &get_available_kernels();
+
private:
ConvertPolicy _policy{ ConvertPolicy::SATURATE };
};