From 0c47974f1800e8770904aecaef15d6f105758c4e Mon Sep 17 00:00:00 2001 From: Colm Donelan Date: Fri, 10 Dec 2021 12:43:54 +0000 Subject: IVGCVSW-6626 Promote backend headers in backendCommon to armnn/backends Move the following header files from backendsCommon to armnn/backends. * MemCopyWorkload.hpp * TensorHandle.hpp * Workload.hpp * WorkloadData.hpp * WorkloadFactory.hpp Replace them with forwarding headers and a pragma deprecation message. Resolve the deprecation messages in Arm NN code. Signed-off-by: Colm Donelan Change-Id: I47f116b30f86e478c9057795bc518c391a8ae514 --- src/backends/backendsCommon/WorkloadData.hpp | 773 +-------------------------- 1 file changed, 4 insertions(+), 769 deletions(-) (limited to 'src/backends/backendsCommon/WorkloadData.hpp') diff --git a/src/backends/backendsCommon/WorkloadData.hpp b/src/backends/backendsCommon/WorkloadData.hpp index 15c79e31c0..359c33a839 100644 --- a/src/backends/backendsCommon/WorkloadData.hpp +++ b/src/backends/backendsCommon/WorkloadData.hpp @@ -1,773 +1,8 @@ // -// Copyright © 2017 Arm Ltd. All rights reserved. +// Copyright © 2021 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // -#pragma once -#include -#include - -#include - -#include -#include -#include -#include -#include - -#include - -namespace armnn -{ - -//A helper function that returns the bias data type required for given input data type. -DataType GetBiasDataType(DataType inputDataType); - -struct WorkloadInfo; - -struct QueueDescriptor -{ - std::vector m_Inputs; - std::vector m_Outputs; - void* m_AdditionalInfoObject; - - void ValidateInputsOutputs(const std::string& descName, - unsigned int numExpectedIn, - unsigned int numExpectedOut) const; - - template - const T* GetAdditionalInformation() const - { - return static_cast(m_AdditionalInfoObject); - } - -protected: - ~QueueDescriptor() = default; - QueueDescriptor() - : m_AdditionalInfoObject(nullptr) - {} - QueueDescriptor(QueueDescriptor const&) = default; - QueueDescriptor& operator=(QueueDescriptor const&) = default; -}; - -// Base class for queue descriptors which contain parameters. -template -struct QueueDescriptorWithParameters : public QueueDescriptor -{ - LayerDescriptor m_Parameters; - -protected: - ~QueueDescriptorWithParameters() = default; - QueueDescriptorWithParameters() = default; - QueueDescriptorWithParameters(QueueDescriptorWithParameters const&) = default; - QueueDescriptorWithParameters& operator=(QueueDescriptorWithParameters const&) = default; -}; - -struct MapQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct UnmapQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct MemCopyQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -using InputQueueDescriptor = MemCopyQueueDescriptor; -using OutputQueueDescriptor = MemCopyQueueDescriptor; - -struct MemImportQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct MemSyncQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Softmax layer workload data. -struct SoftmaxQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Splitter layer workload data. -struct SplitterQueueDescriptor : QueueDescriptorWithParameters -{ - struct ViewOrigin - { - ViewOrigin() {} - ViewOrigin(std::vector const& origin) : m_Origin(origin) {} - - //View origin (size of the vector is the same as number of dimensions of the view). - std::vector m_Origin; - }; - - //View defines a tensor that will be carved from the input tensor. - //View origins are stored here, the extents are defined by sizes of the output tensors. - std::vector m_ViewOrigins; - - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Concat layer workload data. -struct ConcatQueueDescriptor : QueueDescriptorWithParameters -{ - struct ViewOrigin - { - ViewOrigin() {} - ViewOrigin(const std::vector& origin) : m_Origin(origin) {} - - //View origin (size of the vector is the same as number of dimensions of the view). - std::vector m_Origin; - }; - - //View defines a sub-area of the output tensor that will be filled with the corresponding input tensor. - //View origins are stored here, the extents are defined by sizes of the input tensors. - std::vector m_ViewOrigins; - - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Deprecated. Use ConcatQueueDescriptor instead -using MergerQueueDescriptor = ConcatQueueDescriptor; - -// Stack layer workload data. -struct StackQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Activation layer workload data. -struct ActivationQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct ArgMinMaxQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct CastQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Fill layer workload data. -struct FillQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Fully connected layer workload data. -struct FullyConnectedQueueDescriptor : QueueDescriptorWithParameters -{ - FullyConnectedQueueDescriptor() - : m_Weight(nullptr) - , m_Bias(nullptr) - { - } - - const ConstTensorHandle* m_Weight; - const ConstTensorHandle* m_Bias; - - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Permute layer workload data. -struct PermuteQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Pooling 2D layer workload data. -struct Pooling2dQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Pooling 3D layer workload data. -struct Pooling3dQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - - -// Convolution 2D layer workload data. -struct Convolution2dQueueDescriptor : QueueDescriptorWithParameters -{ - Convolution2dQueueDescriptor() - : m_Weight(nullptr) - , m_Bias(nullptr) - { - } - - const ConstTensorHandle* m_Weight; - const ConstTensorHandle* m_Bias; - - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Convolution 3D layer workload data. -struct Convolution3dQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -/// Depthwise Convolution 2D layer workload data. -/// -/// @note -/// The weights are in the format [1, H, W, I*M]. Where I is the input channel size, M the depthwise mutliplier and -/// H, W is the height and width of the filter kernel. If per channel quantization is applied -/// the weights will be quantized along the last dimension/axis (I*M) which corresponds to the output channel size. -/// If per channel quantization is applied the weights tensor will have I*M scales, one for each dimension -/// of the quantization axis. You have to be aware of this when reshaping the weights tensor. -/// Splitting the I*M axis, e.g. [1, H, W, I*M] --> [H, W, I, M], won't work without taking care of the -/// corresponding quantization scales. -/// If there is no per channel quantization applied reshaping the weights tensor won't cause any issues. There are -/// preconfigured permutation functions available @link WorkloadUtils.hpp here. -/// -struct DepthwiseConvolution2dQueueDescriptor : QueueDescriptorWithParameters -{ - DepthwiseConvolution2dQueueDescriptor() - : m_Weight(nullptr) - , m_Bias(nullptr) - { - } - - const ConstTensorHandle* m_Weight; - const ConstTensorHandle* m_Bias; - - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct DetectionPostProcessQueueDescriptor : QueueDescriptorWithParameters -{ - DetectionPostProcessQueueDescriptor() - : m_Anchors(nullptr) - { - } - - const ConstTensorHandle* m_Anchors; - - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Normalization layer workload data. -struct NormalizationQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Add layer workload data. -struct AdditionQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Multiplication layer workload data. -struct MultiplicationQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Division layer workload data. -struct DivisionQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Subtraction layer workload data. -struct SubtractionQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Maximum layer workload data. -struct MaximumQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Mean layer workload data. -struct MeanQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Pad layer workload data -struct PadQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct QuantizeQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Deprecated use ComparisonQueueDescriptor instead -struct EqualQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Batch norm layer workload data. -struct BatchNormalizationQueueDescriptor : QueueDescriptorWithParameters -{ - BatchNormalizationQueueDescriptor() - : m_Mean(nullptr) - , m_Variance(nullptr) - , m_Beta(nullptr) - , m_Gamma(nullptr) - { - } - - const ConstTensorHandle* m_Mean; - const ConstTensorHandle* m_Variance; - const ConstTensorHandle* m_Beta; - const ConstTensorHandle* m_Gamma; - - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct RankQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -ARMNN_NO_DEPRECATE_WARN_BEGIN -struct -ARMNN_DEPRECATED_MSG_REMOVAL_DATE("ResizeBilinearQueueDescriptor is deprecated use ResizeQueueDescriptor instead", - "22.08") -ResizeBilinearQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; -ARMNN_NO_DEPRECATE_WARN_END - -struct ResizeQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct FakeQuantizationQueueDescriptor : QueueDescriptorWithParameters -{ - FakeQuantizationQueueDescriptor() - : m_Min(nullptr) - , m_Max(nullptr) - { - } - - const ConstTensorHandle* m_Min; - const ConstTensorHandle* m_Max; - - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct InstanceNormalizationQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct L2NormalizationQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct LogSoftmaxQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct ConstantQueueDescriptor : QueueDescriptor -{ - ConstantQueueDescriptor() - : m_LayerOutput(nullptr) - { - } - - const ConstTensorHandle* m_LayerOutput; - - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct ReshapeQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct SpaceToBatchNdQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct SpaceToDepthQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct FloorQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct LstmQueueDescriptor : QueueDescriptorWithParameters -{ - LstmQueueDescriptor() - : m_InputToInputWeights(nullptr) - , m_InputToForgetWeights(nullptr) - , m_InputToCellWeights(nullptr) - , m_InputToOutputWeights(nullptr) - , m_RecurrentToInputWeights(nullptr) - , m_RecurrentToForgetWeights(nullptr) - , m_RecurrentToCellWeights(nullptr) - , m_RecurrentToOutputWeights(nullptr) - , m_CellToInputWeights(nullptr) - , m_CellToForgetWeights(nullptr) - , m_CellToOutputWeights(nullptr) - , m_InputGateBias(nullptr) - , m_ForgetGateBias(nullptr) - , m_CellBias(nullptr) - , m_OutputGateBias(nullptr) - , m_ProjectionWeights(nullptr) - , m_ProjectionBias(nullptr) - , m_InputLayerNormWeights(nullptr) - , m_ForgetLayerNormWeights(nullptr) - , m_CellLayerNormWeights(nullptr) - , m_OutputLayerNormWeights(nullptr) - { - } - - const ConstTensorHandle* m_InputToInputWeights; - const ConstTensorHandle* m_InputToForgetWeights; - const ConstTensorHandle* m_InputToCellWeights; - const ConstTensorHandle* m_InputToOutputWeights; - const ConstTensorHandle* m_RecurrentToInputWeights; - const ConstTensorHandle* m_RecurrentToForgetWeights; - const ConstTensorHandle* m_RecurrentToCellWeights; - const ConstTensorHandle* m_RecurrentToOutputWeights; - const ConstTensorHandle* m_CellToInputWeights; - const ConstTensorHandle* m_CellToForgetWeights; - const ConstTensorHandle* m_CellToOutputWeights; - const ConstTensorHandle* m_InputGateBias; - const ConstTensorHandle* m_ForgetGateBias; - const ConstTensorHandle* m_CellBias; - const ConstTensorHandle* m_OutputGateBias; - const ConstTensorHandle* m_ProjectionWeights; - const ConstTensorHandle* m_ProjectionBias; - const ConstTensorHandle* m_InputLayerNormWeights; - const ConstTensorHandle* m_ForgetLayerNormWeights; - const ConstTensorHandle* m_CellLayerNormWeights; - const ConstTensorHandle* m_OutputLayerNormWeights; - - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct ConvertBf16ToFp32QueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct ConvertFp32ToBf16QueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct ConvertFp16ToFp32QueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct ConvertFp32ToFp16QueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct BatchToSpaceNdQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct StridedSliceQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Minimum layer workload data. -struct MinimumQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -// Deprecated use ComparisonQueueDescriptor instead -struct GreaterQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct DebugQueueDescriptor : QueueDescriptor -{ - DebugQueueDescriptor() : m_Guid(0) {} - - void Validate(const WorkloadInfo& workloadInfo) const; - - LayerGuid m_Guid; - std::string m_LayerName; - unsigned int m_SlotIndex; -}; - -struct RsqrtQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct GatherQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct PreCompiledQueueDescriptor : QueueDescriptorWithParameters -{ - PreCompiledQueueDescriptor() - : m_PreCompiledObject(nullptr) - { - } - - void* m_PreCompiledObject; - - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct DequantizeQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct MergeQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct SwitchQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct PreluQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct TransposeConvolution2dQueueDescriptor : QueueDescriptorWithParameters -{ - TransposeConvolution2dQueueDescriptor() : - m_Weight(nullptr), - m_Bias(nullptr) - {} - - const ConstTensorHandle* m_Weight; - const ConstTensorHandle* m_Bias; - - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct TransposeQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct QLstmQueueDescriptor : QueueDescriptorWithParameters -{ - QLstmQueueDescriptor() - : m_InputToInputWeights(nullptr) - , m_InputToForgetWeights(nullptr) - , m_InputToCellWeights(nullptr) - , m_InputToOutputWeights(nullptr) - , m_RecurrentToInputWeights(nullptr) - , m_RecurrentToForgetWeights(nullptr) - , m_RecurrentToCellWeights(nullptr) - , m_RecurrentToOutputWeights(nullptr) - , m_CellToInputWeights(nullptr) - , m_CellToForgetWeights(nullptr) - , m_CellToOutputWeights(nullptr) - , m_InputGateBias(nullptr) - , m_ForgetGateBias(nullptr) - , m_CellBias(nullptr) - , m_OutputGateBias(nullptr) - , m_ProjectionWeights(nullptr) - , m_ProjectionBias(nullptr) - , m_InputLayerNormWeights(nullptr) - , m_ForgetLayerNormWeights(nullptr) - , m_CellLayerNormWeights(nullptr) - , m_OutputLayerNormWeights(nullptr) - { - } - - const ConstTensorHandle* m_InputToInputWeights; - const ConstTensorHandle* m_InputToForgetWeights; - const ConstTensorHandle* m_InputToCellWeights; - const ConstTensorHandle* m_InputToOutputWeights; - const ConstTensorHandle* m_RecurrentToInputWeights; - const ConstTensorHandle* m_RecurrentToForgetWeights; - const ConstTensorHandle* m_RecurrentToCellWeights; - const ConstTensorHandle* m_RecurrentToOutputWeights; - const ConstTensorHandle* m_CellToInputWeights; - const ConstTensorHandle* m_CellToForgetWeights; - const ConstTensorHandle* m_CellToOutputWeights; - const ConstTensorHandle* m_InputGateBias; - const ConstTensorHandle* m_ForgetGateBias; - const ConstTensorHandle* m_CellBias; - const ConstTensorHandle* m_OutputGateBias; - const ConstTensorHandle* m_ProjectionWeights; - const ConstTensorHandle* m_ProjectionBias; - const ConstTensorHandle* m_InputLayerNormWeights; - const ConstTensorHandle* m_ForgetLayerNormWeights; - const ConstTensorHandle* m_CellLayerNormWeights; - const ConstTensorHandle* m_OutputLayerNormWeights; - - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct QuantizedLstmQueueDescriptor : QueueDescriptor -{ - QuantizedLstmQueueDescriptor() - : m_InputToInputWeights(nullptr) - , m_InputToForgetWeights(nullptr) - , m_InputToCellWeights(nullptr) - , m_InputToOutputWeights(nullptr) - - , m_RecurrentToInputWeights(nullptr) - , m_RecurrentToForgetWeights(nullptr) - , m_RecurrentToCellWeights(nullptr) - , m_RecurrentToOutputWeights(nullptr) - - , m_InputGateBias(nullptr) - , m_ForgetGateBias(nullptr) - , m_CellBias(nullptr) - , m_OutputGateBias(nullptr) - {} - - const ConstTensorHandle* m_InputToInputWeights; - const ConstTensorHandle* m_InputToForgetWeights; - const ConstTensorHandle* m_InputToCellWeights; - const ConstTensorHandle* m_InputToOutputWeights; - - const ConstTensorHandle* m_RecurrentToInputWeights; - const ConstTensorHandle* m_RecurrentToForgetWeights; - const ConstTensorHandle* m_RecurrentToCellWeights; - const ConstTensorHandle* m_RecurrentToOutputWeights; - - const ConstTensorHandle* m_InputGateBias; - const ConstTensorHandle* m_ForgetGateBias; - const ConstTensorHandle* m_CellBias; - const ConstTensorHandle* m_OutputGateBias; - - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct AbsQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct SliceQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct DepthToSpaceQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct ComparisonQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct ElementwiseUnaryQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct LogicalBinaryQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct ReduceQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct ShapeQueueDescriptor : QueueDescriptor -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct UnidirectionalSequenceLstmQueueDescriptor : QueueDescriptorWithParameters -{ - UnidirectionalSequenceLstmQueueDescriptor() - : m_InputToInputWeights(nullptr) - , m_InputToForgetWeights(nullptr) - , m_InputToCellWeights(nullptr) - , m_InputToOutputWeights(nullptr) - , m_RecurrentToInputWeights(nullptr) - , m_RecurrentToForgetWeights(nullptr) - , m_RecurrentToCellWeights(nullptr) - , m_RecurrentToOutputWeights(nullptr) - , m_CellToInputWeights(nullptr) - , m_CellToForgetWeights(nullptr) - , m_CellToOutputWeights(nullptr) - , m_InputGateBias(nullptr) - , m_ForgetGateBias(nullptr) - , m_CellBias(nullptr) - , m_OutputGateBias(nullptr) - , m_ProjectionWeights(nullptr) - , m_ProjectionBias(nullptr) - , m_InputLayerNormWeights(nullptr) - , m_ForgetLayerNormWeights(nullptr) - , m_CellLayerNormWeights(nullptr) - , m_OutputLayerNormWeights(nullptr) - { - } - - const ConstTensorHandle* m_InputToInputWeights; - const ConstTensorHandle* m_InputToForgetWeights; - const ConstTensorHandle* m_InputToCellWeights; - const ConstTensorHandle* m_InputToOutputWeights; - const ConstTensorHandle* m_RecurrentToInputWeights; - const ConstTensorHandle* m_RecurrentToForgetWeights; - const ConstTensorHandle* m_RecurrentToCellWeights; - const ConstTensorHandle* m_RecurrentToOutputWeights; - const ConstTensorHandle* m_CellToInputWeights; - const ConstTensorHandle* m_CellToForgetWeights; - const ConstTensorHandle* m_CellToOutputWeights; - const ConstTensorHandle* m_InputGateBias; - const ConstTensorHandle* m_ForgetGateBias; - const ConstTensorHandle* m_CellBias; - const ConstTensorHandle* m_OutputGateBias; - const ConstTensorHandle* m_ProjectionWeights; - const ConstTensorHandle* m_ProjectionBias; - const ConstTensorHandle* m_InputLayerNormWeights; - const ConstTensorHandle* m_ForgetLayerNormWeights; - const ConstTensorHandle* m_CellLayerNormWeights; - const ConstTensorHandle* m_OutputLayerNormWeights; - - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -struct ChannelShuffleQueueDescriptor : QueueDescriptorWithParameters -{ - void Validate(const WorkloadInfo& workloadInfo) const; -}; - -} // namespace armnn +#include +#pragma message("src/backends/backendsCommon/WorkloadData.hpp has been deprecated, it is due for removal in"\ + " 22.08 release. Please use public interface include/armnn/backends/WorkloadData.hpp") -- cgit v1.2.1