ArmNN
 24.08
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  Status { Success = 0, Failure = 1 }
 
enum  DataType {
  Float16 = 0, Float32 = 1, QAsymmU8 = 2, Signed32 = 3,
  Boolean = 4, QSymmS16 = 5, QSymmS8 = 6, QAsymmS8 = 7,
  BFloat16 = 8, Signed64 = 9
}
 
enum  DataLayout { NCHW = 1, NHWC = 2, NDHWC = 3, NCDHW = 4 }
 
enum  ProfilingDetailsMethod { Undefined = 0, DetailsWithEvents = 1, DetailsOnly = 2 }
 Define the behaviour of the internal profiler when outputting network details. More...
 
enum  QosExecPriority { Low = 0, Medium = 1, High = 2 }
 
enum  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  ArgMinMaxFunction { Min = 0, Max = 1 }
 
enum  ComparisonOperation {
  Equal = 0, Greater = 1, GreaterOrEqual = 2, Less = 3,
  LessOrEqual = 4, NotEqual = 5
}
 
enum  LogicalBinaryOperation { LogicalAnd = 0, LogicalOr = 1 }
 
enum  UnaryOperation {
  Abs = 0, Exp = 1, Sqrt = 2, Rsqrt = 3,
  Neg = 4, LogicalNot = 5, Log = 6, Sin = 7,
  Ceil = 8
}
 
enum  BinaryOperation {
  Add = 0, Div = 1, Maximum = 2, Minimum = 3,
  Mul = 4, Sub = 5, SqDiff = 6, Power = 7
}
 
enum  PoolingAlgorithm { Max = 0, Average = 1, L2 = 2 }
 
enum  ReduceOperation {
  Sum = 0, Max = 1, Mean = 2, Min = 3,
  Prod = 4
}
 
enum  ResizeMethod { Bilinear = 0, NearestNeighbor = 1 }
 
enum  Dimensionality { NotSpecified = 0, Specified = 1, Scalar = 2 }
 
enum  PaddingMethod { IgnoreValue = 0, Exclude = 1 }
 The padding method modifies the output of pooling layers. More...
 
enum  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  NormalizationAlgorithmChannel { Across = 0, Within = 1 }
 
enum  NormalizationAlgorithmMethod { LocalBrightness = 0, LocalContrast = 1 }
 
enum  OutputShapeRounding { Floor = 0, Ceiling = 1 }
 
enum  ShapeInferenceMethod { ValidateOnly = 0, InferAndValidate = 1 }
 The ShapeInferenceMethod modify how the output shapes are treated. More...
 
enum  MemorySource : uint32_t {
  Undefined = 0, Malloc = 1, DmaBuf = 2, DmaBufProtected = 4,
  Gralloc = 8
}
 Define the Memory Source to reduce copies. More...
 
enum  MemBlockStrategyType { SingleAxisPacking = 0, MultiAxisPacking = 1 }
 
enum  FusedKernelType { AddMulAdd = 0 }
 
enum  BackendCapability : uint32_t { NonConstWeights, AsyncExecution }
 BackendCapability class. More...
 
enum  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  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 408 of file Types.hpp.

◆ X

#define X (   name)    name,

Definition at line 493 of file Types.hpp.

Typedef Documentation

◆ LayerGuid

using LayerGuid = arm::pipe::ProfilingGuid

Define LayerGuid type.

Definition at line 26 of file Types.hpp.