From 41984a03bcf9f39dd6fb7ca124ed3c71801502d5 Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Wed, 11 Dec 2019 12:05:17 +0000 Subject: COMPMID-2832 : ACL module for AndroidNN driver Signed-off-by: Georgios Pinitas Change-Id: I6c9edd75c9462c1d27b21b9a5ba64b0431da5e81 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/2662 Tested-by: Arm Jenkins Reviewed-by: Michalis Spyrou Comments-Addressed: Arm Jenkins --- Android.bp | 803 +++++++++++++++++++++++++++++++ scripts/arm_compute_library_nn_driver.go | 44 ++ 2 files changed, 847 insertions(+) create mode 100644 Android.bp create mode 100644 scripts/arm_compute_library_nn_driver.go diff --git a/Android.bp b/Android.bp new file mode 100644 index 0000000000..8ebe4c52d1 --- /dev/null +++ b/Android.bp @@ -0,0 +1,803 @@ +// +// Copyright © 2020 ARM Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +bootstrap_go_package { + name: "arm_compute_library_nn_driver", + pkgPath: "arm_compute_library_nn_driver", + deps: [ + "blueprint", + "blueprint-pathtools", + "blueprint-proptools", + "soong", + "soong-android", + "soong-cc", + ], + srcs: [ + "scripts/arm_compute_library_nn_driver.go", + ], + pluginFor: [ "soong_build" ], +} + +arm_compute_library_defaults { + name: "acl-default-cppflags", + cppflags: [ + "-std=c++14", + "-fexceptions", + "-DBOOST_NO_AUTO_PTR", + "-DEMBEDDED_KERNELS", + "-DARM_COMPUTE_ASSERTS_ENABLED", + "-DARM_COMPUTE_CPP_SCHEDULER", + "-Wno-unused-parameter", + "-DNO_DOT_IN_TOOLCHAIN", + "-no-integrated-as" + ], + rtti: true, +} + +cc_library_static { + name: "arm_compute_library", + defaults: ["acl-default-cppflags"], + proprietary: true, + local_include_dirs: ["build/android-arm64v8a/src/core", + "build/android-arm64v8a/src/core/CL", + "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"], + export_include_dirs: [".", "./include"], + srcs: [ + "src/core/AccessWindowAutoPadding.cpp", + "src/core/AccessWindowStatic.cpp", + "src/core/AccessWindowTranspose.cpp", + "src/core/CL/CLCoreRuntimeContext.cpp", + "src/core/CL/CLHelpers.cpp", + "src/core/CL/CLKernelLibrary.cpp", + "src/core/CL/ICLDistribution1D.cpp", + "src/core/CL/ICLHOG.cpp", + "src/core/CL/ICLKernel.cpp", + "src/core/CL/ICLLut.cpp", + "src/core/CL/ICLMultiHOG.cpp", + "src/core/CL/ICLMultiImage.cpp", + "src/core/CL/ICLSimple2DKernel.cpp", + "src/core/CL/ICLSimple3DKernel.cpp", + "src/core/CL/ICLSimpleKernel.cpp", + "src/core/CL/ICLTensor.cpp", + "src/core/CL/OpenCL.cpp", + "src/core/CL/gemm/CLGEMMHelpers.cpp", + "src/core/CL/gemm/native/CLGEMMNativeKernelConfigurationBifrost.cpp", + "src/core/CL/gemm/reshaped/CLGEMMReshapedKernelConfigurationBifrost.cpp", + "src/core/CL/gemm/reshaped_only_rhs/CLGEMMReshapedOnlyRHSKernelConfigurationBifrost.cpp", + "src/core/CL/kernels/CLAbsoluteDifferenceKernel.cpp", + "src/core/CL/kernels/CLAccumulateKernel.cpp", + "src/core/CL/kernels/CLActivationLayerKernel.cpp", + "src/core/CL/kernels/CLArgMinMaxLayerKernel.cpp", + "src/core/CL/kernels/CLBatchConcatenateLayerKernel.cpp", + "src/core/CL/kernels/CLBatchNormalizationLayerKernel.cpp", + "src/core/CL/kernels/CLBatchToSpaceLayerKernel.cpp", + "src/core/CL/kernels/CLBitwiseAndKernel.cpp", + "src/core/CL/kernels/CLBitwiseNotKernel.cpp", + "src/core/CL/kernels/CLBitwiseOrKernel.cpp", + "src/core/CL/kernels/CLBitwiseXorKernel.cpp", + "src/core/CL/kernels/CLBoundingBoxTransformKernel.cpp", + "src/core/CL/kernels/CLBox3x3Kernel.cpp", + "src/core/CL/kernels/CLCannyEdgeKernel.cpp", + "src/core/CL/kernels/CLChannelCombineKernel.cpp", + "src/core/CL/kernels/CLChannelExtractKernel.cpp", + "src/core/CL/kernels/CLChannelShuffleLayerKernel.cpp", + "src/core/CL/kernels/CLCol2ImKernel.cpp", + "src/core/CL/kernels/CLColorConvertKernel.cpp", + "src/core/CL/kernels/CLComparisonKernel.cpp", + "src/core/CL/kernels/CLConvertFullyConnectedWeightsKernel.cpp", + "src/core/CL/kernels/CLConvolutionKernel.cpp", + "src/core/CL/kernels/CLCopyKernel.cpp", + "src/core/CL/kernels/CLCropKernel.cpp", + "src/core/CL/kernels/CLDeconvolutionLayerUpsampleKernel.cpp", + "src/core/CL/kernels/CLDeconvolutionReshapeOutputKernel.cpp", + "src/core/CL/kernels/CLDepthConcatenateLayerKernel.cpp", + "src/core/CL/kernels/CLDepthConvertLayerKernel.cpp", + "src/core/CL/kernels/CLDepthToSpaceLayerKernel.cpp", + "src/core/CL/kernels/CLDepthwiseConvolutionLayer3x3NCHWKernel.cpp", + "src/core/CL/kernels/CLDepthwiseConvolutionLayer3x3NHWCKernel.cpp", + "src/core/CL/kernels/CLDepthwiseConvolutionLayerNativeKernel.cpp", + "src/core/CL/kernels/CLDepthwiseConvolutionLayerReshapeWeightsKernel.cpp", + "src/core/CL/kernels/CLDequantizationLayerKernel.cpp", + "src/core/CL/kernels/CLDerivativeKernel.cpp", + "src/core/CL/kernels/CLDilateKernel.cpp", + "src/core/CL/kernels/CLDirectConvolutionLayerKernel.cpp", + "src/core/CL/kernels/CLElementWiseUnaryLayerKernel.cpp", + "src/core/CL/kernels/CLElementwiseOperationKernel.cpp", + "src/core/CL/kernels/CLErodeKernel.cpp", + "src/core/CL/kernels/CLFFTDigitReverseKernel.cpp", + "src/core/CL/kernels/CLFFTRadixStageKernel.cpp", + "src/core/CL/kernels/CLFFTScaleKernel.cpp", + "src/core/CL/kernels/CLFastCornersKernel.cpp", + "src/core/CL/kernels/CLFillBorderKernel.cpp", + "src/core/CL/kernels/CLFlattenLayerKernel.cpp", + "src/core/CL/kernels/CLFloorKernel.cpp", + "src/core/CL/kernels/CLFuseBatchNormalizationKernel.cpp", + "src/core/CL/kernels/CLGEMMLowpMatrixMultiplyKernel.cpp", + "src/core/CL/kernels/CLGEMMLowpMatrixMultiplyNativeKernel.cpp", + "src/core/CL/kernels/CLGEMMLowpMatrixMultiplyReshapedKernel.cpp", + "src/core/CL/kernels/CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel.cpp", + "src/core/CL/kernels/CLGEMMLowpOffsetContributionKernel.cpp", + "src/core/CL/kernels/CLGEMMLowpOffsetContributionOutputStageKernel.cpp", + "src/core/CL/kernels/CLGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPointKernel.cpp", + "src/core/CL/kernels/CLGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPointKernel.cpp", + "src/core/CL/kernels/CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel.cpp", + "src/core/CL/kernels/CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloatKernel.cpp", + "src/core/CL/kernels/CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel.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", + "src/core/CL/kernels/CLGEMMMatrixMultiplyReshapedOnlyRHSKernel.cpp", + "src/core/CL/kernels/CLGEMMMatrixVectorMultiplyKernel.cpp", + "src/core/CL/kernels/CLGEMMReshapeLHSMatrixKernel.cpp", + "src/core/CL/kernels/CLGEMMReshapeRHSMatrixKernel.cpp", + "src/core/CL/kernels/CLGatherKernel.cpp", + "src/core/CL/kernels/CLGaussian3x3Kernel.cpp", + "src/core/CL/kernels/CLGaussian5x5Kernel.cpp", + "src/core/CL/kernels/CLGaussianPyramidKernel.cpp", + "src/core/CL/kernels/CLGenerateProposalsLayerKernel.cpp", + "src/core/CL/kernels/CLHOGDescriptorKernel.cpp", + "src/core/CL/kernels/CLHOGDetectorKernel.cpp", + "src/core/CL/kernels/CLHarrisCornersKernel.cpp", + "src/core/CL/kernels/CLHeightConcatenateLayerKernel.cpp", + "src/core/CL/kernels/CLHistogramKernel.cpp", + "src/core/CL/kernels/CLIm2ColKernel.cpp", + "src/core/CL/kernels/CLInstanceNormalizationLayerKernel.cpp", + "src/core/CL/kernels/CLIntegralImageKernel.cpp", + "src/core/CL/kernels/CLL2NormalizeLayerKernel.cpp", + "src/core/CL/kernels/CLLKTrackerKernel.cpp", + "src/core/CL/kernels/CLLocallyConnectedMatrixMultiplyKernel.cpp", + "src/core/CL/kernels/CLMagnitudePhaseKernel.cpp", + "src/core/CL/kernels/CLMeanStdDevKernel.cpp", + "src/core/CL/kernels/CLMeanStdDevNormalizationKernel.cpp", + "src/core/CL/kernels/CLMedian3x3Kernel.cpp", + "src/core/CL/kernels/CLMemsetKernel.cpp", + "src/core/CL/kernels/CLMinMaxLayerKernel.cpp", + "src/core/CL/kernels/CLMinMaxLocationKernel.cpp", + "src/core/CL/kernels/CLNonLinearFilterKernel.cpp", + "src/core/CL/kernels/CLNonMaximaSuppression3x3Kernel.cpp", + "src/core/CL/kernels/CLNormalizationLayerKernel.cpp", + "src/core/CL/kernels/CLNormalizePlanarYUVLayerKernel.cpp", + "src/core/CL/kernels/CLPadLayerKernel.cpp", + "src/core/CL/kernels/CLPermuteKernel.cpp", + "src/core/CL/kernels/CLPixelWiseMultiplicationKernel.cpp", + "src/core/CL/kernels/CLPoolingLayerKernel.cpp", + "src/core/CL/kernels/CLPriorBoxLayerKernel.cpp", + "src/core/CL/kernels/CLQuantizationLayerKernel.cpp", + "src/core/CL/kernels/CLROIAlignLayerKernel.cpp", + "src/core/CL/kernels/CLROIPoolingLayerKernel.cpp", + "src/core/CL/kernels/CLRangeKernel.cpp", + "src/core/CL/kernels/CLReductionOperationKernel.cpp", + "src/core/CL/kernels/CLRemapKernel.cpp", + "src/core/CL/kernels/CLReorgLayerKernel.cpp", + "src/core/CL/kernels/CLReshapeLayerKernel.cpp", + "src/core/CL/kernels/CLReverseKernel.cpp", + "src/core/CL/kernels/CLScaleKernel.cpp", + "src/core/CL/kernels/CLScharr3x3Kernel.cpp", + "src/core/CL/kernels/CLSelectKernel.cpp", + "src/core/CL/kernels/CLSobel3x3Kernel.cpp", + "src/core/CL/kernels/CLSobel5x5Kernel.cpp", + "src/core/CL/kernels/CLSobel7x7Kernel.cpp", + "src/core/CL/kernels/CLSoftmaxLayerKernel.cpp", + "src/core/CL/kernels/CLSpaceToBatchLayerKernel.cpp", + "src/core/CL/kernels/CLSpaceToDepthLayerKernel.cpp", + "src/core/CL/kernels/CLStackLayerKernel.cpp", + "src/core/CL/kernels/CLStridedSliceKernel.cpp", + "src/core/CL/kernels/CLTableLookupKernel.cpp", + "src/core/CL/kernels/CLThresholdKernel.cpp", + "src/core/CL/kernels/CLTileKernel.cpp", + "src/core/CL/kernels/CLTransposeKernel.cpp", + "src/core/CL/kernels/CLUpsampleLayerKernel.cpp", + "src/core/CL/kernels/CLWarpAffineKernel.cpp", + "src/core/CL/kernels/CLWarpPerspectiveKernel.cpp", + "src/core/CL/kernels/CLWeightsReshapeKernel.cpp", + "src/core/CL/kernels/CLWidthConcatenate2TensorsKernel.cpp", + "src/core/CL/kernels/CLWidthConcatenate4TensorsKernel.cpp", + "src/core/CL/kernels/CLWidthConcatenateLayerKernel.cpp", + "src/core/CL/kernels/CLWinogradFilterTransformKernel.cpp", + "src/core/CL/kernels/CLWinogradInputTransformKernel.cpp", + "src/core/CL/kernels/CLWinogradOutputTransformKernel.cpp", + "src/core/CL/kernels/CLYOLOLayerKernel.cpp", + "src/core/CPP/CPPTypes.cpp", + "src/core/CPP/ICPPSimpleKernel.cpp", + "src/core/CPP/kernels/CPPBoxWithNonMaximaSuppressionLimitKernel.cpp", + "src/core/CPP/kernels/CPPCornerCandidatesKernel.cpp", + "src/core/CPP/kernels/CPPDetectionWindowNonMaximaSuppressionKernel.cpp", + "src/core/CPP/kernels/CPPFlipWeightsKernel.cpp", + "src/core/CPP/kernels/CPPNonMaximumSuppressionKernel.cpp", + "src/core/CPP/kernels/CPPPermuteKernel.cpp", + "src/core/CPP/kernels/CPPSortEuclideanDistanceKernel.cpp", + "src/core/CPP/kernels/CPPTopKVKernel.cpp", + "src/core/CPP/kernels/CPPUpsampleKernel.cpp", + "src/core/Error.cpp", + "src/core/GPUTarget.cpp", + "src/core/HOGInfo.cpp", + "src/core/Helpers.cpp", + "src/core/IAccessWindow.cpp", + "src/core/IDistribution.cpp", + "src/core/IDistribution1D.cpp", + "src/core/IKernel.cpp", + "src/core/ITensor.cpp", + "src/core/MultiImageInfo.cpp", + "src/core/NEON/kernels/NEAbsoluteDifferenceKernel.cpp", + "src/core/NEON/kernels/NEAccumulateKernel.cpp", + "src/core/NEON/kernels/NEActivationLayerKernel.cpp", + "src/core/NEON/kernels/NEArithmeticAdditionKernel.cpp", + "src/core/NEON/kernels/NEArithmeticSubtractionKernel.cpp", + "src/core/NEON/kernels/NEBatchConcatenateLayerKernel.cpp", + "src/core/NEON/kernels/NEBatchNormalizationLayerKernel.cpp", + "src/core/NEON/kernels/NEBatchToSpaceLayerKernel.cpp", + "src/core/NEON/kernels/NEBitwiseAndKernel.cpp", + "src/core/NEON/kernels/NEBitwiseNotKernel.cpp", + "src/core/NEON/kernels/NEBitwiseOrKernel.cpp", + "src/core/NEON/kernels/NEBitwiseXorKernel.cpp", + "src/core/NEON/kernels/NEBoundingBoxTransformKernel.cpp", + "src/core/NEON/kernels/NEBox3x3Kernel.cpp", + "src/core/NEON/kernels/NECannyEdgeKernel.cpp", + "src/core/NEON/kernels/NEChannelCombineKernel.cpp", + "src/core/NEON/kernels/NEChannelExtractKernel.cpp", + "src/core/NEON/kernels/NEChannelShuffleLayerKernel.cpp", + "src/core/NEON/kernels/NECol2ImKernel.cpp", + "src/core/NEON/kernels/NEColorConvertKernel.cpp", + "src/core/NEON/kernels/NEConvertFullyConnectedWeightsKernel.cpp", + "src/core/NEON/kernels/NEConvertQuantizedSignednessKernel.cpp", + "src/core/NEON/kernels/NEConvolutionKernel.cpp", + "src/core/NEON/kernels/NECopyKernel.cpp", + "src/core/NEON/kernels/NECropKernel.cpp", + "src/core/NEON/kernels/NECumulativeDistributionKernel.cpp", + "src/core/NEON/kernels/NEDepthConcatenateLayerKernel.cpp", + "src/core/NEON/kernels/NEDepthConvertLayerKernel.cpp", + "src/core/NEON/kernels/NEDepthToSpaceLayerKernel.cpp", + "src/core/NEON/kernels/NEDepthwiseConvolutionLayer3x3Kernel.cpp", + "src/core/NEON/kernels/NEDepthwiseConvolutionLayerNativeKernel.cpp", + "src/core/NEON/kernels/NEDequantizationLayerKernel.cpp", + "src/core/NEON/kernels/NEDerivativeKernel.cpp", + "src/core/NEON/kernels/NEDilateKernel.cpp", + "src/core/NEON/kernels/NEDirectConvolutionLayerKernel.cpp", + "src/core/NEON/kernels/NEDirectConvolutionLayerOutputStageKernel.cpp", + "src/core/NEON/kernels/NEElementwiseOperationKernel.cpp", + "src/core/NEON/kernels/NEElementwiseUnaryKernel.cpp", + "src/core/NEON/kernels/NEErodeKernel.cpp", + "src/core/NEON/kernels/NEFFTDigitReverseKernel.cpp", + "src/core/NEON/kernels/NEFFTRadixStageKernel.cpp", + "src/core/NEON/kernels/NEFFTScaleKernel.cpp", + "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", + "src/core/NEON/kernels/NEGEMMInterleave4x4Kernel.cpp", + "src/core/NEON/kernels/NEGEMMLowpMatrixMultiplyKernel.cpp", + "src/core/NEON/kernels/NEGEMMLowpOffsetContributionKernel.cpp", + "src/core/NEON/kernels/NEGEMMLowpOffsetContributionOutputStageKernel.cpp", + "src/core/NEON/kernels/NEGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPointKernel.cpp", + "src/core/NEON/kernels/NEGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPointKernel.cpp", + "src/core/NEON/kernels/NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel.cpp", + "src/core/NEON/kernels/NEGEMMLowpQuantizeDownInt32ToUint8ScaleKernel.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", + "src/core/NEON/kernels/NEGaussian5x5Kernel.cpp", + "src/core/NEON/kernels/NEGaussianPyramidKernel.cpp", + "src/core/NEON/kernels/NEGenerateProposalsLayerKernel.cpp", + "src/core/NEON/kernels/NEHOGDescriptorKernel.cpp", + "src/core/NEON/kernels/NEHOGDetectorKernel.cpp", + "src/core/NEON/kernels/NEHarrisCornersKernel.cpp", + "src/core/NEON/kernels/NEHeightConcatenateLayerKernel.cpp", + "src/core/NEON/kernels/NEHistogramKernel.cpp", + "src/core/NEON/kernels/NEIm2ColKernel.cpp", + "src/core/NEON/kernels/NEInstanceNormalizationLayerKernel.cpp", + "src/core/NEON/kernels/NEIntegralImageKernel.cpp", + "src/core/NEON/kernels/NEL2NormalizeLayerKernel.cpp", + "src/core/NEON/kernels/NELKTrackerKernel.cpp", + "src/core/NEON/kernels/NELocallyConnectedMatrixMultiplyKernel.cpp", + "src/core/NEON/kernels/NEMagnitudePhaseKernel.cpp", + "src/core/NEON/kernels/NEMeanStdDevKernel.cpp", + "src/core/NEON/kernels/NEMeanStdDevNormalizationKernel.cpp", + "src/core/NEON/kernels/NEMedian3x3Kernel.cpp", + "src/core/NEON/kernels/NEMemsetKernel.cpp", + "src/core/NEON/kernels/NEMinMaxLayerKernel.cpp", + "src/core/NEON/kernels/NEMinMaxLocationKernel.cpp", + "src/core/NEON/kernels/NENonLinearFilterKernel.cpp", + "src/core/NEON/kernels/NENonMaximaSuppression3x3Kernel.cpp", + "src/core/NEON/kernels/NENormalizationLayerKernel.cpp", + "src/core/NEON/kernels/NEPadLayerKernel.cpp", + "src/core/NEON/kernels/NEPermuteKernel.cpp", + "src/core/NEON/kernels/NEPixelWiseMultiplicationKernel.cpp", + "src/core/NEON/kernels/NEPoolingLayerKernel.cpp", + "src/core/NEON/kernels/NEPriorBoxLayerKernel.cpp", + "src/core/NEON/kernels/NEQuantizationLayerKernel.cpp", + "src/core/NEON/kernels/NEROIAlignLayerKernel.cpp", + "src/core/NEON/kernels/NEROIPoolingLayerKernel.cpp", + "src/core/NEON/kernels/NERangeKernel.cpp", + "src/core/NEON/kernels/NEReductionOperationKernel.cpp", + "src/core/NEON/kernels/NERemapKernel.cpp", + "src/core/NEON/kernels/NEReorgLayerKernel.cpp", + "src/core/NEON/kernels/NEReshapeLayerKernel.cpp", + "src/core/NEON/kernels/NEReverseKernel.cpp", + "src/core/NEON/kernels/NEScaleKernel.cpp", + "src/core/NEON/kernels/NEScharr3x3Kernel.cpp", + "src/core/NEON/kernels/NESelectKernel.cpp", + "src/core/NEON/kernels/NESobel3x3Kernel.cpp", + "src/core/NEON/kernels/NESobel5x5Kernel.cpp", + "src/core/NEON/kernels/NESobel7x7Kernel.cpp", + "src/core/NEON/kernels/NESoftmaxLayerKernel.cpp", + "src/core/NEON/kernels/NESpaceToBatchLayerKernel.cpp", + "src/core/NEON/kernels/NESpaceToDepthLayerKernel.cpp", + "src/core/NEON/kernels/NEStackLayerKernel.cpp", + "src/core/NEON/kernels/NEStridedSliceKernel.cpp", + "src/core/NEON/kernels/NETableLookupKernel.cpp", + "src/core/NEON/kernels/NEThresholdKernel.cpp", + "src/core/NEON/kernels/NETileKernel.cpp", + "src/core/NEON/kernels/NETransposeKernel.cpp", + "src/core/NEON/kernels/NEUpsampleLayerKernel.cpp", + "src/core/NEON/kernels/NEWarpKernel.cpp", + "src/core/NEON/kernels/NEWeightsReshapeKernel.cpp", + "src/core/NEON/kernels/NEWidthConcatenateLayerKernel.cpp", + "src/core/NEON/kernels/NEWinogradConvolutionLayerKernel.cpp", + "src/core/NEON/kernels/NEYOLOLayerKernel.cpp", + "src/core/NEON/kernels/arm_gemm/gemm_fp16.cpp", + "src/core/NEON/kernels/arm_gemm/gemm_fp32.cpp", + "src/core/NEON/kernels/arm_gemm/gemm_int16.cpp", + "src/core/NEON/kernels/arm_gemm/gemm_int8.cpp", + "src/core/NEON/kernels/arm_gemm/gemm_qint8.cpp", + "src/core/NEON/kernels/arm_gemm/gemm_quint8.cpp", + "src/core/NEON/kernels/arm_gemm/gemm_uint16.cpp", + "src/core/NEON/kernels/arm_gemm/gemm_uint8.cpp", + "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", + "src/core/NEON/kernels/convolution/common/qsymm8.cpp", + "src/core/NEON/kernels/convolution/common/utils.cpp", + "src/core/NEON/kernels/convolution/depthwise/depthwise_2x2_3x3_1x1_fp32_fp32.cpp", + "src/core/NEON/kernels/convolution/depthwise/depthwise_2x2_3x3_2x2_fp32_fp32.cpp", + "src/core/NEON/kernels/convolution/depthwise/depthwise_3x3_3x3_1x1_fp32_fp32.cpp", + "src/core/NEON/kernels/convolution/depthwise/depthwise_3x3_3x3_2x2_fp32_fp32.cpp", + "src/core/NEON/kernels/convolution/depthwise/depthwise_4x4_3x3_1x1_fp32_fp32.cpp", + "src/core/NEON/kernels/convolution/depthwise/depthwise_dilated.cpp", + "src/core/NEON/kernels/convolution/depthwise/depthwise_dilated_qa8_qa8.cpp", + "src/core/NEON/kernels/convolution/depthwise/depthwise_fp16.cpp", + "src/core/NEON/kernels/convolution/depthwise/depthwise_fp32.cpp", + "src/core/NEON/kernels/convolution/depthwise/depthwise_pack_parameters.cpp", + "src/core/NEON/kernels/convolution/depthwise/depthwise_qa8_qa8.cpp", + "src/core/NEON/kernels/convolution/depthwise/depthwise_qs8_qs8.cpp", + "src/core/NEON/kernels/convolution/winograd/padding.cpp", + "src/core/NEON/kernels/convolution/winograd/winograd.cpp", + "src/core/NEON/kernels/convolution/winograd/winograd_transforms/input_1x8_fp32_fp32_integers.cpp", + "src/core/NEON/kernels/convolution/winograd/winograd_transforms/input_4x4_fp32_fp32_integers.cpp", + "src/core/NEON/kernels/convolution/winograd/winograd_transforms/input_6x6_fp32_fp32_integers.cpp", + "src/core/NEON/kernels/convolution/winograd/winograd_transforms/output_2_7_fp32_fp32_integers.cpp", + "src/core/NEON/kernels/convolution/winograd/winograd_transforms/output_2x2_3x3_fp32_fp32_integers.cpp", + "src/core/NEON/kernels/convolution/winograd/winograd_transforms/output_2x2_5x5_fp32_fp32_integers.cpp", + "src/core/NEON/kernels/convolution/winograd/winograd_transforms/output_4_5_fp32_fp32_integers.cpp", + "src/core/NEON/kernels/convolution/winograd/winograd_transforms/output_4x4_3x3_fp32_fp32_integers.cpp", + "src/core/NEON/kernels/convolution/winograd/winograd_transforms/output_6_3_fp32_fp32_integers.cpp", + "src/core/NEON/kernels/convolution/winograd/winograd_transforms/weights_2_7_fp32_fp32_integers.cpp", + "src/core/NEON/kernels/convolution/winograd/winograd_transforms/weights_2x2_3x3_fp32_fp32_integers.cpp", + "src/core/NEON/kernels/convolution/winograd/winograd_transforms/weights_2x2_5x5_fp32_fp32_integers.cpp", + "src/core/NEON/kernels/convolution/winograd/winograd_transforms/weights_4_5_fp32_fp32_integers.cpp", + "src/core/NEON/kernels/convolution/winograd/winograd_transforms/weights_4x4_3x3_fp32_fp32_integers.cpp", + "src/core/NEON/kernels/convolution/winograd/winograd_transforms/weights_6_3_fp32_fp32_integers.cpp", + "src/core/PyramidInfo.cpp", + "src/core/Rounding.cpp", + "src/core/SubTensorInfo.cpp", + "src/core/TensorInfo.cpp", + "src/core/Utils.cpp", + "src/core/Validate.cpp", + "src/core/utils/helpers/fft.cpp", + "src/core/utils/helpers/tensor_transform.cpp", + "src/core/utils/io/FileHandler.cpp", + "src/core/utils/logging/FilePrinter.cpp", + "src/core/utils/logging/Helpers.cpp", + "src/core/utils/logging/Logger.cpp", + "src/core/utils/logging/LoggerRegistry.cpp", + "src/core/utils/misc/MMappedFile.cpp", + "src/core/utils/quantization/AsymmHelpers.cpp", + "src/runtime/Allocator.cpp", + "src/runtime/BlobLifetimeManager.cpp", + "src/runtime/BlobMemoryPool.cpp", + "src/runtime/CL/CLBufferAllocator.cpp", + "src/runtime/CL/CLDistribution1D.cpp", + "src/runtime/CL/CLHOG.cpp", + "src/runtime/CL/CLHelpers.cpp", + "src/runtime/CL/CLLut.cpp", + "src/runtime/CL/CLLutAllocator.cpp", + "src/runtime/CL/CLMemory.cpp", + "src/runtime/CL/CLMemoryRegion.cpp", + "src/runtime/CL/CLMultiHOG.cpp", + "src/runtime/CL/CLMultiImage.cpp", + "src/runtime/CL/CLPyramid.cpp", + "src/runtime/CL/CLRuntimeContext.cpp", + "src/runtime/CL/CLScheduler.cpp", + "src/runtime/CL/CLSubTensor.cpp", + "src/runtime/CL/CLTensor.cpp", + "src/runtime/CL/CLTensorAllocator.cpp", + "src/runtime/CL/CLTuner.cpp", + "src/runtime/CL/ICLSimpleFunction.cpp", + "src/runtime/CL/functions/CLAbsoluteDifference.cpp", + "src/runtime/CL/functions/CLAccumulate.cpp", + "src/runtime/CL/functions/CLActivationLayer.cpp", + "src/runtime/CL/functions/CLArgMinMaxLayer.cpp", + "src/runtime/CL/functions/CLBatchNormalizationLayer.cpp", + "src/runtime/CL/functions/CLBatchToSpaceLayer.cpp", + "src/runtime/CL/functions/CLBitwiseAnd.cpp", + "src/runtime/CL/functions/CLBitwiseNot.cpp", + "src/runtime/CL/functions/CLBitwiseOr.cpp", + "src/runtime/CL/functions/CLBitwiseXor.cpp", + "src/runtime/CL/functions/CLBoundingBoxTransform.cpp", + "src/runtime/CL/functions/CLBox3x3.cpp", + "src/runtime/CL/functions/CLCannyEdge.cpp", + "src/runtime/CL/functions/CLCast.cpp", + "src/runtime/CL/functions/CLChannelCombine.cpp", + "src/runtime/CL/functions/CLChannelExtract.cpp", + "src/runtime/CL/functions/CLChannelShuffleLayer.cpp", + "src/runtime/CL/functions/CLColorConvert.cpp", + "src/runtime/CL/functions/CLComparison.cpp", + "src/runtime/CL/functions/CLComputeAllAnchors.cpp", + "src/runtime/CL/functions/CLConcatenateLayer.cpp", + "src/runtime/CL/functions/CLConvertFullyConnectedWeights.cpp", + "src/runtime/CL/functions/CLConvolution.cpp", + "src/runtime/CL/functions/CLConvolutionLayer.cpp", + "src/runtime/CL/functions/CLCopy.cpp", + "src/runtime/CL/functions/CLCropResize.cpp", + "src/runtime/CL/functions/CLDeconvolutionLayer.cpp", + "src/runtime/CL/functions/CLDeconvolutionLayerUpsample.cpp", + "src/runtime/CL/functions/CLDepthConvertLayer.cpp", + "src/runtime/CL/functions/CLDepthToSpaceLayer.cpp", + "src/runtime/CL/functions/CLDepthwiseConvolutionLayer.cpp", + "src/runtime/CL/functions/CLDequantizationLayer.cpp", + "src/runtime/CL/functions/CLDerivative.cpp", + "src/runtime/CL/functions/CLDilate.cpp", + "src/runtime/CL/functions/CLDirectConvolutionLayer.cpp", + "src/runtime/CL/functions/CLDirectDeconvolutionLayer.cpp", + "src/runtime/CL/functions/CLElementWiseUnaryLayer.cpp", + "src/runtime/CL/functions/CLElementwiseOperations.cpp", + "src/runtime/CL/functions/CLEqualizeHistogram.cpp", + "src/runtime/CL/functions/CLErode.cpp", + "src/runtime/CL/functions/CLFFT1D.cpp", + "src/runtime/CL/functions/CLFFT2D.cpp", + "src/runtime/CL/functions/CLFFTConvolutionLayer.cpp", + "src/runtime/CL/functions/CLFastCorners.cpp", + "src/runtime/CL/functions/CLFill.cpp", + "src/runtime/CL/functions/CLFillBorder.cpp", + "src/runtime/CL/functions/CLFlattenLayer.cpp", + "src/runtime/CL/functions/CLFloor.cpp", + "src/runtime/CL/functions/CLFullyConnectedLayer.cpp", + "src/runtime/CL/functions/CLFuseBatchNormalization.cpp", + "src/runtime/CL/functions/CLGEMM.cpp", + "src/runtime/CL/functions/CLGEMMConvolutionLayer.cpp", + "src/runtime/CL/functions/CLGEMMDeconvolutionLayer.cpp", + "src/runtime/CL/functions/CLGEMMLowpMatrixMultiplyCore.cpp", + "src/runtime/CL/functions/CLGEMMLowpOutputStage.cpp", + "src/runtime/CL/functions/CLGather.cpp", + "src/runtime/CL/functions/CLGaussian3x3.cpp", + "src/runtime/CL/functions/CLGaussian5x5.cpp", + "src/runtime/CL/functions/CLGaussianPyramid.cpp", + "src/runtime/CL/functions/CLGenerateProposalsLayer.cpp", + "src/runtime/CL/functions/CLHOGDescriptor.cpp", + "src/runtime/CL/functions/CLHOGDetector.cpp", + "src/runtime/CL/functions/CLHOGGradient.cpp", + "src/runtime/CL/functions/CLHOGMultiDetection.cpp", + "src/runtime/CL/functions/CLHarrisCorners.cpp", + "src/runtime/CL/functions/CLHistogram.cpp", + "src/runtime/CL/functions/CLInstanceNormalizationLayer.cpp", + "src/runtime/CL/functions/CLIntegralImage.cpp", + "src/runtime/CL/functions/CLL2NormalizeLayer.cpp", + "src/runtime/CL/functions/CLLSTMLayer.cpp", + "src/runtime/CL/functions/CLLSTMLayerQuantized.cpp", + "src/runtime/CL/functions/CLLaplacianPyramid.cpp", + "src/runtime/CL/functions/CLLaplacianReconstruct.cpp", + "src/runtime/CL/functions/CLLocallyConnectedLayer.cpp", + "src/runtime/CL/functions/CLMagnitude.cpp", + "src/runtime/CL/functions/CLMeanStdDev.cpp", + "src/runtime/CL/functions/CLMeanStdDevNormalizationLayer.cpp", + "src/runtime/CL/functions/CLMedian3x3.cpp", + "src/runtime/CL/functions/CLMinMaxLocation.cpp", + "src/runtime/CL/functions/CLNonLinearFilter.cpp", + "src/runtime/CL/functions/CLNonMaximaSuppression3x3.cpp", + "src/runtime/CL/functions/CLNormalizationLayer.cpp", + "src/runtime/CL/functions/CLNormalizePlanarYUVLayer.cpp", + "src/runtime/CL/functions/CLOpticalFlow.cpp", + "src/runtime/CL/functions/CLPReluLayer.cpp", + "src/runtime/CL/functions/CLPadLayer.cpp", + "src/runtime/CL/functions/CLPermute.cpp", + "src/runtime/CL/functions/CLPhase.cpp", + "src/runtime/CL/functions/CLPixelWiseMultiplication.cpp", + "src/runtime/CL/functions/CLPoolingLayer.cpp", + "src/runtime/CL/functions/CLPriorBoxLayer.cpp", + "src/runtime/CL/functions/CLQuantizationLayer.cpp", + "src/runtime/CL/functions/CLRNNLayer.cpp", + "src/runtime/CL/functions/CLROIAlignLayer.cpp", + "src/runtime/CL/functions/CLROIPoolingLayer.cpp", + "src/runtime/CL/functions/CLRange.cpp", + "src/runtime/CL/functions/CLReduceMean.cpp", + "src/runtime/CL/functions/CLReductionOperation.cpp", + "src/runtime/CL/functions/CLRemap.cpp", + "src/runtime/CL/functions/CLReorgLayer.cpp", + "src/runtime/CL/functions/CLReshapeLayer.cpp", + "src/runtime/CL/functions/CLReverse.cpp", + "src/runtime/CL/functions/CLScale.cpp", + "src/runtime/CL/functions/CLScharr3x3.cpp", + "src/runtime/CL/functions/CLSelect.cpp", + "src/runtime/CL/functions/CLSlice.cpp", + "src/runtime/CL/functions/CLSobel3x3.cpp", + "src/runtime/CL/functions/CLSobel5x5.cpp", + "src/runtime/CL/functions/CLSobel7x7.cpp", + "src/runtime/CL/functions/CLSoftmaxLayer.cpp", + "src/runtime/CL/functions/CLSpaceToBatchLayer.cpp", + "src/runtime/CL/functions/CLSpaceToDepthLayer.cpp", + "src/runtime/CL/functions/CLSplit.cpp", + "src/runtime/CL/functions/CLStackLayer.cpp", + "src/runtime/CL/functions/CLStridedSlice.cpp", + "src/runtime/CL/functions/CLTableLookup.cpp", + "src/runtime/CL/functions/CLThreshold.cpp", + "src/runtime/CL/functions/CLTile.cpp", + "src/runtime/CL/functions/CLTranspose.cpp", + "src/runtime/CL/functions/CLUnstack.cpp", + "src/runtime/CL/functions/CLUpsampleLayer.cpp", + "src/runtime/CL/functions/CLWarpAffine.cpp", + "src/runtime/CL/functions/CLWarpPerspective.cpp", + "src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp", + "src/runtime/CL/functions/CLWinogradInputTransform.cpp", + "src/runtime/CL/functions/CLYOLOLayer.cpp", + "src/runtime/CL/tuners/BifrostTuner.cpp", + "src/runtime/CL/tuners/CLLWSList.cpp", + "src/runtime/CL/tuners/MidgardTuner.cpp", + "src/runtime/CPP/CPPScheduler.cpp", + "src/runtime/CPP/ICPPSimpleFunction.cpp", + "src/runtime/CPP/SingleThreadScheduler.cpp", + "src/runtime/CPP/functions/CPPBoxWithNonMaximaSuppressionLimit.cpp", + "src/runtime/CPP/functions/CPPDetectionOutputLayer.cpp", + "src/runtime/CPP/functions/CPPDetectionPostProcessLayer.cpp", + "src/runtime/CPP/functions/CPPNonMaximumSuppression.cpp", + "src/runtime/CPP/functions/CPPPermute.cpp", + "src/runtime/CPP/functions/CPPTopKV.cpp", + "src/runtime/CPP/functions/CPPUpsample.cpp", + "src/runtime/CPUUtils.cpp", + "src/runtime/DeviceProperties.cpp", + "src/runtime/Distribution1D.cpp", + "src/runtime/HOG.cpp", + "src/runtime/ILutAllocator.cpp", + "src/runtime/IScheduler.cpp", + "src/runtime/ISimpleLifetimeManager.cpp", + "src/runtime/ITensorAllocator.cpp", + "src/runtime/IWeightsManager.cpp", + "src/runtime/Lut.cpp", + "src/runtime/LutAllocator.cpp", + "src/runtime/MEMUtils.cpp", + "src/runtime/Memory.cpp", + "src/runtime/MemoryManagerOnDemand.cpp", + "src/runtime/MultiHOG.cpp", + "src/runtime/MultiImage.cpp", + "src/runtime/NEON/INESimpleFunction.cpp", + "src/runtime/NEON/INESimpleFunctionNoBorder.cpp", + "src/runtime/NEON/functions/NEAbsoluteDifference.cpp", + "src/runtime/NEON/functions/NEAccumulate.cpp", + "src/runtime/NEON/functions/NEActivationLayer.cpp", + "src/runtime/NEON/functions/NEArgMinMaxLayer.cpp", + "src/runtime/NEON/functions/NEArithmeticAddition.cpp", + "src/runtime/NEON/functions/NEArithmeticSubtraction.cpp", + "src/runtime/NEON/functions/NEBatchNormalizationLayer.cpp", + "src/runtime/NEON/functions/NEBatchToSpaceLayer.cpp", + "src/runtime/NEON/functions/NEBitwiseAnd.cpp", + "src/runtime/NEON/functions/NEBitwiseNot.cpp", + "src/runtime/NEON/functions/NEBitwiseOr.cpp", + "src/runtime/NEON/functions/NEBitwiseXor.cpp", + "src/runtime/NEON/functions/NEBoundingBoxTransform.cpp", + "src/runtime/NEON/functions/NEBox3x3.cpp", + "src/runtime/NEON/functions/NECannyEdge.cpp", + "src/runtime/NEON/functions/NECast.cpp", + "src/runtime/NEON/functions/NEChannelCombine.cpp", + "src/runtime/NEON/functions/NEChannelExtract.cpp", + "src/runtime/NEON/functions/NEChannelShuffleLayer.cpp", + "src/runtime/NEON/functions/NECol2Im.cpp", + "src/runtime/NEON/functions/NEColorConvert.cpp", + "src/runtime/NEON/functions/NEComputeAllAnchors.cpp", + "src/runtime/NEON/functions/NEConcatenateLayer.cpp", + "src/runtime/NEON/functions/NEConvertFullyConnectedWeights.cpp", + "src/runtime/NEON/functions/NEConvolution.cpp", + "src/runtime/NEON/functions/NEConvolutionLayer.cpp", + "src/runtime/NEON/functions/NECopy.cpp", + "src/runtime/NEON/functions/NECropResize.cpp", + "src/runtime/NEON/functions/NEDeconvolutionLayer.cpp", + "src/runtime/NEON/functions/NEDepthConvertLayer.cpp", + "src/runtime/NEON/functions/NEDepthToSpaceLayer.cpp", + "src/runtime/NEON/functions/NEDepthwiseConvolutionLayer.cpp", + "src/runtime/NEON/functions/NEDequantizationLayer.cpp", + "src/runtime/NEON/functions/NEDerivative.cpp", + "src/runtime/NEON/functions/NEDetectionPostProcessLayer.cpp", + "src/runtime/NEON/functions/NEDilate.cpp", + "src/runtime/NEON/functions/NEDirectConvolutionLayer.cpp", + "src/runtime/NEON/functions/NEElementwiseOperators.cpp", + "src/runtime/NEON/functions/NEElementwiseUnaryLayer.cpp", + "src/runtime/NEON/functions/NEEqualizeHistogram.cpp", + "src/runtime/NEON/functions/NEErode.cpp", + "src/runtime/NEON/functions/NEFFT1D.cpp", + "src/runtime/NEON/functions/NEFFT2D.cpp", + "src/runtime/NEON/functions/NEFFTConvolutionLayer.cpp", + "src/runtime/NEON/functions/NEFastCorners.cpp", + "src/runtime/NEON/functions/NEFill.cpp", + "src/runtime/NEON/functions/NEFillBorder.cpp", + "src/runtime/NEON/functions/NEFlattenLayer.cpp", + "src/runtime/NEON/functions/NEFloor.cpp", + "src/runtime/NEON/functions/NEFullyConnectedLayer.cpp", + "src/runtime/NEON/functions/NEFuseBatchNormalization.cpp", + "src/runtime/NEON/functions/NEGEMM.cpp", + "src/runtime/NEON/functions/NEGEMMAssemblyDispatch.cpp", + "src/runtime/NEON/functions/NEGEMMConvolutionLayer.cpp", + "src/runtime/NEON/functions/NEGEMMInterleave4x4.cpp", + "src/runtime/NEON/functions/NEGEMMLowpAssemblyMatrixMultiplyCore.cpp", + "src/runtime/NEON/functions/NEGEMMLowpMatrixMultiplyCore.cpp", + "src/runtime/NEON/functions/NEGEMMLowpOutputStage.cpp", + "src/runtime/NEON/functions/NEGEMMTranspose1xW.cpp", + "src/runtime/NEON/functions/NEGather.cpp", + "src/runtime/NEON/functions/NEGaussian3x3.cpp", + "src/runtime/NEON/functions/NEGaussian5x5.cpp", + "src/runtime/NEON/functions/NEGaussianPyramid.cpp", + "src/runtime/NEON/functions/NEGenerateProposalsLayer.cpp", + "src/runtime/NEON/functions/NEHOGDescriptor.cpp", + "src/runtime/NEON/functions/NEHOGDetector.cpp", + "src/runtime/NEON/functions/NEHOGGradient.cpp", + "src/runtime/NEON/functions/NEHOGMultiDetection.cpp", + "src/runtime/NEON/functions/NEHarrisCorners.cpp", + "src/runtime/NEON/functions/NEHistogram.cpp", + "src/runtime/NEON/functions/NEIm2Col.cpp", + "src/runtime/NEON/functions/NEInstanceNormalizationLayer.cpp", + "src/runtime/NEON/functions/NEIntegralImage.cpp", + "src/runtime/NEON/functions/NEL2NormalizeLayer.cpp", + "src/runtime/NEON/functions/NELSTMLayer.cpp", + "src/runtime/NEON/functions/NELSTMLayerQuantized.cpp", + "src/runtime/NEON/functions/NELaplacianPyramid.cpp", + "src/runtime/NEON/functions/NELaplacianReconstruct.cpp", + "src/runtime/NEON/functions/NELocallyConnectedLayer.cpp", + "src/runtime/NEON/functions/NEMagnitude.cpp", + "src/runtime/NEON/functions/NEMeanStdDev.cpp", + "src/runtime/NEON/functions/NEMeanStdDevNormalizationLayer.cpp", + "src/runtime/NEON/functions/NEMedian3x3.cpp", + "src/runtime/NEON/functions/NEMinMaxLocation.cpp", + "src/runtime/NEON/functions/NENonLinearFilter.cpp", + "src/runtime/NEON/functions/NENonMaximaSuppression3x3.cpp", + "src/runtime/NEON/functions/NENormalizationLayer.cpp", + "src/runtime/NEON/functions/NEOpticalFlow.cpp", + "src/runtime/NEON/functions/NEPReluLayer.cpp", + "src/runtime/NEON/functions/NEPadLayer.cpp", + "src/runtime/NEON/functions/NEPermute.cpp", + "src/runtime/NEON/functions/NEPhase.cpp", + "src/runtime/NEON/functions/NEPixelWiseMultiplication.cpp", + "src/runtime/NEON/functions/NEPoolingLayer.cpp", + "src/runtime/NEON/functions/NEPriorBoxLayer.cpp", + "src/runtime/NEON/functions/NEQuantizationLayer.cpp", + "src/runtime/NEON/functions/NERNNLayer.cpp", + "src/runtime/NEON/functions/NEROIAlignLayer.cpp", + "src/runtime/NEON/functions/NEROIPoolingLayer.cpp", + "src/runtime/NEON/functions/NERange.cpp", + "src/runtime/NEON/functions/NEReduceMean.cpp", + "src/runtime/NEON/functions/NEReductionOperation.cpp", + "src/runtime/NEON/functions/NERemap.cpp", + "src/runtime/NEON/functions/NEReorgLayer.cpp", + "src/runtime/NEON/functions/NEReshapeLayer.cpp", + "src/runtime/NEON/functions/NEReverse.cpp", + "src/runtime/NEON/functions/NEScale.cpp", + "src/runtime/NEON/functions/NEScharr3x3.cpp", + "src/runtime/NEON/functions/NESelect.cpp", + "src/runtime/NEON/functions/NESimpleAssemblyFunction.cpp", + "src/runtime/NEON/functions/NESlice.cpp", + "src/runtime/NEON/functions/NESobel3x3.cpp", + "src/runtime/NEON/functions/NESobel5x5.cpp", + "src/runtime/NEON/functions/NESobel7x7.cpp", + "src/runtime/NEON/functions/NESoftmaxLayer.cpp", + "src/runtime/NEON/functions/NESpaceToBatchLayer.cpp", + "src/runtime/NEON/functions/NESpaceToDepthLayer.cpp", + "src/runtime/NEON/functions/NESplit.cpp", + "src/runtime/NEON/functions/NEStackLayer.cpp", + "src/runtime/NEON/functions/NEStridedSlice.cpp", + "src/runtime/NEON/functions/NETableLookup.cpp", + "src/runtime/NEON/functions/NEThreshold.cpp", + "src/runtime/NEON/functions/NETile.cpp", + "src/runtime/NEON/functions/NETranspose.cpp", + "src/runtime/NEON/functions/NEUnstack.cpp", + "src/runtime/NEON/functions/NEUpsampleLayer.cpp", + "src/runtime/NEON/functions/NEWarpAffine.cpp", + "src/runtime/NEON/functions/NEWarpPerspective.cpp", + "src/runtime/NEON/functions/NEWinogradConvolutionLayer.cpp", + "src/runtime/NEON/functions/NEYOLOLayer.cpp", + "src/runtime/NEON/functions/assembly/NEDepthwiseConvolutionAssemblyDispatch.cpp", + "src/runtime/OMP/OMPScheduler.cpp", + "src/runtime/OffsetLifetimeManager.cpp", + "src/runtime/OffsetMemoryPool.cpp", + "src/runtime/PoolManager.cpp", + "src/runtime/Pyramid.cpp", + "src/runtime/RuntimeContext.cpp", + "src/runtime/Scheduler.cpp", + "src/runtime/SchedulerFactory.cpp", + "src/runtime/SubTensor.cpp", + "src/runtime/Tensor.cpp", + "src/runtime/TensorAllocator.cpp", + "src/runtime/Utils.cpp", + "utils/CommonGraphOptions.cpp", + "utils/GraphUtils.cpp", + "utils/Utils.cpp", + + ], + arch: { + arm: { + srcs: [ + "src/core/NEON/kernels/arm_gemm/kernels/a32_sgemm_8x6/a53.cpp", + "src/core/NEON/kernels/arm_gemm/kernels/a32_sgemm_8x6/a55r1.cpp", + "src/core/NEON/kernels/arm_gemm/kernels/a32_sgemm_8x6/generic.cpp", + + ], + }, + arm64: { + srcs: [ + "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_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_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_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_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_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_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", + "src/core/NEON/kernels/arm_gemm/kernels/a64_smallK_hybrid_s8s32_dot_4x6/generic.cpp", + "src/core/NEON/kernels/arm_gemm/kernels/a64_smallK_hybrid_s8s32_dot_4x8/a55.cpp", + "src/core/NEON/kernels/arm_gemm/kernels/a64_smallK_hybrid_s8s32_dot_4x8/generic.cpp", + "src/core/NEON/kernels/arm_gemm/kernels/a64_smallK_hybrid_u8u32_dot_4x6/a55.cpp", + "src/core/NEON/kernels/arm_gemm/kernels/a64_smallK_hybrid_u8u32_dot_4x6/generic.cpp", + "src/core/NEON/kernels/arm_gemm/kernels/a64_smallK_hybrid_u8u32_dot_4x8/a55.cpp", + "src/core/NEON/kernels/arm_gemm/kernels/a64_smallK_hybrid_u8u32_dot_4x8/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_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_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_s8s32_dot_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_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_s8s32_dot_1VLx8/generic.cpp", + "src/core/NEON/kernels/arm_gemm/kernels/sve_smallK_hybrid_u8u32_dot_1VLx8/generic.cpp", + + ], + }, + }, + rtti: true, +} \ No newline at end of file diff --git a/scripts/arm_compute_library_nn_driver.go b/scripts/arm_compute_library_nn_driver.go new file mode 100644 index 0000000000..a2c391b894 --- /dev/null +++ b/scripts/arm_compute_library_nn_driver.go @@ -0,0 +1,44 @@ +// +// Copyright © 2020 ARM Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +package arm_compute_library_nn_driver + +import ( + "android/soong/android" + "android/soong/cc" +) + +func globalFlags(ctx android.BaseContext) []string { + var cppflags []string + + if ctx.AConfig().PlatformVersionName() >= "Q" || ctx.AConfig().PlatformVersionName() >= "10" { + cppflags = append(cppflags, "-fno-addrsig") + } + + return cppflags +} + +func clframeworkNNDriverDefaults(ctx android.LoadHookContext) { + type props struct { + Cppflags []string + } + + p := &props{} + p.Cppflags = globalFlags(ctx) + + ctx.AppendProperties(p) +} + +func init() { + + android.RegisterModuleType("arm_compute_library_defaults", clframeworkNNDriverDefaultsFactory) +} + +func clframeworkNNDriverDefaultsFactory() android.Module { + + module := cc.DefaultsFactory() + android.AddLoadHook(module, clframeworkNNDriverDefaults) + return module +} -- cgit v1.2.1