ArmNN
 25.02
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Types.hpp File Reference
#include <array>
#include <functional>
#include <stdint.h>
#include <chrono>
#include "BackendId.hpp"
#include "Exceptions.hpp"
#include "Deprecated.hpp"
Include dependency graph for Types.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  IBackend
 Each backend should implement an IBackend. More...
 
class  IDeviceSpec
 Device specific knowledge to be passed to the optimizer. More...
 
class  PermutationVector
 

Namespaces

 arm
 
 arm::pipe
 
 armnn
 Copyright (c) 2021 ARM Limited and Contributors.
 

Macros

#define LIST_OF_LAYER_TYPE
 This list uses X macro technique. More...
 
#define X(name)   name,
 

Typedefs

using LayerGuid = arm::pipe::ProfilingGuid
 Define LayerGuid type. More...
 
using IBackendSharedPtr = std::shared_ptr< IBackend >
 
using IBackendUniquePtr = std::unique_ptr< IBackend, void(*)(IBackend *backend)>
 
using LayerBindingId = int
 Type of identifiers for bindable layers (inputs, outputs). More...
 
using ImportedInputId = unsigned int
 
using ImportedOutputId = unsigned int
 
using DebugCallbackFunction = std::function< void(LayerGuid guid, unsigned int slotIndex, ITensorHandle *tensorHandle)>
 Define the type of callback for the Debug layer to call. More...
 
using HighResolutionClock = std::chrono::high_resolution_clock::time_point
 Define a timer and associated inference ID for recording execution times. More...
 
using InferenceTimingPair = std::pair< HighResolutionClock, HighResolutionClock >
 

Enumerations

enum class  Status { Success = 0 , Failure = 1 }
 enumeration More...
 
enum class  DataType {
  Float16 = 0 , Float32 = 1 , QAsymmU8 = 2 , Signed32 = 3 ,
  Boolean = 4 , QSymmS16 = 5 , QSymmS8 = 6 , QAsymmS8 = 7 ,
  BFloat16 = 8 , Signed64 = 9
}
 
enum class  DataLayout { NCHW = 1 , NHWC = 2 , NDHWC = 3 , NCDHW = 4 }
 
enum class  ProfilingDetailsMethod { Undefined = 0 , DetailsWithEvents = 1 , DetailsOnly = 2 }
 Define the behaviour of the internal profiler when outputting network details. More...
 
enum class  QosExecPriority { Low = 0 , Medium = 1 , High = 2 }
 
enum class  ActivationFunction {
  Sigmoid = 0 , TanH = 1 , Linear = 2 , ReLu = 3 ,
  BoundedReLu = 4 , SoftReLu = 5 , LeakyReLu = 6 , Abs = 7 ,
  Sqrt = 8 , Square = 9 , Elu = 10 , HardSwish = 11 ,
  Gelu = 12
}
 
enum class  ArgMinMaxFunction { Min = 0 , Max = 1 }
 
enum class  ComparisonOperation {
  Equal = 0 , Greater = 1 , GreaterOrEqual = 2 , Less = 3 ,
  LessOrEqual = 4 , NotEqual = 5
}
 
enum class  LogicalBinaryOperation { LogicalAnd = 0 , LogicalOr = 1 }
 
enum class  UnaryOperation {
  Abs = 0 , Exp = 1 , Sqrt = 2 , Rsqrt = 3 ,
  Neg = 4 , LogicalNot = 5 , Log = 6 , Sin = 7 ,
  Ceil = 8
}
 
enum class  BinaryOperation {
  Add = 0 , Div = 1 , Maximum = 2 , Minimum = 3 ,
  Mul = 4 , Sub = 5 , SqDiff = 6 , Power = 7 ,
  FloorDiv = 8
}
 
enum class  PoolingAlgorithm { Max = 0 , Average = 1 , L2 = 2 }
 
enum class  ReduceOperation {
  Sum = 0 , Max = 1 , Mean = 2 , Min = 3 ,
  Prod = 4
}
 
enum class  ResizeMethod { Bilinear = 0 , NearestNeighbor = 1 }
 
enum class  Dimensionality { NotSpecified = 0 , Specified = 1 , Scalar = 2 }
 
