From cae45686aeed0761ff2c9115ef0a064278ae75fa Mon Sep 17 00:00:00 2001 From: Francis Murtagh Date: Mon, 26 Apr 2021 10:07:49 +0100 Subject: IVGCVSW-5410 Move ILayerSupport.hpp to backends folder * ILayerSupport is a backend interface, and so in order to prevent false positives in ABI Compliance Checker move it to backends folder. * Front end users should use ABI stable GetILayerSupportByBackendId which takes advantage of LayerSupportHandle Signed-off-by: Francis Murtagh Change-Id: Ie119451c5d55f114525dc79b6f3474b2df7e3418 !android-nn-driver:5516 --- include/armnn/ILayerSupport.hpp | 427 ---------------------------------------- 1 file changed, 427 deletions(-) delete mode 100644 include/armnn/ILayerSupport.hpp (limited to 'include/armnn/ILayerSupport.hpp') diff --git a/include/armnn/ILayerSupport.hpp b/include/armnn/ILayerSupport.hpp deleted file mode 100644 index 52b6df7117..0000000000 --- a/include/armnn/ILayerSupport.hpp +++ /dev/null @@ -1,427 +0,0 @@ -// -// Copyright © 2017 Arm Ltd and Contributors. All rights reserved. -// SPDX-License-Identifier: MIT -// -#pragma once - -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -namespace armnn -{ - -class TensorInfo; - -class ILayerSupport -{ -protected: - ILayerSupport() {} - virtual ~ILayerSupport() {} - -public: - virtual bool IsAbsSupported(const TensorInfo& input, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsActivationSupported(const TensorInfo& input, - const TensorInfo& output, - const ActivationDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsAdditionSupported(const TensorInfo& input0, - const TensorInfo& input1, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsArgMinMaxSupported(const TensorInfo& input, - const TensorInfo& output, - const ArgMinMaxDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsBatchNormalizationSupported(const TensorInfo& input, - const TensorInfo& output, - const TensorInfo& mean, - const TensorInfo& var, - const TensorInfo& beta, - const TensorInfo& gamma, - const BatchNormalizationDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsBatchToSpaceNdSupported(const TensorInfo& input, - const TensorInfo& output, - const BatchToSpaceNdDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsCastSupported(const TensorInfo& input, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsComparisonSupported(const TensorInfo& input0, - const TensorInfo& input1, - const TensorInfo& output, - const ComparisonDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsConcatSupported(const std::vector inputs, - const TensorInfo& output, - const OriginsDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsConstantSupported(const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsConvertBf16ToFp32Supported(const TensorInfo& input, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsConvertFp32ToBf16Supported(const TensorInfo& input, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsConvertFp16ToFp32Supported(const TensorInfo& input, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsConvertFp32ToFp16Supported(const TensorInfo& input, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsConvolution2dSupported(const TensorInfo& input, - const TensorInfo& output, - const Convolution2dDescriptor& descriptor, - const TensorInfo& weights, - const Optional& biases, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsDebugSupported(const TensorInfo& input, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsDepthToSpaceSupported(const TensorInfo& input, - const TensorInfo& output, - const DepthToSpaceDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsDepthwiseConvolutionSupported( - const TensorInfo& input, - const TensorInfo& output, - const DepthwiseConvolution2dDescriptor& descriptor, - const TensorInfo& weights, - const Optional& biases, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsDequantizeSupported(const TensorInfo& input, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsDetectionPostProcessSupported(const TensorInfo& boxEncodings, - const TensorInfo& scores, - const TensorInfo& anchors, - const TensorInfo& detectionBoxes, - const TensorInfo& detectionClasses, - const TensorInfo& detectionScores, - const TensorInfo& numDetections, - const DetectionPostProcessDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const =0; - - virtual bool IsDilatedDepthwiseConvolutionSupported( - const TensorInfo& input, - const TensorInfo& output, - const DepthwiseConvolution2dDescriptor& descriptor, - const TensorInfo& weights, - const Optional& biases, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsDivisionSupported(const TensorInfo& input0, - const TensorInfo& input1, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsElementwiseUnarySupported(const TensorInfo& input, - const TensorInfo& output, - const ElementwiseUnaryDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsEqualSupported(const TensorInfo& input0, - const TensorInfo& input1, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsFakeQuantizationSupported(const TensorInfo& input, - const FakeQuantizationDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsFillSupported(const TensorInfo& input, - const TensorInfo& output, - const FillDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsFloorSupported(const TensorInfo& input, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsFullyConnectedSupported(const TensorInfo& input, - const TensorInfo& output, - const TensorInfo& weights, - const TensorInfo& biases, - const FullyConnectedDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsGatherSupported(const TensorInfo& input0, - const TensorInfo& input1, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsGatherSupported(const TensorInfo& input0, - const TensorInfo& input1, - const TensorInfo& output, - const GatherDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsGreaterSupported(const TensorInfo& input0, - const TensorInfo& input1, - const TensorInfo& ouput, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsInputSupported(const TensorInfo& input, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsInstanceNormalizationSupported( - const TensorInfo& input, - const TensorInfo& output, - const InstanceNormalizationDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsL2NormalizationSupported(const TensorInfo& input, - const TensorInfo& output, - const L2NormalizationDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsLogicalBinarySupported(const TensorInfo& input0, - const TensorInfo& input1, - const TensorInfo& output, - const LogicalBinaryDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsLogicalUnarySupported(const TensorInfo& input, - const TensorInfo& output, - const ElementwiseUnaryDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsLogSoftmaxSupported(const TensorInfo& input, - const TensorInfo& output, - const LogSoftmaxDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsLstmSupported(const TensorInfo& input, - const TensorInfo& outputStateIn, - const TensorInfo& cellStateIn, - const TensorInfo& scratchBuffer, - const TensorInfo& outputStateOut, - const TensorInfo& cellStateOut, - const TensorInfo& output, - const LstmDescriptor& descriptor, - const LstmInputParamsInfo& paramsInfo, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsMaximumSupported(const TensorInfo& input0, - const TensorInfo& input1, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsMeanSupported(const TensorInfo& input, - const TensorInfo& output, - const MeanDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsMemCopySupported(const TensorInfo& input, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsMemImportSupported(const TensorInfo& input, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsMergeSupported(const TensorInfo& input0, - const TensorInfo& input1, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsMergerSupported(const std::vector inputs, - const TensorInfo& output, - const OriginsDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsMinimumSupported(const TensorInfo& input0, - const TensorInfo& input1, - const TensorInfo& ouput, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsMultiplicationSupported(const TensorInfo& input0, - const TensorInfo& input1, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsNormalizationSupported(const TensorInfo& input, - const TensorInfo& output, - const NormalizationDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsOutputSupported(const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsPadSupported(const TensorInfo& input, - const TensorInfo& output, - const PadDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsPermuteSupported(const TensorInfo& input, - const TensorInfo& output, - const PermuteDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsPooling2dSupported(const TensorInfo& input, - const TensorInfo& output, - const Pooling2dDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsPreCompiledSupported(const TensorInfo& input, - const PreCompiledDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsPreluSupported(const TensorInfo& input, - const TensorInfo& alpha, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsQuantizeSupported(const TensorInfo& input, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsQLstmSupported(const TensorInfo& input, - const TensorInfo& previousOutputIn, - const TensorInfo& previousCellStateIn, - const TensorInfo& outputStateOut, - const TensorInfo& cellStateOut, - const TensorInfo& output, - const QLstmDescriptor& descriptor, - const LstmInputParamsInfo& paramsInfo, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsQuantizedLstmSupported(const TensorInfo& input, - const TensorInfo& previousCellStateIn, - const TensorInfo& previousOutputIn, - const TensorInfo& cellStateOut, - const TensorInfo& output, - const QuantizedLstmInputParamsInfo& paramsInfo, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsRankSupported(const TensorInfo& input, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsReduceSupported(const TensorInfo& input, - const TensorInfo& output, - const ReduceDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsReshapeSupported(const TensorInfo& input, - const TensorInfo& output, - const ReshapeDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsResizeBilinearSupported(const TensorInfo& input, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsResizeSupported(const TensorInfo& input, - const TensorInfo& output, - const ResizeDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsRsqrtSupported(const TensorInfo& input, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsSliceSupported(const TensorInfo& input, - const TensorInfo& output, - const SliceDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsSoftmaxSupported(const TensorInfo& input, - const TensorInfo& output, - const SoftmaxDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsSpaceToBatchNdSupported(const TensorInfo& input, - const TensorInfo& output, - const SpaceToBatchNdDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsSpaceToDepthSupported(const TensorInfo& input, - const TensorInfo& output, - const SpaceToDepthDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsSplitterSupported(const TensorInfo& input, - const ViewsDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsSplitterSupported(const TensorInfo& input, - const std::vector>& outputs, - const ViewsDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsStackSupported(const std::vector& inputs, - const TensorInfo& output, - const StackDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsStandInSupported(const std::vector& inputs, - const std::vector& outputs, - const StandInDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - - virtual bool IsStridedSliceSupported(const TensorInfo& input, - const TensorInfo& output, - const StridedSliceDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsSubtractionSupported(const TensorInfo& input0, - const TensorInfo& input1, - const TensorInfo& output, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsSwitchSupported(const TensorInfo& input0, - const TensorInfo& input1, - const TensorInfo& output0, - const TensorInfo& output1, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsTransposeConvolution2dSupported( - const TensorInfo& input, - const TensorInfo& output, - const TransposeConvolution2dDescriptor& descriptor, - const TensorInfo& weights, - const Optional& biases, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - - virtual bool IsTransposeSupported(const TensorInfo& input, - const TensorInfo& output, - const TransposeDescriptor& descriptor, - Optional reasonIfUnsupported = EmptyOptional()) const = 0; - -}; // class ILayerSupport - -using ILayerSupportSharedPtr = std::shared_ptr; - -} // namespace armnn -- cgit v1.2.1