Revert "Only enable mixed precision FP16 pooling for Android Q"
authorKevin May <kevin.may@arm.com>
Tue, 19 Nov 2019 15:29:05 +0000 (15:29 +0000)
committerKevin May <kevin.may@arm.com>
Tue, 19 Nov 2019 15:29:21 +0000 (15:29 +0000)
This reverts commit 60538ada2b90704abcf6473144639103d80287a5.

Change-Id: I099e397fe1232e0f470d89a11d220752543e4e4c

Android.mk
src/backends/cl/workloads/ClPooling2dWorkload.cpp

index 177f6fc..f8dcb60 100644 (file)
@@ -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
index 8400977..bf89997 100644 (file)
@@ -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);