arm_compute v20.08
diff --git a/Android.bp b/Android.bp
index 59fb270..d033d2d 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,5 +1,5 @@
//
-// Copyright © 2020 ARM Ltd. All rights reserved.
+// Copyright © 2020 Arm Ltd. All rights reserved.
// SPDX-License-Identifier: MIT
//
@@ -45,7 +45,8 @@
"arm_compute/core/NEON/kernels/assembly",
"arm_compute/core/NEON/kernels/convolution/common",
"arm_compute/core/NEON/kernels/convolution/depthwise",
- "arm_compute/core/NEON/kernels/convolution/winograd"],
+ "src/core/NEON/kernels/assembly",
+ "src/core/NEON/kernels/convolution/winograd"],
export_include_dirs: [".", "./include"],
srcs: [
"src/core/AccessWindowAutoPadding.cpp",
@@ -55,6 +56,7 @@
"src/core/CL/CLCoreRuntimeContext.cpp",
"src/core/CL/CLHelpers.cpp",
"src/core/CL/CLKernelLibrary.cpp",
+ "src/core/CL/CLUtils.cpp",
"src/core/CL/ICLDistribution1D.cpp",
"src/core/CL/ICLHOG.cpp",
"src/core/CL/ICLKernel.cpp",
@@ -133,7 +135,6 @@
"src/core/CL/kernels/CLGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPointKernel.cpp",
"src/core/CL/kernels/CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel.cpp",
"src/core/CL/kernels/CLGEMMLowpReductionKernel.cpp",
- "src/core/CL/kernels/CLGEMMMatrixAccumulateBiasesKernel.cpp",
"src/core/CL/kernels/CLGEMMMatrixMultiplyKernel.cpp",
"src/core/CL/kernels/CLGEMMMatrixMultiplyNativeKernel.cpp",
"src/core/CL/kernels/CLGEMMMatrixMultiplyReshapedKernel.cpp",
@@ -158,6 +159,7 @@
"src/core/CL/kernels/CLLKTrackerKernel.cpp",
"src/core/CL/kernels/CLLocallyConnectedMatrixMultiplyKernel.cpp",
"src/core/CL/kernels/CLMagnitudePhaseKernel.cpp",
+ "src/core/CL/kernels/CLMaxUnpoolingLayerKernel.cpp",
"src/core/CL/kernels/CLMeanStdDevKernel.cpp",
"src/core/CL/kernels/CLMeanStdDevNormalizationKernel.cpp",
"src/core/CL/kernels/CLMedian3x3Kernel.cpp",
@@ -228,6 +230,7 @@
"src/core/IDistribution1D.cpp",
"src/core/IKernel.cpp",
"src/core/ITensor.cpp",
+ "src/core/ITensorPack.cpp",
"src/core/MultiImageInfo.cpp",
"src/core/NEON/kernels/NEAbsoluteDifferenceKernel.cpp",
"src/core/NEON/kernels/NEAccumulateKernel.cpp",
@@ -274,7 +277,6 @@
"src/core/NEON/kernels/NEFastCornersKernel.cpp",
"src/core/NEON/kernels/NEFillArrayKernel.cpp",
"src/core/NEON/kernels/NEFillBorderKernel.cpp",
- "src/core/NEON/kernels/NEFillInnerBorderKernel.cpp",
"src/core/NEON/kernels/NEFlattenLayerKernel.cpp",
"src/core/NEON/kernels/NEFloorKernel.cpp",
"src/core/NEON/kernels/NEFuseBatchNormalizationKernel.cpp",
@@ -287,10 +289,8 @@
"src/core/NEON/kernels/NEGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPointKernel.cpp",
"src/core/NEON/kernels/NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel.cpp",
"src/core/NEON/kernels/NEGEMMLowpReductionKernel.cpp",
- "src/core/NEON/kernels/NEGEMMMatrixAccumulateBiasesKernel.cpp",
"src/core/NEON/kernels/NEGEMMMatrixAdditionKernel.cpp",
"src/core/NEON/kernels/NEGEMMMatrixMultiplyKernel.cpp",
- "src/core/NEON/kernels/NEGEMMMatrixVectorMultiplyKernel.cpp",
"src/core/NEON/kernels/NEGEMMTranspose1xWKernel.cpp",
"src/core/NEON/kernels/NEGatherKernel.cpp",
"src/core/NEON/kernels/NEGaussian3x3Kernel.cpp",
@@ -309,6 +309,7 @@
"src/core/NEON/kernels/NELKTrackerKernel.cpp",
"src/core/NEON/kernels/NELocallyConnectedMatrixMultiplyKernel.cpp",
"src/core/NEON/kernels/NEMagnitudePhaseKernel.cpp",
+ "src/core/NEON/kernels/NEMaxUnpoolingLayerKernel.cpp",
"src/core/NEON/kernels/NEMeanStdDevKernel.cpp",
"src/core/NEON/kernels/NEMeanStdDevNormalizationKernel.cpp",
"src/core/NEON/kernels/NEMedian3x3Kernel.cpp",
@@ -366,7 +367,6 @@
"src/core/NEON/kernels/arm_gemm/mergeresults.cpp",
"src/core/NEON/kernels/arm_gemm/misc.cpp",
"src/core/NEON/kernels/arm_gemm/quantized.cpp",
- "src/core/NEON/kernels/assembly/Helpers.cpp",
"src/core/NEON/kernels/assembly/INEGEMMWrapperKernel.cpp",
"src/core/NEON/kernels/convolution/common/padding.cpp",
"src/core/NEON/kernels/convolution/common/qasymm8.cpp",
@@ -413,6 +413,7 @@
"src/core/Utils.cpp",
"src/core/Validate.cpp",
"src/core/Version.cpp",
+ "src/core/utils/ScaleUtils.cpp",
"src/core/utils/helpers/fft.cpp",
"src/core/utils/helpers/tensor_transform.cpp",
"src/core/utils/io/FileHandler.cpp",
@@ -435,6 +436,7 @@
"src/runtime/CL/CLMemoryRegion.cpp",
"src/runtime/CL/CLMultiHOG.cpp",
"src/runtime/CL/CLMultiImage.cpp",
+ "src/runtime/CL/CLOperator.cpp",
"src/runtime/CL/CLPyramid.cpp",
"src/runtime/CL/CLRuntimeContext.cpp",
"src/runtime/CL/CLScheduler.cpp",
@@ -519,6 +521,7 @@
"src/runtime/CL/functions/CLLaplacianReconstruct.cpp",
"src/runtime/CL/functions/CLLocallyConnectedLayer.cpp",
"src/runtime/CL/functions/CLMagnitude.cpp",
+ "src/runtime/CL/functions/CLMaxUnpoolingLayer.cpp",
"src/runtime/CL/functions/CLMeanStdDev.cpp",
"src/runtime/CL/functions/CLMeanStdDevNormalizationLayer.cpp",
"src/runtime/CL/functions/CLMedian3x3.cpp",
@@ -603,6 +606,7 @@
"src/runtime/MemoryManagerOnDemand.cpp",
"src/runtime/MultiHOG.cpp",
"src/runtime/MultiImage.cpp",
+ "src/runtime/NEON/INEOperator.cpp",
"src/runtime/NEON/INESimpleFunction.cpp",
"src/runtime/NEON/INESimpleFunctionNoBorder.cpp",
"src/runtime/NEON/functions/NEAbsoluteDifference.cpp",
@@ -685,6 +689,7 @@
"src/runtime/NEON/functions/NELaplacianReconstruct.cpp",
"src/runtime/NEON/functions/NELocallyConnectedLayer.cpp",
"src/runtime/NEON/functions/NEMagnitude.cpp",
+ "src/runtime/NEON/functions/NEMaxUnpoolingLayer.cpp",
"src/runtime/NEON/functions/NEMeanStdDev.cpp",
"src/runtime/NEON/functions/NEMeanStdDevNormalizationLayer.cpp",
"src/runtime/NEON/functions/NEMedian3x3.cpp",
@@ -740,6 +745,7 @@
"src/runtime/OMP/OMPScheduler.cpp",
"src/runtime/OffsetLifetimeManager.cpp",
"src/runtime/OffsetMemoryPool.cpp",
+ "src/runtime/OperatorTensor.cpp",
"src/runtime/PoolManager.cpp",
"src/runtime/Pyramid.cpp",
"src/runtime/RuntimeContext.cpp",
@@ -768,31 +774,35 @@
"src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_s16_12x8/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_s8_12x8/a55r1.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_s8_12x8/generic.cpp",
+ "src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_s8_12x8/x1.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_s8_4x4/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_u16_12x8/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_u8_12x8/a55r1.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_u8_12x8/generic.cpp",
+ "src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_u8_12x8/x1.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_gemm_u8_4x4/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_hgemm_24x8/a55r1.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_hgemm_24x8/generic.cpp",
+ "src/core/NEON/kernels/arm_gemm/kernels/a64_hgemm_24x8/x1.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_hybrid_fp32_mla_16x4/a55.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_hybrid_fp32_mla_16x4/generic.cpp",
+ "src/core/NEON/kernels/arm_gemm/kernels/a64_hybrid_fp32_mla_16x4/x1.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_hybrid_fp32_mla_4x8/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_hybrid_s8s32_dot_16x4/a55.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_hybrid_s8s32_dot_16x4/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_hybrid_u8u32_dot_16x4/a55.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_hybrid_u8u32_dot_16x4/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_interleaved_bf16fp32_dot_12x8/generic.cpp",
+ "src/core/NEON/kernels/arm_gemm/kernels/a64_interleaved_bf16fp32_dot_12x8/x1.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_interleaved_bf16fp32_mmla_12x8/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_interleaved_s8s32_mmla_12x8/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_interleaved_u8u32_mmla_12x8/generic.cpp",
- "src/core/NEON/kernels/arm_gemm/kernels/a64_native_fp32_mla_16x4/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_sgemm_12x8/a53.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_sgemm_12x8/a55.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_sgemm_12x8/a55r1.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_sgemm_12x8/generic.cpp",
+ "src/core/NEON/kernels/arm_gemm/kernels/a64_sgemm_12x8/x1.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_sgemv_pretransposed/generic.cpp",
- "src/core/NEON/kernels/arm_gemm/kernels/a64_sgemv_trans/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_smallK_hybrid_fp32_mla_4x6/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_smallK_hybrid_fp32_mla_4x8/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/a64_smallK_hybrid_s8s32_dot_4x6/a55.cpp",
@@ -809,21 +819,18 @@
"src/core/NEON/kernels/arm_gemm/kernels/sve_hybrid_bf16fp32_mmla_8VLx2/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/sve_hybrid_fp16_mla_4VLx4/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/sve_hybrid_fp32_mla_4VLx4/generic.cpp",
+ "src/core/NEON/kernels/arm_gemm/kernels/sve_hybrid_fp32_mmla_4VLx4/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/sve_hybrid_s8s32_dot_4VLx4/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/sve_hybrid_u8u32_dot_4VLx4/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/sve_interleaved_bf16fp32_dot_3VLx8/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/sve_interleaved_bf16fp32_mmla_3VLx8/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/sve_interleaved_fp16_mla_3VLx8/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/sve_interleaved_fp32_mla_3VLx8/generic.cpp",
+ "src/core/NEON/kernels/arm_gemm/kernels/sve_interleaved_fp32_mmla_3VLx8/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/sve_interleaved_s8s32_dot_3VLx8/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/sve_interleaved_s8s32_mmla_3VLx8/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/sve_interleaved_u8u32_dot_3VLx8/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/sve_interleaved_u8u32_mmla_3VLx8/generic.cpp",
- "src/core/NEON/kernels/arm_gemm/kernels/sve_native_bf16fp32_dot_4VLx4/generic.cpp",
- "src/core/NEON/kernels/arm_gemm/kernels/sve_native_fp16_mla_4VLx4/generic.cpp",
- "src/core/NEON/kernels/arm_gemm/kernels/sve_native_fp32_mla_4VLx4/generic.cpp",
- "src/core/NEON/kernels/arm_gemm/kernels/sve_native_s8s32_dot_4VLx4/generic.cpp",
- "src/core/NEON/kernels/arm_gemm/kernels/sve_native_u8u32_dot_4VLx4/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/sve_smallK_hybrid_fp32_mla_1VLx8/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/sve_smallK_hybrid_s8s32_dot_1VLx8/generic.cpp",
"src/core/NEON/kernels/arm_gemm/kernels/sve_smallK_hybrid_u8u32_dot_1VLx8/generic.cpp",