aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin May <kevin.may@arm.com>2019-11-19 15:29:05 +0000
committerKevin May <kevin.may@arm.com>2019-11-19 15:29:21 +0000
commit434de54b07791b797b20eac34b591f8b3e5df466 (patch)
treeff840f1c7b2baf8d7287ca56c8d436afb31da88c
parentba424d2aff70a13e1a16c4f9018a0bea4e5c11b3 (diff)
downloadarmnn-434de54b07791b797b20eac34b591f8b3e5df466.tar.gz
Revert "Only enable mixed precision FP16 pooling for Android Q"
This reverts commit 60538ada2b90704abcf6473144639103d80287a5. Change-Id: I099e397fe1232e0f470d89a11d220752543e4e4c
-rw-r--r--Android.mk8
-rw-r--r--src/backends/cl/workloads/ClPooling2dWorkload.cpp7
2 files changed, 4 insertions, 11 deletions
diff --git a/Android.mk b/Android.mk
index 177f6fca6e..f8dcb60fe5 100644
--- a/Android.mk
+++ b/Android.mk
@@ -308,14 +308,6 @@ LOCAL_CFLAGS += \
-DARMNNREF_ENABLED
endif # ARMNN_REF_ENABLED == 1
-# Only enable on Android P
-ifeq (($(P_OR_LATER),1))
- ifeq (($(Q_OR_LATER),0))
-LOCAL_CFLAGS += \
- -DARMNN_MIXED_PRECISION_FP16_POOLING
- endif # Q_OR_LATER=0
-endif # P_OR_LATER=1
-
ifeq ($(Q_OR_LATER),1)
LOCAL_CFLAGS += \
-DBOOST_NO_AUTO_PTR
diff --git a/src/backends/cl/workloads/ClPooling2dWorkload.cpp b/src/backends/cl/workloads/ClPooling2dWorkload.cpp
index 8400977b51..bf899977d6 100644
--- a/src/backends/cl/workloads/ClPooling2dWorkload.cpp
+++ b/src/backends/cl/workloads/ClPooling2dWorkload.cpp
@@ -44,13 +44,14 @@ ClPooling2dWorkload::ClPooling2dWorkload(
// enable fp_mixed_precision for the the FP16 cases that
// accumulation reaches a limit beyond which there is no more increment of the value
bool fpMixedPrecision = false;
-#ifdef ARMNN_MIXED_PRECISION_FP16_POOLING
if (input.info()->data_type() == arm_compute::DataType::F16
- && m_Data.m_Parameters.m_PoolType == PoolingAlgorithm::Average)
+ && m_Data.m_Parameters.m_PoolType == PoolingAlgorithm::Average
+ && m_Data.m_Parameters.m_PoolWidth >= 100
+ && input.info()->dimension(3) >= 5
+ && input.info()->dimension(2) * input.info()->dimension(1) >= 3000)
{
fpMixedPrecision = true;
}
-#endif
arm_compute::PoolingLayerInfo layerInfo = BuildArmComputePoolingLayerInfo(m_Data.m_Parameters, fpMixedPrecision);