aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/kernels/CpuActivationKernel.cpp
diff options
context:
space:
mode:
authorDana Zlotnik <dana.zlotnik@arm.com>2021-11-25 09:58:27 +0200
committerDana Zlotnik <dana.zlotnik@arm.com>2021-12-20 12:56:22 +0000
commit3229171402dcb9a63d63380865ba18477b81ff89 (patch)
treebc9da509a853307184c4d55c7874376adfdcf13d /src/cpu/kernels/CpuActivationKernel.cpp
parent4d44ac8685662984386b65869c3ed6af1144a419 (diff)
downloadComputeLibrary-3229171402dcb9a63d63380865ba18477b81ff89.tar.gz
Decouple CpuActivationKernel
1- Data types were already decoupled. This commit arrange the folder struct of the activation kernel. 2- Refactor NEON CpuActivationKernel for floating-point cases. Resolves COMPMID-4636 Change-Id: Ia4527244c84260dce1dd1d4bd4a9e3cfe2486d85 Signed-off-by: Dana Zlotnik <dana.zlotnik@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/6739 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/CpuActivationKernel.cpp')
-rw-r--r--src/cpu/kernels/CpuActivationKernel.cpp30
1 files changed, 13 insertions, 17 deletions
diff --git a/src/cpu/kernels/CpuActivationKernel.cpp b/src/cpu/kernels/CpuActivationKernel.cpp
index aed73d1fec..3af379d8af 100644
--- a/src/cpu/kernels/CpuActivationKernel.cpp
+++ b/src/cpu/kernels/CpuActivationKernel.cpp
@@ -65,57 +65,57 @@ static const ActivationKernel available_kernels[] =
{
"sve_fp16_activation",
[](const ActivationSelectorData & data) { return data.dt == DataType::F16 && data.ci.has_sve(); },
- REGISTER_FP16_SVE(arm_compute::cpu::fp16_sve_activation)
+ REGISTER_FP16_SVE(arm_compute::cpu::sve_fp16_activation)
},
{
"sve_fp32_activation",
[](const ActivationSelectorData & data) { return data.dt == DataType::F32 && data.ci.has_sve(); },
- REGISTER_FP32_SVE(arm_compute::cpu::fp32_sve_activation)
+ REGISTER_FP32_SVE(arm_compute::cpu::sve_fp32_activation)
},
#endif /* defined(ARM_COMPUTE_ENABLE_SVE) */
#if defined(ARM_COMPUTE_ENABLE_NEON)
{
"neon_fp16_activation",
[](const ActivationSelectorData & data) { return data.dt == DataType::F16; },
- REGISTER_FP16_NEON(arm_compute::cpu::fp16_neon_activation)
+ REGISTER_FP16_NEON(arm_compute::cpu::neon_fp16_activation)
},
{
"neon_fp32_activation",
[](const ActivationSelectorData & data) { return data.dt == DataType::F32; },
- REGISTER_FP32_NEON(arm_compute::cpu::fp32_neon_activation)
+ REGISTER_FP32_NEON(arm_compute::cpu::neon_fp32_activation)
},
#endif /* defined(ARM_COMPUTE_ENABLE_NEON) */
#if defined(ARM_COMPUTE_ENABLE_SVE2)
{
"sve_qu8_activation",
[](const ActivationSelectorData & data) { return data.dt == DataType::QASYMM8 && data.ci.has_sve2(); },
- REGISTER_QASYMM8_SVE(arm_compute::cpu::qasymm8_sve_activation)
+ REGISTER_QASYMM8_SVE2(arm_compute::cpu::sve2_qasymm8_activation)
},
{
"sve_qs8_activation",
[](const ActivationSelectorData & data) { return data.dt == DataType::QASYMM8_SIGNED && data.ci.has_sve2(); },
- REGISTER_QASYMM8_SIGNED_SVE(arm_compute::cpu::qasymm8_signed_sve_activation)
+ REGISTER_QASYMM8_SIGNED_SVE2(arm_compute::cpu::sve2_qasymm8_signed_activation)
},
{
"sve_qs16_activation",
[](const ActivationSelectorData & data) { return data.dt == DataType::QSYMM16 && data.ci.has_sve2(); },
- REGISTER_QSYMM16_SVE(arm_compute::cpu::qsymm16_sve_activation)
+ REGISTER_QSYMM16_SVE2(arm_compute::cpu::sve2_qsymm16_activation)
},
#endif /* defined(ARM_COMPUTE_ENABLE_SVE2) */
{
"neon_qu8_activation",
[](const ActivationSelectorData & data) { return data.dt == DataType::QASYMM8; },
- REGISTER_QASYMM8_NEON(arm_compute::cpu::qasymm8_neon_activation)
+ REGISTER_QASYMM8_NEON(arm_compute::cpu::neon_qasymm8_activation)
},
{
"neon_qs8_activation",
[](const ActivationSelectorData & data) { return data.dt == DataType::QASYMM8_SIGNED; },
- REGISTER_QASYMM8_SIGNED_NEON(arm_compute::cpu::qasymm8_signed_neon_activation)
+ REGISTER_QASYMM8_SIGNED_NEON(arm_compute::cpu::neon_qasymm8_signed_activation)
},
{
"neon_qs16_activation",
[](const ActivationSelectorData & data) { return data.dt == DataType::QSYMM16; },
- REGISTER_QSYMM16_NEON(arm_compute::cpu::qsymm16_neon_activation)
+ REGISTER_QSYMM16_NEON(arm_compute::cpu::neon_qsymm16_activation)
},
};
@@ -233,18 +233,14 @@ Status CpuActivationKernel::validate(const ITensorInfo *src, const ITensorInfo *
size_t CpuActivationKernel::get_mws(const CPUInfo &platform, size_t thread_count) const
{
ARM_COMPUTE_UNUSED(thread_count);
- // Tuning results that gave optimized results in performance investigation
- if (platform.get_cpu_model() == CPUModel::A73 )
+ // Tuning results that gave optimized results in performance investigation
+ if(platform.get_cpu_model() == CPUModel::A73)
{
return 10240;
}
- else if (platform.get_cpu_model() == CPUModel::A76)
- {
- return 9216;
- }
else
{
- return ICPPKernel::default_mws;
+ return 9216;
}
}