enum class  PaddingMethod { IgnoreValue = 0 , Exclude = 1 }
 The padding method modifies the output of pooling layers. More...
 
enum class  PaddingMode { Constant = 0 , Reflect = 1 , Symmetric = 2 }
 The padding mode controls whether the padding should be filled with constant values (Constant), or reflect the input, either including the border values (Symmetric) or not (Reflect). More...
 
enum class  NormalizationAlgorithmChannel { Across = 0 , Within = 1 }
 
enum class  NormalizationAlgorithmMethod { LocalBrightness = 0 , LocalContrast = 1 }
 
enum class  OutputShapeRounding { Floor = 0 , Ceiling = 1 }
 
enum class  ShapeInferenceMethod { ValidateOnly = 0 , InferAndValidate = 1 }
 The ShapeInferenceMethod modify how the output shapes are treated. More...
 
enum class  MemorySource : uint32_t {
  Undefined = 0 , Malloc = 1 , DmaBuf = 2 , DmaBufProtected = 4 ,
  Gralloc = 8
}
 Define the Memory Source to reduce copies. More...
 
enum class  MemBlockStrategyType { SingleAxisPacking = 0 , MultiAxisPacking = 1 }
 
enum class  FusedKernelType { AddMulAdd = 0 }
 
enum class  BackendCapability : uint32_t { NonConstWeights , AllOrNothing }
 BackendCapability class. More...
 
enum class  LayerType {
  X , Activation , Addition , ArgMinMax ,
  BatchNormalization , BatchToSpaceNd , Comparison , Concat ,
  Constant , ConvertFp16ToFp32 , ConvertFp32ToFp16 , Convolution2d ,
  Debug , DepthToSpace , DepthwiseConvolution2d , Dequantize ,
  DetectionPostProcess , Division , ElementwiseUnary , FakeQuantization ,
  Fill , Floor , FullyConnected , Gather ,
  Input , InstanceNormalization , L2Normalization , LogicalBinary ,
  LogSoftmax , Lstm , QLstm , Map ,
  Maximum , Mean , MemCopy , MemImport ,
  Merge , Minimum , Multiplication , Normalization ,
  Output , Pad , Permute , Pooling2d ,
  PreCompiled , Prelu , Quantize , QuantizedLstm ,
  Reshape , Rank , Resize , Reduce ,
  Slice , Softmax , SpaceToBatchNd , SpaceToDepth ,
  Splitter , Stack , StandIn , StridedSlice ,
  Subtraction , Switch , Transpose , TransposeConvolution2d ,
  Unmap , Cast , Shape , UnidirectionalSequenceLstm ,
  ChannelShuffle , Convolution3d , Pooling3d , GatherNd ,
  BatchMatMul , ElementwiseBinary , ReverseV2 , Tile ,
  Fused , BroadcastTo , ScatterNd , FirstLayer = Activation ,
  LastLayer = ScatterNd
}
 When adding a new layer, adapt also the LastLayer enum value in the enum class LayerType below. More...
 
enum class  ScatterNdFunction {
  Update = 0 , Add = 1 , Sub = 2 , Max = 3 ,
  Min = 4 , Mul = 5
}
 

Functions

const char * GetLayerTypeAsCString (LayerType type)
 

Variables

constexpr unsigned int MaxNumOfTensorDimensions = 5U
 
constexpr unsigned int LOWEST_CAPTURE_PERIOD = 10000u
 The lowest performance data capture interval we support is 10 miliseconds. More...
 
constexpr unsigned int EXPIRE_RATE = 3U
 Variable to control expire rate of priority queue. More...
 

Macro Definition Documentation

◆ LIST_OF_LAYER_TYPE

#define LIST_OF_LAYER_TYPE

This list uses X macro technique.

See https://en.wikipedia.org/wiki/X_Macro for more info

Definition at line 410 of file Types.hpp.

◆ X

#define X (   name)    name,

Definition at line 495 of file Types.hpp.

Typedef Documentation

◆ LayerGuid

using LayerGuid = arm::pipe::ProfilingGuid

Define LayerGuid type.

Definition at line 26 of file Types.hpp.