1*89c4ff92SAndroid Build Coastguard Worker // 2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2017 Arm Ltd. All rights reserved. 3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT 4*89c4ff92SAndroid Build Coastguard Worker // 5*89c4ff92SAndroid Build Coastguard Worker #pragma once 6*89c4ff92SAndroid Build Coastguard Worker 7*89c4ff92SAndroid Build Coastguard Worker #include <armnn/Deprecated.hpp> 8*89c4ff92SAndroid Build Coastguard Worker #include <armnn/DescriptorsFwd.hpp> 9*89c4ff92SAndroid Build Coastguard Worker #include <armnn/Optional.hpp> 10*89c4ff92SAndroid Build Coastguard Worker #include <armnn/Tensor.hpp> 11*89c4ff92SAndroid Build Coastguard Worker #include <armnn/Types.hpp> 12*89c4ff92SAndroid Build Coastguard Worker #include "LstmParams.hpp" 13*89c4ff92SAndroid Build Coastguard Worker #include "QuantizedLstmParams.hpp" 14*89c4ff92SAndroid Build Coastguard Worker 15*89c4ff92SAndroid Build Coastguard Worker namespace armnn 16*89c4ff92SAndroid Build Coastguard Worker { 17*89c4ff92SAndroid Build Coastguard Worker 18*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 19*89c4ff92SAndroid Build Coastguard Worker bool IsActivationSupported(const BackendId& backend, 20*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 21*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 22*89c4ff92SAndroid Build Coastguard Worker const ActivationDescriptor& descriptor, 23*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 24*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 25*89c4ff92SAndroid Build Coastguard Worker 26*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 27*89c4ff92SAndroid Build Coastguard Worker bool IsAdditionSupported(const BackendId& backend, 28*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input0, 29*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input1, 30*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 31*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 32*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 33*89c4ff92SAndroid Build Coastguard Worker 34*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 35*89c4ff92SAndroid Build Coastguard Worker bool IsBatchNormalizationSupported(const BackendId& backend, 36*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 37*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 38*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& mean, 39*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& var, 40*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& beta, 41*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& gamma, 42*89c4ff92SAndroid Build Coastguard Worker const BatchNormalizationDescriptor& descriptor, 43*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 44*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 45*89c4ff92SAndroid Build Coastguard Worker 46*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 47*89c4ff92SAndroid Build Coastguard Worker bool IsBatchToSpaceNdSupported(const BackendId& backend, 48*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 49*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 50*89c4ff92SAndroid Build Coastguard Worker const BatchToSpaceNdDescriptor& descriptor, 51*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 52*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 53*89c4ff92SAndroid Build Coastguard Worker 54*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 55*89c4ff92SAndroid Build Coastguard Worker bool IsConcatSupported(const BackendId& backend, 56*89c4ff92SAndroid Build Coastguard Worker const std::vector<const TensorInfo*> inputs, 57*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 58*89c4ff92SAndroid Build Coastguard Worker const OriginsDescriptor& descriptor, 59*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 60*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 61*89c4ff92SAndroid Build Coastguard Worker 62*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 63*89c4ff92SAndroid Build Coastguard Worker bool IsConstantSupported(const BackendId& backend, 64*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 65*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 66*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 67*89c4ff92SAndroid Build Coastguard Worker 68*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 69*89c4ff92SAndroid Build Coastguard Worker bool IsConvertFp16ToFp32Supported(const BackendId& backend, 70*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 71*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 72*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 73*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 74*89c4ff92SAndroid Build Coastguard Worker 75*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 76*89c4ff92SAndroid Build Coastguard Worker bool IsConvertFp32ToFp16Supported(const BackendId& backend, 77*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 78*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 79*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 80*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 81*89c4ff92SAndroid Build Coastguard Worker 82*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 83*89c4ff92SAndroid Build Coastguard Worker bool IsConvolution2dSupported(const BackendId& backend, 84*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 85*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 86*89c4ff92SAndroid Build Coastguard Worker const Convolution2dDescriptor& descriptor, 87*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& weights, 88*89c4ff92SAndroid Build Coastguard Worker const Optional<TensorInfo>& biases, 89*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 90*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 91*89c4ff92SAndroid Build Coastguard Worker 92*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 93*89c4ff92SAndroid Build Coastguard Worker bool IsDebugSupported(const BackendId& backend, 94*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 95*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 96*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 97*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 98*89c4ff92SAndroid Build Coastguard Worker 99*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 100*89c4ff92SAndroid Build Coastguard Worker bool IsDepthwiseConvolutionSupported(const BackendId& backend, 101*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 102*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 103*89c4ff92SAndroid Build Coastguard Worker const DepthwiseConvolution2dDescriptor& descriptor, 104*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& weights, 105*89c4ff92SAndroid Build Coastguard Worker const Optional<TensorInfo>& biases, 106*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 107*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 108*89c4ff92SAndroid Build Coastguard Worker 109*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 110*89c4ff92SAndroid Build Coastguard Worker bool IsDequantizeSupported(const BackendId& backend, 111*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 112*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 113*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 114*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 115*89c4ff92SAndroid Build Coastguard Worker 116*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 117*89c4ff92SAndroid Build Coastguard Worker bool IsDivisionSupported(const BackendId& backend, 118*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input0, 119*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input1, 120*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 121*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 122*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 123*89c4ff92SAndroid Build Coastguard Worker 124*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 125*89c4ff92SAndroid Build Coastguard Worker bool IsEqualSupported(const BackendId& backend, 126*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input0, 127*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input1, 128*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 129*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 130*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 131*89c4ff92SAndroid Build Coastguard Worker 132*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 133*89c4ff92SAndroid Build Coastguard Worker bool IsFakeQuantizationSupported(const BackendId& backend, 134*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 135*89c4ff92SAndroid Build Coastguard Worker const FakeQuantizationDescriptor& descriptor, 136*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 137*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 138*89c4ff92SAndroid Build Coastguard Worker 139*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 140*89c4ff92SAndroid Build Coastguard Worker bool IsFloorSupported(const BackendId& backend, 141*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 142*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 143*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 144*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 145*89c4ff92SAndroid Build Coastguard Worker 146*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 147*89c4ff92SAndroid Build Coastguard Worker bool IsFullyConnectedSupported(const BackendId& backend, 148*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 149*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 150*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& weights, 151*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& biases, 152*89c4ff92SAndroid Build Coastguard Worker const FullyConnectedDescriptor& descriptor, 153*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 154*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 155*89c4ff92SAndroid Build Coastguard Worker 156*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 157*89c4ff92SAndroid Build Coastguard Worker bool IsGreaterSupported(const BackendId& backend, 158*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input0, 159*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input1, 160*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 161*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 162*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 163*89c4ff92SAndroid Build Coastguard Worker 164*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 165*89c4ff92SAndroid Build Coastguard Worker bool IsInputSupported(const BackendId& backend, 166*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 167*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 168*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 169*89c4ff92SAndroid Build Coastguard Worker 170*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 171*89c4ff92SAndroid Build Coastguard Worker bool IsL2NormalizationSupported(const BackendId& backend, 172*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 173*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 174*89c4ff92SAndroid Build Coastguard Worker const L2NormalizationDescriptor& descriptor, 175*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 176*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 177*89c4ff92SAndroid Build Coastguard Worker 178*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 179*89c4ff92SAndroid Build Coastguard Worker bool IsLstmSupported(const BackendId& backend, const TensorInfo& input, const TensorInfo& outputStateIn, 180*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& cellStateIn, const TensorInfo& scratchBuffer, 181*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& outputStateOut, const TensorInfo& cellStateOut, 182*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, const LstmDescriptor& descriptor, 183*89c4ff92SAndroid Build Coastguard Worker const LstmInputParamsInfo& paramsInfo, char* reasonIfUnsupported = nullptr, 184*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 185*89c4ff92SAndroid Build Coastguard Worker 186*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 187*89c4ff92SAndroid Build Coastguard Worker bool IsMaximumSupported(const BackendId& backend, 188*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input0, 189*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input1, 190*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 191*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnSupported = nullptr, 192*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnSupportedMaxLength = 0); 193*89c4ff92SAndroid Build Coastguard Worker 194*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 195*89c4ff92SAndroid Build Coastguard Worker bool IsMeanSupported(const BackendId& backend, 196*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 197*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 198*89c4ff92SAndroid Build Coastguard Worker const MeanDescriptor& descriptor, 199*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 200*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 201*89c4ff92SAndroid Build Coastguard Worker 202*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 203*89c4ff92SAndroid Build Coastguard Worker bool IsMemCopySupported(const BackendId& backend, 204*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 205*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 206*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 207*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 208*89c4ff92SAndroid Build Coastguard Worker 209*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 210*89c4ff92SAndroid Build Coastguard Worker bool IsMergeSupported(const BackendId& backend, 211*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input0, 212*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input1, 213*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 214*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 215*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 216*89c4ff92SAndroid Build Coastguard Worker 217*89c4ff92SAndroid Build Coastguard Worker 218*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 219*89c4ff92SAndroid Build Coastguard Worker bool IsMinimumSupported(const BackendId& backend, 220*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input0, 221*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input1, 222*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 223*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 224*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 225*89c4ff92SAndroid Build Coastguard Worker 226*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 227*89c4ff92SAndroid Build Coastguard Worker bool IsMultiplicationSupported(const BackendId& backend, 228*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input0, 229*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input1, 230*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 231*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 232*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 233*89c4ff92SAndroid Build Coastguard Worker 234*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 235*89c4ff92SAndroid Build Coastguard Worker bool IsNormalizationSupported(const BackendId& backend, 236*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 237*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 238*89c4ff92SAndroid Build Coastguard Worker const NormalizationDescriptor& descriptor, 239*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 240*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 241*89c4ff92SAndroid Build Coastguard Worker 242*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 243*89c4ff92SAndroid Build Coastguard Worker bool IsOutputSupported(const BackendId& backend, 244*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 245*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 246*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 247*89c4ff92SAndroid Build Coastguard Worker 248*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 249*89c4ff92SAndroid Build Coastguard Worker bool IsPadSupported(const BackendId& backend, 250*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 251*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 252*89c4ff92SAndroid Build Coastguard Worker const PadDescriptor& descriptor, 253*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 254*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 255*89c4ff92SAndroid Build Coastguard Worker 256*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 257*89c4ff92SAndroid Build Coastguard Worker bool IsPermuteSupported(const BackendId& backend, 258*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 259*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 260*89c4ff92SAndroid Build Coastguard Worker const PermuteDescriptor& descriptor, 261*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 262*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 263*89c4ff92SAndroid Build Coastguard Worker 264*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 265*89c4ff92SAndroid Build Coastguard Worker bool IsPreCompiledSupported(const BackendId& backend, 266*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 267*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 268*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 269*89c4ff92SAndroid Build Coastguard Worker 270*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 271*89c4ff92SAndroid Build Coastguard Worker bool IsPreluSupported(const BackendId& backend, 272*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 273*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& alpha, 274*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 275*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 276*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 277*89c4ff92SAndroid Build Coastguard Worker 278*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 279*89c4ff92SAndroid Build Coastguard Worker bool IsPooling2dSupported(const BackendId& backend, 280*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 281*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 282*89c4ff92SAndroid Build Coastguard Worker const Pooling2dDescriptor& descriptor, 283*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 284*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 285*89c4ff92SAndroid Build Coastguard Worker 286*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 287*89c4ff92SAndroid Build Coastguard Worker bool IsQuantizedLstmSupported(const BackendId& backend, 288*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 289*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& previousCellStateIn, 290*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& previousOutputIn, 291*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& cellStateOut, 292*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 293*89c4ff92SAndroid Build Coastguard Worker const QuantizedLstmInputParamsInfo& paramsInfo, 294*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 295*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 296*89c4ff92SAndroid Build Coastguard Worker 297*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 298*89c4ff92SAndroid Build Coastguard Worker bool IsReduceSupported(const BackendId& backend, 299*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 300*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 301*89c4ff92SAndroid Build Coastguard Worker const ReduceDescriptor& descriptor, 302*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 303*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 304*89c4ff92SAndroid Build Coastguard Worker 305*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 306*89c4ff92SAndroid Build Coastguard Worker bool IsReshapeSupported(const BackendId& backend, 307*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 308*89c4ff92SAndroid Build Coastguard Worker const ReshapeDescriptor& descriptor, 309*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 310*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 311*89c4ff92SAndroid Build Coastguard Worker 312*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 313*89c4ff92SAndroid Build Coastguard Worker bool IsResizeSupported(const BackendId& backend, 314*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 315*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 316*89c4ff92SAndroid Build Coastguard Worker const ResizeDescriptor& descriptor, 317*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 318*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 319*89c4ff92SAndroid Build Coastguard Worker 320*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 321*89c4ff92SAndroid Build Coastguard Worker bool IsRsqrtSupported(const BackendId& backend, 322*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 323*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 324*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 325*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 326*89c4ff92SAndroid Build Coastguard Worker 327*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 328*89c4ff92SAndroid Build Coastguard Worker bool IsSoftmaxSupported(const BackendId& backend, 329*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 330*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 331*89c4ff92SAndroid Build Coastguard Worker const SoftmaxDescriptor& descriptor, 332*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 333*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 334*89c4ff92SAndroid Build Coastguard Worker 335*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 336*89c4ff92SAndroid Build Coastguard Worker bool IsSpaceToBatchNdSupported(const BackendId& backend, 337*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 338*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 339*89c4ff92SAndroid Build Coastguard Worker const SpaceToBatchNdDescriptor& descriptor, 340*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 341*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 342*89c4ff92SAndroid Build Coastguard Worker 343*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 344*89c4ff92SAndroid Build Coastguard Worker bool IsSpaceToDepthSupported(const BackendId& backend, 345*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 346*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 347*89c4ff92SAndroid Build Coastguard Worker const SpaceToDepthDescriptor& descriptor, 348*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 349*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 350*89c4ff92SAndroid Build Coastguard Worker 351*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 352*89c4ff92SAndroid Build Coastguard Worker bool IsSplitterSupported(const BackendId& backend, 353*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 354*89c4ff92SAndroid Build Coastguard Worker const std::vector<std::reference_wrapper<TensorInfo>>& outputs, 355*89c4ff92SAndroid Build Coastguard Worker const ViewsDescriptor& descriptor, 356*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 357*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 358*89c4ff92SAndroid Build Coastguard Worker 359*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 360*89c4ff92SAndroid Build Coastguard Worker bool IsStackSupported(const BackendId& backend, 361*89c4ff92SAndroid Build Coastguard Worker const std::vector<const TensorInfo*> inputs, 362*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 363*89c4ff92SAndroid Build Coastguard Worker const StackDescriptor& descriptor, 364*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 365*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 366*89c4ff92SAndroid Build Coastguard Worker 367*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 368*89c4ff92SAndroid Build Coastguard Worker bool IsStridedSliceSupported(const BackendId& backend, 369*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 370*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 371*89c4ff92SAndroid Build Coastguard Worker const StridedSliceDescriptor& descriptor, 372*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 373*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 374*89c4ff92SAndroid Build Coastguard Worker 375*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 376*89c4ff92SAndroid Build Coastguard Worker bool IsSubtractionSupported(const BackendId& backend, 377*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input0, 378*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input1, 379*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 380*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 381*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 382*89c4ff92SAndroid Build Coastguard Worker 383*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 384*89c4ff92SAndroid Build Coastguard Worker bool IsSwitchSupported(const BackendId& backend, 385*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input0, 386*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input1, 387*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output0, 388*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output1, 389*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 390*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 391*89c4ff92SAndroid Build Coastguard Worker 392*89c4ff92SAndroid Build Coastguard Worker /// Deprecated in favor of IBackend and ILayerSupport interfaces 393*89c4ff92SAndroid Build Coastguard Worker bool IsTransposeConvolution2dSupported(const BackendId& backend, 394*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& input, 395*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& output, 396*89c4ff92SAndroid Build Coastguard Worker const TransposeConvolution2dDescriptor& descriptor, 397*89c4ff92SAndroid Build Coastguard Worker const TensorInfo& weights, 398*89c4ff92SAndroid Build Coastguard Worker const Optional<TensorInfo>& biases, 399*89c4ff92SAndroid Build Coastguard Worker char* reasonIfUnsupported = nullptr, 400*89c4ff92SAndroid Build Coastguard Worker size_t reasonIfUnsupportedMaxLength = 1024); 401*89c4ff92SAndroid Build Coastguard Worker 402*89c4ff92SAndroid Build Coastguard Worker } 403