ArmNN
 21.05
LayerSupportHandle Class Reference

#include <BackendHelper.hpp>

Public Member Functions

 LayerSupportHandle (std::shared_ptr< ILayerSupport > layerSupport)
 
 LayerSupportHandle (std::shared_ptr< ILayerSupport > layerSupport, const BackendId &backendId)
 
bool IsBackendRegistered () const
 
bool IsAbsSupported (const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsActivationSupported (const TensorInfo &input, const TensorInfo &output, const ActivationDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsAdditionSupported (const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsArgMinMaxSupported (const TensorInfo &input, const TensorInfo &output, const ArgMinMaxDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsBatchNormalizationSupported (const TensorInfo &input, const TensorInfo &output, const TensorInfo &mean, const TensorInfo &var, const TensorInfo &beta, const TensorInfo &gamma, const BatchNormalizationDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsBatchToSpaceNdSupported (const TensorInfo &input, const TensorInfo &output, const BatchToSpaceNdDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsCastSupported (const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsComparisonSupported (const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, const ComparisonDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsConcatSupported (const std::vector< const TensorInfo *> inputs, const TensorInfo &output, const OriginsDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsConstantSupported (const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsConvertBf16ToFp32Supported (const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsConvertFp32ToBf16Supported (const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsConvertFp16ToFp32Supported (const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsConvertFp32ToFp16Supported (const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsConvolution2dSupported (const TensorInfo &input, const TensorInfo &output, const Convolution2dDescriptor &descriptor, const TensorInfo &weights, const Optional< TensorInfo > &biases, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsDebugSupported (const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsDepthToSpaceSupported (const TensorInfo &input, const TensorInfo &output, const DepthToSpaceDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsDepthwiseConvolutionSupported (const TensorInfo &input, const TensorInfo &output, const DepthwiseConvolution2dDescriptor &descriptor, const TensorInfo &weights, const Optional< TensorInfo > &biases, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsDequantizeSupported (const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
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< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsDilatedDepthwiseConvolutionSupported (const TensorInfo &input, const TensorInfo &output, const DepthwiseConvolution2dDescriptor &descriptor, const TensorInfo &weights, const Optional< TensorInfo > &biases, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsDivisionSupported (const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsElementwiseUnarySupported (const TensorInfo &input, const TensorInfo &output, const ElementwiseUnaryDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsEqualSupported (const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsFakeQuantizationSupported (const TensorInfo &input, const FakeQuantizationDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsFillSupported (const TensorInfo &input, const TensorInfo &output, const FillDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsFloorSupported (const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsFullyConnectedSupported (const TensorInfo &input, const TensorInfo &output, const TensorInfo &weights, const TensorInfo &biases, const FullyConnectedDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsGatherSupported (const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsGatherSupported (const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, const GatherDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsGreaterSupported (const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &ouput, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsInputSupported (const TensorInfo &input, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsInstanceNormalizationSupported (const TensorInfo &input, const TensorInfo &output, const InstanceNormalizationDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsL2NormalizationSupported (const TensorInfo &input, const TensorInfo &output, const L2NormalizationDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsLogicalBinarySupported (const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, const LogicalBinaryDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsLogicalUnarySupported (const TensorInfo &input, const TensorInfo &output, const ElementwiseUnaryDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsLogSoftmaxSupported (const TensorInfo &input, const TensorInfo &output, const LogSoftmaxDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
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< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsMaximumSupported (const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsMeanSupported (const TensorInfo &input, const TensorInfo &output, const MeanDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsMemCopySupported (const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsMemImportSupported (const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsMergeSupported (const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsMergerSupported (const std::vector< const TensorInfo *> inputs, const TensorInfo &output, const OriginsDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsMinimumSupported (const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsMultiplicationSupported (const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsNormalizationSupported (const TensorInfo &input, const TensorInfo &output, const NormalizationDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsOutputSupported (const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsPadSupported (const TensorInfo &input, const TensorInfo &output, const PadDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsPermuteSupported (const TensorInfo &input, const TensorInfo &output, const PermuteDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsPooling2dSupported (const TensorInfo &input, const TensorInfo &output, const Pooling2dDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsPreCompiledSupported (const TensorInfo &input, const PreCompiledDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsPreluSupported (const TensorInfo &input, const TensorInfo &alpha, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsQuantizeSupported (const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
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< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsQuantizedLstmSupported (const TensorInfo &input, const TensorInfo &previousCellStateIn, const TensorInfo &previousOutputIn, const TensorInfo &cellStateOut, const TensorInfo &output, const QuantizedLstmInputParamsInfo &paramsInfo, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsRankSupported (const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsReduceSupported (const TensorInfo &input, const TensorInfo &output, const ReduceDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsReshapeSupported (const TensorInfo &input, const TensorInfo &output, const ReshapeDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsResizeBilinearSupported (const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsResizeSupported (const TensorInfo &input, const TensorInfo &output, const ResizeDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsRsqrtSupported (const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsSliceSupported (const TensorInfo &input, const TensorInfo &output, const SliceDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsSoftmaxSupported (const TensorInfo &input, const TensorInfo &output, const SoftmaxDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsSpaceToBatchNdSupported (const TensorInfo &input, const TensorInfo &output, const SpaceToBatchNdDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsSpaceToDepthSupported (const TensorInfo &input, const TensorInfo &output, const SpaceToDepthDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsSplitterSupported (const TensorInfo &input, const ViewsDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsSplitterSupported (const TensorInfo &input, const std::vector< std::reference_wrapper< TensorInfo >> &outputs, const ViewsDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsStackSupported (const std::vector< const TensorInfo *> &inputs, const TensorInfo &output, const StackDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsStandInSupported (const std::vector< const TensorInfo *> &inputs, const std::vector< const TensorInfo *> &outputs, const StandInDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsStridedSliceSupported (const TensorInfo &input, const TensorInfo &output, const StridedSliceDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsSubtractionSupported (const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsSwitchSupported (const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output0, const TensorInfo &output1, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsTransposeConvolution2dSupported (const TensorInfo &input, const TensorInfo &output, const TransposeConvolution2dDescriptor &descriptor, const TensorInfo &weights, const Optional< TensorInfo > &biases, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 
bool IsTransposeSupported (const TensorInfo &input, const TensorInfo &output, const TransposeDescriptor &descriptor, Optional< std::string &> reasonIfUnsupported=EmptyOptional())
 

Detailed Description

Definition at line 19 of file BackendHelper.hpp.

Constructor & Destructor Documentation

◆ LayerSupportHandle() [1/2]

LayerSupportHandle ( std::shared_ptr< ILayerSupport layerSupport)
inlineexplicit

Definition at line 22 of file BackendHelper.hpp.

23  : m_LayerSupport(std::move(layerSupport)), m_BackendId(Compute::Undefined) {};

◆ LayerSupportHandle() [2/2]

LayerSupportHandle ( std::shared_ptr< ILayerSupport layerSupport,
const BackendId backendId 
)
inlineexplicit

Definition at line 25 of file BackendHelper.hpp.

References anchors(), ARMNN_DEPRECATED_MSG, boxEncodings(), armnn::GetILayerSupportByBackendId(), LayerSupportHandle::IsAbsSupported(), LayerSupportHandle::IsActivationSupported(), LayerSupportHandle::IsAdditionSupported(), LayerSupportHandle::IsArgMinMaxSupported(), LayerSupportHandle::IsBackendRegistered(), LayerSupportHandle::IsBatchNormalizationSupported(), LayerSupportHandle::IsBatchToSpaceNdSupported(), armnn::IsCapabilitySupported(), LayerSupportHandle::IsCastSupported(), LayerSupportHandle::IsComparisonSupported(), LayerSupportHandle::IsConcatSupported(), LayerSupportHandle::IsConstantSupported(), LayerSupportHandle::IsConvertBf16ToFp32Supported(), LayerSupportHandle::IsConvertFp16ToFp32Supported(), LayerSupportHandle::IsConvertFp32ToBf16Supported(), LayerSupportHandle::IsConvertFp32ToFp16Supported(), LayerSupportHandle::IsConvolution2dSupported(), LayerSupportHandle::IsDebugSupported(), LayerSupportHandle::IsDepthToSpaceSupported(), LayerSupportHandle::IsDepthwiseConvolutionSupported(), LayerSupportHandle::IsDequantizeSupported(), LayerSupportHandle::IsDetectionPostProcessSupported(), LayerSupportHandle::IsDilatedDepthwiseConvolutionSupported(), LayerSupportHandle::IsDivisionSupported(), LayerSupportHandle::IsElementwiseUnarySupported(), LayerSupportHandle::IsEqualSupported(), LayerSupportHandle::IsFakeQuantizationSupported(), LayerSupportHandle::IsFillSupported(), LayerSupportHandle::IsFloorSupported(), LayerSupportHandle::IsFullyConnectedSupported(), LayerSupportHandle::IsGatherSupported(), LayerSupportHandle::IsGreaterSupported(), LayerSupportHandle::IsInputSupported(), LayerSupportHandle::IsInstanceNormalizationSupported(), LayerSupportHandle::IsL2NormalizationSupported(), LayerSupportHandle::IsLogicalBinarySupported(), LayerSupportHandle::IsLogicalUnarySupported(), LayerSupportHandle::IsLogSoftmaxSupported(), LayerSupportHandle::IsLstmSupported(), LayerSupportHandle::IsMaximumSupported(), LayerSupportHandle::IsMeanSupported(), LayerSupportHandle::IsMemCopySupported(), LayerSupportHandle::IsMemImportSupported(), LayerSupportHandle::IsMergerSupported(), LayerSupportHandle::IsMergeSupported(), LayerSupportHandle::IsMinimumSupported(), LayerSupportHandle::IsMultiplicationSupported(), LayerSupportHandle::IsNormalizationSupported(), LayerSupportHandle::IsOutputSupported(), LayerSupportHandle::IsPadSupported(), LayerSupportHandle::IsPermuteSupported(), LayerSupportHandle::IsPooling2dSupported(), LayerSupportHandle::IsPreCompiledSupported(), LayerSupportHandle::IsPreluSupported(), LayerSupportHandle::IsQLstmSupported(), LayerSupportHandle::IsQuantizedLstmSupported(), LayerSupportHandle::IsQuantizeSupported(), LayerSupportHandle::IsRankSupported(), LayerSupportHandle::IsReduceSupported(), LayerSupportHandle::IsReshapeSupported(), LayerSupportHandle::IsResizeBilinearSupported(), LayerSupportHandle::IsResizeSupported(), LayerSupportHandle::IsRsqrtSupported(), LayerSupportHandle::IsSliceSupported(), LayerSupportHandle::IsSoftmaxSupported(), LayerSupportHandle::IsSpaceToBatchNdSupported(), LayerSupportHandle::IsSpaceToDepthSupported(), LayerSupportHandle::IsSplitterSupported(), LayerSupportHandle::IsStackSupported(), LayerSupportHandle::IsStandInSupported(), LayerSupportHandle::IsStridedSliceSupported(), LayerSupportHandle::IsSubtractionSupported(), LayerSupportHandle::IsSwitchSupported(), LayerSupportHandle::IsTransposeConvolution2dSupported(), LayerSupportHandle::IsTransposeSupported(), and scores().

26  : m_LayerSupport(std::move(layerSupport)), m_BackendId(backendId) {};

Member Function Documentation

◆ IsAbsSupported()

bool IsAbsSupported ( const TensorInfo input,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 54 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

57 {
58  // Call the IsXXXLayerSupport function of the specific backend.
59  return m_LayerSupport->IsAbsSupported(input, output, reasonIfUnsupported.value());
60 }

◆ IsActivationSupported()

bool IsActivationSupported ( const TensorInfo input,
const TensorInfo output,
const ActivationDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 62 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

66 {
67  return m_LayerSupport->IsActivationSupported(input, output, descriptor, reasonIfUnsupported.value());
68 }

◆ IsAdditionSupported()

bool IsAdditionSupported ( const TensorInfo input0,
const TensorInfo input1,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 70 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

74 {
75  return m_LayerSupport->IsAdditionSupported(input0, input1, output, reasonIfUnsupported.value());
76 }

◆ IsArgMinMaxSupported()

bool IsArgMinMaxSupported ( const TensorInfo input,
const TensorInfo output,
const ArgMinMaxDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 78 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

82 {
83  return m_LayerSupport->IsArgMinMaxSupported(input, output, descriptor, reasonIfUnsupported.value());
84 }

◆ IsBackendRegistered()

bool IsBackendRegistered ( ) const

Definition at line 43 of file BackendHelper.cpp.

Referenced by LayerSupportHandle::LayerSupportHandle().

44 {
45  if (m_LayerSupport)
46  {
47  return true;
48  }
49 
50  return false;
51 }

◆ IsBatchNormalizationSupported()

bool IsBatchNormalizationSupported ( const TensorInfo input,
const TensorInfo output,
const TensorInfo mean,
const TensorInfo var,
const TensorInfo beta,
const TensorInfo gamma,
const BatchNormalizationDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 86 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

94 {
95  return m_LayerSupport->IsBatchNormalizationSupported(input,
96  output,
97  mean,
98  var,
99  beta,
100  gamma,
101  descriptor,
102  reasonIfUnsupported.value());
103 }

◆ IsBatchToSpaceNdSupported()

bool IsBatchToSpaceNdSupported ( const TensorInfo input,
const TensorInfo output,
const BatchToSpaceNdDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 105 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

109 {
110  return m_LayerSupport->IsBatchToSpaceNdSupported(input,
111  output,
112  descriptor,
113  reasonIfUnsupported.value());
114 }

◆ IsCastSupported()

bool IsCastSupported ( const TensorInfo input,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 116 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

119 {
120  return m_LayerSupport->IsCastSupported(input, output, reasonIfUnsupported.value());
121 }

◆ IsComparisonSupported()

bool IsComparisonSupported ( const TensorInfo input0,
const TensorInfo input1,
const TensorInfo output,
const ComparisonDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 123 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

128 {
129  return m_LayerSupport->IsComparisonSupported(input0, input1, output, descriptor, reasonIfUnsupported.value());
130 }

◆ IsConcatSupported()

bool IsConcatSupported ( const std::vector< const TensorInfo *>  inputs,
const TensorInfo output,
const OriginsDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 132 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

136 {
137  return m_LayerSupport->IsConcatSupported(inputs, output, descriptor, reasonIfUnsupported.value());
138 }

◆ IsConstantSupported()

bool IsConstantSupported ( const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 140 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

142 {
143  return m_LayerSupport->IsConstantSupported(output, reasonIfUnsupported.value());
144 }

◆ IsConvertBf16ToFp32Supported()

bool IsConvertBf16ToFp32Supported ( const TensorInfo input,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 146 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

149 {
150  return m_LayerSupport->IsConvertBf16ToFp32Supported(input, output, reasonIfUnsupported.value());
151 }

◆ IsConvertFp16ToFp32Supported()

bool IsConvertFp16ToFp32Supported ( const TensorInfo input,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 160 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

163 {
164  return m_LayerSupport->IsConvertFp16ToFp32Supported(input, output, reasonIfUnsupported.value());
165 }

◆ IsConvertFp32ToBf16Supported()

bool IsConvertFp32ToBf16Supported ( const TensorInfo input,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 153 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

156 {
157  return m_LayerSupport->IsConvertFp32ToBf16Supported(input, output, reasonIfUnsupported.value());
158 }

◆ IsConvertFp32ToFp16Supported()

bool IsConvertFp32ToFp16Supported ( const TensorInfo input,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 167 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

170 {
171  return m_LayerSupport->IsConvertFp32ToFp16Supported(input, output, reasonIfUnsupported.value());
172 }

◆ IsConvolution2dSupported()

bool IsConvolution2dSupported ( const TensorInfo input,
const TensorInfo output,
const Convolution2dDescriptor descriptor,
const TensorInfo weights,
const Optional< TensorInfo > &  biases,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 174 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

180 {
181  return m_LayerSupport->IsConvolution2dSupported(input,
182  output,
183  descriptor,
184  weights,
185  biases,
186  reasonIfUnsupported.value());
187 }

◆ IsDebugSupported()

bool IsDebugSupported ( const TensorInfo input,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 189 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

192 {
193  return m_LayerSupport->IsDebugSupported(input, output, reasonIfUnsupported.value());
194 }

◆ IsDepthToSpaceSupported()

bool IsDepthToSpaceSupported ( const TensorInfo input,
const TensorInfo output,
const DepthToSpaceDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 196 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

200 {
201  return m_LayerSupport->IsDepthToSpaceSupported(input, output, descriptor, reasonIfUnsupported.value());
202 }

◆ IsDepthwiseConvolutionSupported()

bool IsDepthwiseConvolutionSupported ( const TensorInfo input,
const TensorInfo output,
const DepthwiseConvolution2dDescriptor descriptor,
const TensorInfo weights,
const Optional< TensorInfo > &  biases,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 204 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

211 {
212  return m_LayerSupport->IsDepthwiseConvolutionSupported(input,
213  output,
214  descriptor,
215  weights,
216  biases,
217  reasonIfUnsupported.value());
218 }

◆ IsDequantizeSupported()

bool IsDequantizeSupported ( const TensorInfo input,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 220 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

223 {
224  return m_LayerSupport->IsDequantizeSupported(input, output, reasonIfUnsupported.value());
225 }

◆ IsDetectionPostProcessSupported()

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< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 227 of file BackendHelper.cpp.

Referenced by LayerSupportHandle::LayerSupportHandle().

236 {
237  return m_LayerSupport->IsDetectionPostProcessSupported(boxEncodings,
238  scores,
239  anchors,
240  detectionBoxes,
241  detectionClasses,
242  detectionScores,
243  numDetections,
244  descriptor,
245  reasonIfUnsupported);
246 }
std::vector< float > boxEncodings({ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f })
std::vector< float > scores({ 0.0f, 0.9f, 0.8f, 0.0f, 0.75f, 0.72f, 0.0f, 0.6f, 0.5f, 0.0f, 0.93f, 0.95f, 0.0f, 0.5f, 0.4f, 0.0f, 0.3f, 0.2f })
std::vector< float > anchors({ 0.5f, 0.5f, 1.0f, 1.0f, 0.5f, 0.5f, 1.0f, 1.0f, 0.5f, 0.5f, 1.0f, 1.0f, 0.5f, 10.5f, 1.0f, 1.0f, 0.5f, 10.5f, 1.0f, 1.0f, 0.5f, 100.5f, 1.0f, 1.0f })

◆ IsDilatedDepthwiseConvolutionSupported()

bool IsDilatedDepthwiseConvolutionSupported ( const TensorInfo input,
const TensorInfo output,
const DepthwiseConvolution2dDescriptor descriptor,
const TensorInfo weights,
const Optional< TensorInfo > &  biases,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 248 of file BackendHelper.cpp.

Referenced by LayerSupportHandle::LayerSupportHandle().

255 {
256  return m_LayerSupport->IsDilatedDepthwiseConvolutionSupported(input,
257  output,
258  descriptor,
259  weights,
260  biases,
261  reasonIfUnsupported);
262 }

◆ IsDivisionSupported()

bool IsDivisionSupported ( const TensorInfo input0,
const TensorInfo input1,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 264 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

268 {
269  return m_LayerSupport->IsDivisionSupported(input0, input1, output, reasonIfUnsupported.value());
270 }

◆ IsElementwiseUnarySupported()

bool IsElementwiseUnarySupported ( const TensorInfo input,
const TensorInfo output,
const ElementwiseUnaryDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 272 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

276 {
277  return m_LayerSupport->IsElementwiseUnarySupported(input, output, descriptor, reasonIfUnsupported.value());
278 }

◆ IsEqualSupported()

bool IsEqualSupported ( const TensorInfo input0,
const TensorInfo input1,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 280 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

284 {
285  return m_LayerSupport->IsEqualSupported(input0, input1, output, reasonIfUnsupported.value());
286 }

◆ IsFakeQuantizationSupported()

bool IsFakeQuantizationSupported ( const TensorInfo input,
const FakeQuantizationDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 288 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

291 {
292  return m_LayerSupport->IsFakeQuantizationSupported(input, descriptor, reasonIfUnsupported.value());
293 }

◆ IsFillSupported()

bool IsFillSupported ( const TensorInfo input,
const TensorInfo output,
const FillDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 295 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

299 {
300  return m_LayerSupport->IsFillSupported(input, output, descriptor, reasonIfUnsupported.value());
301 }

◆ IsFloorSupported()

bool IsFloorSupported ( const TensorInfo input,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 303 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

306 {
307  return m_LayerSupport->IsFloorSupported(input, output, reasonIfUnsupported.value());
308 }

◆ IsFullyConnectedSupported()

bool IsFullyConnectedSupported ( const TensorInfo input,
const TensorInfo output,
const TensorInfo weights,
const TensorInfo biases,
const FullyConnectedDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 310 of file BackendHelper.cpp.

References armnn::IsCapabilitySupported(), BackendId::IsUndefined(), FullyConnectedDescriptor::m_ConstantWeights, armnn::NonConstWeights, and OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

316 {
317  if(!descriptor.m_ConstantWeights && !m_BackendId.IsUndefined())
318  {
319  bool result = false;
321  if (!result)
322  {
323  return result;
324  }
325  }
326 
327  return m_LayerSupport->IsFullyConnectedSupported(input,
328  output,
329  weights,
330  biases,
331  descriptor,
332  reasonIfUnsupported.value());
333 }
Constant weights can be accessed through the descriptors, On the other hand, non-const weights can be...
bool IsCapabilitySupported(const armnn::BackendId &backend, armnn::BackendCapability capability)
Convenience function to check a capability on a backend.
bool IsUndefined() const
Definition: BackendId.hpp:139

◆ IsGatherSupported() [1/2]

bool IsGatherSupported ( const TensorInfo input0,
const TensorInfo input1,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 335 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

339 {
340  return m_LayerSupport->IsGatherSupported(input0, input1, output, reasonIfUnsupported.value());
341 }

◆ IsGatherSupported() [2/2]

bool IsGatherSupported ( const TensorInfo input0,
const TensorInfo input1,
const TensorInfo output,
const GatherDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 343 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

348 {
349  return m_LayerSupport->IsGatherSupported(input0, input1, output, descriptor, reasonIfUnsupported.value());
350 }

◆ IsGreaterSupported()

bool IsGreaterSupported ( const TensorInfo input0,
const TensorInfo input1,
const TensorInfo ouput,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 352 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

356 {
357  return m_LayerSupport->IsGreaterSupported(input0, input1, ouput, reasonIfUnsupported.value());
358 }

◆ IsInputSupported()

bool IsInputSupported ( const TensorInfo input,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 360 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

362 {
363  return m_LayerSupport->IsInputSupported(input, reasonIfUnsupported.value());
364 }

◆ IsInstanceNormalizationSupported()

bool IsInstanceNormalizationSupported ( const TensorInfo input,
const TensorInfo output,
const InstanceNormalizationDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 366 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

371 {
372  return m_LayerSupport->IsInstanceNormalizationSupported(input, output, descriptor, reasonIfUnsupported.value());
373 }

◆ IsL2NormalizationSupported()

bool IsL2NormalizationSupported ( const TensorInfo input,
const TensorInfo output,
const L2NormalizationDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 375 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

379 {
380  return m_LayerSupport->IsL2NormalizationSupported(input, output, descriptor, reasonIfUnsupported.value());
381 }

◆ IsLogicalBinarySupported()

bool IsLogicalBinarySupported ( const TensorInfo input0,
const TensorInfo input1,
const TensorInfo output,
const LogicalBinaryDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 383 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

388 {
389  return m_LayerSupport->IsLogicalBinarySupported(input0,
390  input1,
391  output,
392  descriptor,
393  reasonIfUnsupported.value());
394 }

◆ IsLogicalUnarySupported()

bool IsLogicalUnarySupported ( const TensorInfo input,
const TensorInfo output,
const ElementwiseUnaryDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 396 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

400 {
401  return m_LayerSupport->IsLogicalUnarySupported(input, output, descriptor, reasonIfUnsupported.value());
402 }

◆ IsLogSoftmaxSupported()

bool IsLogSoftmaxSupported ( const TensorInfo input,
const TensorInfo output,
const LogSoftmaxDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 404 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

408 {
409  return m_LayerSupport->IsLogSoftmaxSupported(input, output, descriptor, reasonIfUnsupported.value());
410 }

◆ IsLstmSupported()

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< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 412 of file BackendHelper.cpp.

Referenced by LayerSupportHandle::LayerSupportHandle().

422 {
423  return m_LayerSupport->IsLstmSupported(input,
424  outputStateIn,
425  cellStateIn,
426  scratchBuffer,
427  outputStateOut,
428  cellStateOut,
429  output,
430  descriptor,
431  paramsInfo,
432  reasonIfUnsupported);
433 }

◆ IsMaximumSupported()

bool IsMaximumSupported ( const TensorInfo input0,
const TensorInfo input1,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 435 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

439 {
440  return m_LayerSupport->IsMaximumSupported(input0, input1, output, reasonIfUnsupported.value());
441 }

◆ IsMeanSupported()

bool IsMeanSupported ( const TensorInfo input,
const TensorInfo output,
const MeanDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 443 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

447 {
448  return m_LayerSupport->IsMeanSupported(input, output, descriptor, reasonIfUnsupported.value());
449 }

◆ IsMemCopySupported()

bool IsMemCopySupported ( const TensorInfo input,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 451 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

454 {
455  return m_LayerSupport->IsMemCopySupported(input, output, reasonIfUnsupported.value());
456 }

◆ IsMemImportSupported()

bool IsMemImportSupported ( const TensorInfo input,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 458 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

461 {
462  return m_LayerSupport->IsMemImportSupported(input, output, reasonIfUnsupported.value());
463 }

◆ IsMergerSupported()

bool IsMergerSupported ( const std::vector< const TensorInfo *>  inputs,
const TensorInfo output,
const OriginsDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 473 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

477 {
478  return m_LayerSupport->IsMergerSupported(inputs, output, descriptor, reasonIfUnsupported.value());
479 }

◆ IsMergeSupported()

bool IsMergeSupported ( const TensorInfo input0,
const TensorInfo input1,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 465 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

469 {
470  return m_LayerSupport->IsMergeSupported(input0, input1, output, reasonIfUnsupported.value());
471 }

◆ IsMinimumSupported()

bool IsMinimumSupported ( const TensorInfo input0,
const TensorInfo input1,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 481 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

485 {
486  return m_LayerSupport->IsMinimumSupported(input0, input1, output, reasonIfUnsupported.value());
487 }

◆ IsMultiplicationSupported()

bool IsMultiplicationSupported ( const TensorInfo input0,
const TensorInfo input1,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 489 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

493 {
494  return m_LayerSupport->IsMultiplicationSupported(input0, input1, output, reasonIfUnsupported.value());
495 }

◆ IsNormalizationSupported()

bool IsNormalizationSupported ( const TensorInfo input,
const TensorInfo output,
const NormalizationDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 497 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

501 {
502  return m_LayerSupport->IsNormalizationSupported(input, output, descriptor, reasonIfUnsupported.value());
503 }

◆ IsOutputSupported()

bool IsOutputSupported ( const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 505 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

507 {
508  return m_LayerSupport->IsOutputSupported(output, reasonIfUnsupported.value());
509 }

◆ IsPadSupported()

bool IsPadSupported ( const TensorInfo input,
const TensorInfo output,
const PadDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 511 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

515 {
516  return m_LayerSupport->IsPadSupported(input, output, descriptor, reasonIfUnsupported.value());
517 }

◆ IsPermuteSupported()

bool IsPermuteSupported ( const TensorInfo input,
const TensorInfo output,
const PermuteDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 519 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

523 {
524  return m_LayerSupport->IsPermuteSupported(input, output, descriptor, reasonIfUnsupported.value());
525 }

◆ IsPooling2dSupported()

bool IsPooling2dSupported ( const TensorInfo input,
const TensorInfo output,
const Pooling2dDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 527 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

531 {
532  return m_LayerSupport->IsPooling2dSupported(input, output, descriptor, reasonIfUnsupported.value());
533 }

◆ IsPreCompiledSupported()

bool IsPreCompiledSupported ( const TensorInfo input,
const PreCompiledDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 535 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

538 {
539  return m_LayerSupport->IsPreCompiledSupported(input, descriptor, reasonIfUnsupported.value());
540 }

◆ IsPreluSupported()

bool IsPreluSupported ( const TensorInfo input,
const TensorInfo alpha,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 542 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

546 {
547  return m_LayerSupport->IsPreluSupported(input, alpha, output, reasonIfUnsupported.value());
548 }

◆ IsQLstmSupported()

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< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 557 of file BackendHelper.cpp.

Referenced by LayerSupportHandle::LayerSupportHandle().

566 {
567  return m_LayerSupport->IsQLstmSupported(input,
568  previousOutputIn,
569  previousCellStateIn,
570  outputStateOut,
571  cellStateOut,
572  output,
573  descriptor,
574  paramsInfo,
575  reasonIfUnsupported);
576 }

◆ IsQuantizedLstmSupported()

bool IsQuantizedLstmSupported ( const TensorInfo input,
const TensorInfo previousCellStateIn,
const TensorInfo previousOutputIn,
const TensorInfo cellStateOut,
const TensorInfo output,
const QuantizedLstmInputParamsInfo paramsInfo,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 578 of file BackendHelper.cpp.

Referenced by LayerSupportHandle::LayerSupportHandle().

585 {
586  return m_LayerSupport->IsQuantizedLstmSupported(input,
587  previousCellStateIn,
588  previousOutputIn,
589  cellStateOut,
590  output,
591  paramsInfo,
592  reasonIfUnsupported);
593 }

◆ IsQuantizeSupported()

bool IsQuantizeSupported ( const TensorInfo input,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 550 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

553 {
554  return m_LayerSupport->IsQuantizeSupported(input, output, reasonIfUnsupported.value());
555 }

◆ IsRankSupported()

bool IsRankSupported ( const TensorInfo input,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 595 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

598 {
599  return m_LayerSupport->IsRankSupported(input, output, reasonIfUnsupported.value());
600 }

◆ IsReduceSupported()

bool IsReduceSupported ( const TensorInfo input,
const TensorInfo output,
const ReduceDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 602 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

606 {
607  return m_LayerSupport->IsReduceSupported(input, output, descriptor, reasonIfUnsupported.value());
608 }

◆ IsReshapeSupported()

bool IsReshapeSupported ( const TensorInfo input,
const TensorInfo output,
const ReshapeDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 610 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

614 {
615  return m_LayerSupport->IsReshapeSupported(input, output, descriptor, reasonIfUnsupported.value());
616 }

◆ IsResizeBilinearSupported()

bool IsResizeBilinearSupported ( const TensorInfo input,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 618 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

621 {
622  return m_LayerSupport->IsResizeBilinearSupported(input, output, reasonIfUnsupported.value());
623 }

◆ IsResizeSupported()

bool IsResizeSupported ( const TensorInfo input,
const TensorInfo output,
const ResizeDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 625 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

629 {
630  return m_LayerSupport->IsResizeSupported(input, output, descriptor, reasonIfUnsupported.value());
631 }

◆ IsRsqrtSupported()

bool IsRsqrtSupported ( const TensorInfo input,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 633 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

636 {
637  return m_LayerSupport->IsRsqrtSupported(input, output, reasonIfUnsupported.value());
638 }

◆ IsSliceSupported()

bool IsSliceSupported ( const TensorInfo input,
const TensorInfo output,
const SliceDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 640 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

644 {
645  return m_LayerSupport->IsSliceSupported(input, output, descriptor, reasonIfUnsupported.value());
646 }

◆ IsSoftmaxSupported()

bool IsSoftmaxSupported ( const TensorInfo input,
const TensorInfo output,
const SoftmaxDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 648 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

652 {
653  return m_LayerSupport->IsSoftmaxSupported(input, output, descriptor, reasonIfUnsupported.value());
654 }

◆ IsSpaceToBatchNdSupported()

bool IsSpaceToBatchNdSupported ( const TensorInfo input,
const TensorInfo output,
const SpaceToBatchNdDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 656 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

660 {
661  return m_LayerSupport->IsSpaceToBatchNdSupported(input, output, descriptor, reasonIfUnsupported.value());
662 }

◆ IsSpaceToDepthSupported()

bool IsSpaceToDepthSupported ( const TensorInfo input,
const TensorInfo output,
const SpaceToDepthDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 664 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

668 {
669  return m_LayerSupport->IsSpaceToDepthSupported(input, output, descriptor, reasonIfUnsupported.value());
670 }

◆ IsSplitterSupported() [1/2]

bool IsSplitterSupported ( const TensorInfo input,
const ViewsDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 672 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

675 {
676  return m_LayerSupport->IsSplitterSupported(input, descriptor, reasonIfUnsupported.value());
677 }

◆ IsSplitterSupported() [2/2]

bool IsSplitterSupported ( const TensorInfo input,
const std::vector< std::reference_wrapper< TensorInfo >> &  outputs,
const ViewsDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 679 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

683 {
684  return m_LayerSupport->IsSplitterSupported(input, outputs, descriptor, reasonIfUnsupported.value());
685 }

◆ IsStackSupported()

bool IsStackSupported ( const std::vector< const TensorInfo *> &  inputs,
const TensorInfo output,
const StackDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 687 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

691 {
692  return m_LayerSupport->IsStackSupported(inputs, output, descriptor, reasonIfUnsupported.value());
693 }

◆ IsStandInSupported()

bool IsStandInSupported ( const std::vector< const TensorInfo *> &  inputs,
const std::vector< const TensorInfo *> &  outputs,
const StandInDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 695 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

699 {
700  return m_LayerSupport->IsStandInSupported(inputs, outputs, descriptor, reasonIfUnsupported.value());
701 }

◆ IsStridedSliceSupported()

bool IsStridedSliceSupported ( const TensorInfo input,
const TensorInfo output,
const StridedSliceDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 704 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

708 {
709  return m_LayerSupport->IsStridedSliceSupported(input, output, descriptor, reasonIfUnsupported.value());
710 }

◆ IsSubtractionSupported()

bool IsSubtractionSupported ( const TensorInfo input0,
const TensorInfo input1,
const TensorInfo output,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 712 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

716 {
717  return m_LayerSupport->IsSubtractionSupported(input0, input1, output, reasonIfUnsupported.value());
718 }

◆ IsSwitchSupported()

bool IsSwitchSupported ( const TensorInfo input0,
const TensorInfo input1,
const TensorInfo output0,
const TensorInfo output1,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 720 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

725 {
726  return m_LayerSupport->IsSwitchSupported(input0, input1, output0, output1, reasonIfUnsupported.value());
727 }

◆ IsTransposeConvolution2dSupported()

bool IsTransposeConvolution2dSupported ( const TensorInfo input,
const TensorInfo output,
const TransposeConvolution2dDescriptor descriptor,
const TensorInfo weights,
const Optional< TensorInfo > &  biases,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 729 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

736 {
737  return m_LayerSupport->IsTransposeConvolution2dSupported(input,
738  output,
739  descriptor,
740  weights,
741  biases,
742  reasonIfUnsupported.value());
743 }

◆ IsTransposeSupported()

bool IsTransposeSupported ( const TensorInfo input,
const TensorInfo output,
const TransposeDescriptor descriptor,
Optional< std::string &>  reasonIfUnsupported = EmptyOptional() 
)

Definition at line 745 of file BackendHelper.cpp.

References OptionalReferenceSwitch< std::is_reference< T >::value, T >::value().

Referenced by LayerSupportHandle::LayerSupportHandle().

749 {
750  return m_LayerSupport->IsTransposeSupported(input, output, descriptor, reasonIfUnsupported.value());
751 }

The documentation for this class was generated from the following files: