Compute Library
 23.05
arm_compute Namespace Reference

Copyright (c) 2017-2023 Arm Limited. More...

Namespaces

 assembly_utils
 
 cl_direct_conv
 
 cl_dwc
 
 cl_gemm
 
 cl_indirect_conv
 
 cl_matmul
 
 cl_tuner
 
 cpu
 
 cpuinfo
 
 detail
 
 experimental
 
 gpu
 
 graph
 
 graph_utils
 
 helpers
 
 io
 
 kernels
 
 logging
 
 misc
 
 mlgo
 
 opencl
 Interface to convert the 2D Fully Connected weights from NCHW to NHWC or vice versa.
 
 quantization
 
 scale_helpers
 
 scale_utils
 
 scheduler_utils
 
 softmax_helpers
 
 support
 
 test
 
 utility
 
 utils
 
 weights_transformations
 
 wrapper
 

Data Structures

class  AccessWindowAutoPadding
 Dummy access window. More...
 
class  AccessWindowHorizontal
 Implementation of a row access pattern. More...
 
class  AccessWindowRectangle
 Implementation of a rectangular access pattern. More...
 
class  AccessWindowStatic
 Implementation of a static rectangular access pattern. More...
 
class  AccessWindowTranspose
 Implementation of a XY-transpose access pattern. More...
 
class  AccessWindowVertical
 Implementation of a column access pattern. More...
 
class  ActivationLayerInfo
 Activation Layer Information class. More...
 
class  Allocator
 Default malloc allocator implementation. More...
 
class  AllocatorWrapper
 Default malloc allocator implementation. More...
 
class  Array
 Basic implementation of the IArray interface which allocates a static number of T values. More...
 
class  bfloat16
 Brain floating point representation class. More...
 
struct  BlobInfo
 Meta-data information for each blob. More...
 
class  BlobLifetimeManager
 Concrete class that tracks the lifetime of registered tensors and calculates the systems memory requirements in terms of blobs. More...
 
class  BlobMemoryPool
 Blob memory pool. More...
 
struct  BorderSize
 Container for 2D border size. More...
 
class  BoundingBoxTransformInfo
 Bounding Box Transform information class. More...
 
class  BoxNMSLimitInfo
 BoxWithNonMaximaSuppressionLimit Information class. More...
 
class  CLAbsLayer
 Basic function to get the absolute value of an input tensor. More...
 
class  CLActivationLayer
 Basic function to run opencl::kernels::ClActivationKernel. More...
 
class  CLArgMinMaxLayer
 Function to calculate the index of the minimum or maximum values in a tensor based on an axis. More...
 
class  CLArgMinMaxLayerKernel
 Interface for the reduction operation kernel. More...
 
class  CLArithmeticAddition
 Basic function to run opencl::kernels::ClSaturatedArithmeticKernel for addition. More...
 
class  CLArithmeticDivision
 Basic function to run opencl::kernels::ClSaturatedArithmeticKernel for division. More...
 
class  CLArithmeticSubtraction
 Basic function to run opencl::kernels::ClSaturatedArithmeticKernel for subtraction. More...
 
class  CLArray
 CLArray implementation. More...
 
class  CLBatchNormalizationLayer
 Basic function to run CLNormalizationLayerKernel and simulate a batch normalization layer. More...
 
class  CLBatchNormalizationLayerKernel
 Interface for the BatchNormalization layer kernel. More...
 
class  CLBatchToSpaceLayer
 Basic function to run CLBatchToSpaceLayerKernel. More...
 
class  CLBatchToSpaceLayerKernel
 Interface for the batch to space kernel. More...
 
class  CLBitwiseAnd
 Basic function to perform bitwise AND by running CLBitwiseKernel. More...
 
class  CLBitwiseKernel
 Interface for the bitwise operation kernel. More...
 
class  CLBitwiseNot
 Basic function to perform bitwise NOT by running CLBitwiseKernel. More...
 
class  CLBitwiseOr
 Basic function to perform bitwise OR by running CLBitwiseKernel. More...
 
class  CLBitwiseXor
 Basic function to perform bitwise XOR by running CLBitwiseKernel. More...
 
class  CLBoundingBoxTransform
 Basic function to run CLBoundingBoxTransformKernel. More...
 
class  CLBoundingBoxTransformKernel
 Interface for the bounding box kernel. More...
 
class  CLBufferAllocator
 Default OpenCL cl buffer allocator implementation. More...
 
class  CLBufferMemoryRegion
 OpenCL buffer memory region implementation. More...
 
class  CLBuildOptions
 Build options. More...
 
class  CLCast
 Basic function to run opencl::kernels::ClCastKernel. More...
 
class  CLChannelShuffleLayer
 Basic function to run CLChannelShuffleLayerKernel. More...
 
class  CLChannelShuffleLayerKernel
 Interface for the channel shuffle kernel. More...
 
class  CLCoarseSVMMemoryRegion
 OpenCL coarse-grain SVM memory region implementation. More...
 
class  CLComparison
 Basic function to run CLComparisonKernel. More...
 
class  CLComparisonKernel
 Interface for the comparison kernel. More...
 
class  CLComparisonStatic
 Basic function to run CLComparisonKernel. More...
 
class  CLCompileContext
 CLCompileContext class. More...
 
class  CLComplexPixelWiseMultiplication
 Basic function to run opencl::ClComplexMul. More...
 
class  CLComputeAllAnchorsKernel
 Interface for Compute All Anchors kernel. More...
 
class  CLComputeMeanVariance
 Interface for compute Mean and Variance per channel. More...
 
class  CLConcatenateLayer
 Basic function to execute concatenate tensors along a given axis. More...
 
class  CLConv3D
 Basic function to compute the convolution3d layer. More...
 
class  CLConvertFullyConnectedWeights
 Basic function to run an opencl::kernels::ClConvertFullyConnectedWeightsKernel. More...
 
class  CLConvolutionLayer
 Basic function to compute the convolution layer. More...
 
class  CLCopy
 Basic function to run opencl::kernels::ClCopyKernel. More...
 
class  CLCrop
 Basic function to run opencl::kernels::ClCropKernel. More...
 
class  CLCropResize
 Function to perform cropping and resizing. More...
 
class  CLDeconvolutionLayer
 Basic function to compute the deconvolution layer. More...
 
class  CLDeconvolutionLayerUpsample
 Basic function to execute deconvolution upsample on OpenCL. More...
 
class  CLDeconvolutionLayerUpsampleKernel
 Interface for the Deconvolution layer kernel on OpenCL. More...
 
class  CLDeconvolutionReshapeOutputKernel
 Interface for the OpenCL kernel to be used for reshaping the tensor before returning the result of deconvolution. More...
 
class  CLDepthConvertLayer
 Basic function to run opencl::kernels::ClCastKernel. More...
 
class  CLDepthToSpaceLayer
 Basic function to run CLDepthToSpaceLayerKernel. More...
 
class  CLDepthToSpaceLayerKernel
 Interface for the depth to space kernel. More...
 
class  CLDepthwiseConvolutionLayer
 Function to execute a depthwise convolution. More...
 
class  CLDepthwiseConvolutionLayerNativeKernel
 Interface for the kernel to run a MxN depthwise convolution. More...
 
class  CLDequantizationLayer
 Basic function to run opencl::ClDequantize that dequantizes an input tensor. More...
 
class  CLDevice
 OpenCL device type class. More...
 
struct  CLDeviceOptions
 OpenCL device options. More...
 
class  CLDirectConvolutionLayer
 Basic function to execute direct convolution function: More...
 
class  CLDirectDeconvolutionLayer
 Function to run the deconvolution layer. More...
 
class  CLElementwiseMax
 Basic function to run opencl::kernels::ClArithmeticKernel for max. More...
 
class  CLElementwiseMin
 Basic function to run opencl::kernels::ClArithmeticKernel for min. More...
 
class  CLElementwisePower
 Basic function to run opencl::kernels::ClArithmeticKernel for power. More...
 
class  CLElementwiseSquaredDiff
 Basic function to run opencl::kernels::ClArithmeticKernel for squared difference. More...
 
class  CLExpLayer
 Basic function to perform exponential on an input tensor. More...
 
class  CLFFT1D
 Basic function to execute one dimensional FFT. More...
 
class  CLFFT2D
 Basic function to execute two dimensional FFT. More...
 
class  CLFFTConvolutionLayer
 Basic function to execute FFT-based convolution on OpenCL. More...
 
class  CLFFTDigitReverseKernel
 Interface for the digit reverse operation kernel. More...
 
class  CLFFTRadixStageKernel
 Interface for the FFT radix stage kernel. More...
 
class  CLFFTScaleKernel
 Interface for the inverse fft scale kernel. More...
 
class  CLFill
 Basic function to run opencl::kernels::ClFillKernel. More...
 
class  CLFillBorderKernel
 Interface for filling the border of a kernel. More...
 
class  CLFineSVMMemoryRegion
 OpenCL fine-grain SVM memory region implementation. More...
 
class  CLFlattenLayer
 Basic function to execute flatten. More...
 
class  CLFloor
 Basic function to run opencl::kernels::ClFloorKernel. More...
 
class  CLFullyConnectedLayer
 Basic function to compute a Fully Connected layer on OpenCL. More...
 
class  CLFuseBatchNormalization
 Basic function to fuse the batch normalization node to a preceding convolution node. More...
 
class  CLFuseBatchNormalizationKernel
 OpenCL kernel to fuse the batch normalization node to a preceding convolution node. More...
 
class  CLGather
 Basic function to run CLGatherKernel. More...
 
class  CLGatherKernel
 Interface for the kernel to perform tensor reshaping. More...
 
class  CLGEMM
 Basic function to execute GEMM on OpenCL. More...
 
class  CLGEMMConvolutionLayer
 Basic function to compute the convolution layer. More...
 
class  CLGEMMDeconvolutionLayer
 Function to run the deconvolution layer through a call to GEMM. More...
 
class  CLGEMMHeuristicsHandle
 Handle for loading and retrieving GEMM heuristics. More...
 
struct  CLGEMMKernelSelectionParams
 OpenCL GEMM kernel selection parameters. More...
 
class  CLGEMMLowpMatrixMultiplyCore
 Basic function to execute GEMMLowpMatrixMultiplyCore on OpenCL. More...
 
class  CLGEMMLowpOutputStage
 Basic function to execute GEMMLowpQuantizeDown kernels on CL. More...
 
class  CLGenerateProposalsLayer
 Basic function to generate proposals for a RPN (Region Proposal Network) More...
 
class  CLIndirectConvolutionLayer
 Basic function to run the indirect convolution function. More...
 
class  CLInstanceNormalizationLayer
 Basic function to perform a Instance normalization. More...
 
class  CLInstanceNormalizationLayerKernel
 Interface for performing an instance normalization. More...
 
class  CLKernelLibrary
 CLKernelLibrary class. More...
 
class  CLL2NormalizeLayer
 Basic function to perform a L2 normalization on a given axis. More...
 
class  CLL2NormalizeLayerKernel
 Interface for performing a L2 normalize on a given axis given the square sum of it in this axis. More...
 
class  CLLogicalAnd
 Basic function to run arm_compute::opencl::kernels::ClLogicalBinaryKernel. More...
 
class  CLLogicalNot
 Basic function to do logical NOT operation. More...
 
class  CLLogicalOr
 Basic function to run arm_compute::opencl::kernels::ClLogicalBinaryKernel. More...
 
class  CLLogLayer
 Basic function to perform elementwise log on an input tensor. More...
 
class  CLLSTMLayer
 This function performs a single time step in a Long Short-Term Memory (LSTM) layer. More...
 
class  CLLSTMLayerQuantized
 Basic function to run CLLSTMLayerQuantized. More...
 
class  CLMatMul
 Basic function to execute MatMul (Matrix Multiplication) on OpenCL. More...
 
class  CLMaxUnpoolingLayer
 Function to perform MaxUnpooling. More...
 
class  CLMaxUnpoolingLayerKernel
 Interface for the pooling layer kernel. More...
 
class  CLMeanStdDevNormalizationKernel
 Interface for the kernel to normalize the input 2D tensor across the first dimension with respect to mean and standard deviation of the same dimension. More...
 
class  CLMeanStdDevNormalizationLayer
 Basic function to execute mean and standard deviation normalization by calling CLMeanStdDevNormalizationKernel. More...
 
class  CLMemory
 OpenCL implementation of memory object. More...
 
class  CLNegLayer
 Basic function to negate an input tensor. More...
 
class  CLNormalizationLayer
 Basic function to compute a normalization layer. More...
 
class  CLNormalizationLayerKernel
 Interface for the normalization layer kernel. More...
 
class  CLNormalizePlanarYUVLayer
 Basic function to run CLNormalizePlanarYUVLayerKernel. More...
 
class  CLNormalizePlanarYUVLayerKernel
 Interface for the NormalizePlanarYUV layer kernel. More...
 
class  CLPadLayer
 Basic function to pad a tensor. More...
 
class  CLPadLayerKernel
 Interface for the PadLayer function. More...
 
class  CLPermute
 Basic function to execute an opencl::kernels::ClPermuteKernel. More...
 
class  CLPixelWiseMultiplication
 Basic function to run opencl::ClMul. More...
 
class  CLPooling3dLayer
 Basic function to run opencl::ClPool3d. More...
 
class  CLPoolingLayer
 Basic function to run opencl::ClPool2d. More...
 
class  CLPReluLayer
 Basic function to run opencl::kernels::ClArithmeticKernel for PRELU. More...
 
class  CLPriorBoxLayer
 Basic function to run CLPriorBoxLayerKernel. More...
 
class  CLPriorBoxLayerKernel
 Interface for the PriorBox layer kernel. More...
 
class  CLQLSTMLayer
 Basic function to run CLQLSTMLayer. More...
 
class  CLQLSTMLayerNormalizationKernel
 Interface for the kernel to do layer normalization. More...
 
struct  CLQuantization
 OpenCL quantization data. More...
 
class  CLQuantizationLayer
 Basic function to simulate a quantization layer. More...
 
class  CLRange
 Basic function to run CLRangeKernel. More...
 
class  CLRangeKernel
 Kernel class for Range. More...
 
class  CLReduceMean
 Basic function to perform reduce operation. More...
 
class  CLReductionOperation
 Perform reduction operation. More...
 
class  CLReductionOperationKernel
 Interface for the reduction operation kernel. More...
 
class  CLReorgLayer
 
class  CLReorgLayerKernel
 OpenCL kernel to perform a reorg layer. More...
 
class  CLReshapeLayer
 Basic function to run opencl::kernels::ClReshapeKernel. More...
 
class  CLReverse
 Basic function to run CLReverseKernel. More...
 
class  CLReverseKernel
 Interface for the reverse kernel. More...
 
class  CLRNNLayer
 Basic function to run CLRNNLayer. More...
 
class  CLROIAlignLayer
 Basic function to run CLROIAlignLayerKernel. More...
 
class  CLROIAlignLayerKernel
 Interface for the RoIAlign kernel. More...
 
class  CLROIPoolingLayer
 Basic function to run CLROIPoolingLayerKernel. More...
 
class  CLROIPoolingLayerKernel
 Interface for the ROI pooling layer kernel. More...
 
class  CLRoundLayer
 Basic function to get the round (to the nearest even) value of an input tensor. More...
 
class  CLRsqrtLayer
 Basic function to perform inverse square root on an input tensor. More...
 
class  CLRuntimeContext
 Runtime context. More...
 
class  CLScale
 Basic function to run opencl::ClScale. More...
 
class  CLScheduler
 Provides global access to a CL context and command queue. More...
 
class  CLSelect
 Basic function to run CLSelect. More...
 
class  CLSelectKernel
 OpenCL interface for executing the select kernel. More...
 
class  CLSinLayer
 Basic function to calculate sine of an input tensor. More...
 
class  CLSlice
 Basic function to perform tensor slicing. More...
 
class  CLSoftmaxLayerGeneric
 Basic function to compute a SoftmaxLayer. More...
 
class  CLSpaceToBatchLayer
 Basic function to spatial divide a tensor. More...
 
class  CLSpaceToBatchLayerKernel
 Interface for the space to batch kernel. More...
 
class  CLSpaceToDepthLayer
 Basic function to run CLSpaceToDepthLayerKernel. More...
 
class  CLSpaceToDepthLayerKernel
 Interface for the space to depth kernel. More...
 
class  CLSplit
 Basic function to split a tensor along a given axis. More...
 
class  CLStackLayer
 Basic function to stack tensors along an axis. More...
 
class  CLStackLayerKernel
 OpenCL kernel to stacks a rank-R tensor into one with rank-(R+1) along the axis dimension. More...
 
class  CLStridedSlice
 Basic function to run CLStridedSliceKernel. More...
 
class  CLStridedSliceKernel
 Interface for the kernel to perform tensor strided slicing. More...
 
class  CLSubTensor
 Basic implementation of the OpenCL sub-tensor interface. More...
 
class  CLSymbols
 Class for loading OpenCL symbols. More...
 
class  CLTensor
 Basic implementation of the OpenCL tensor interface. More...
 
class  CLTensorAllocator
 Basic implementation of a CL memory tensor allocator. More...
 
class  CLTile
 Basic function to run CLTileKernel. More...
 
class  CLTileKernel
 OpenCL kernel to perform a Tile operation. More...
 
class  CLTranspose
 Basic function to execute an opencl::kernels::ClTransposeKernel. More...
 
class  CLTuner
 Basic implementation of the OpenCL tuner interface. More...
 
struct  CLTuningInfo
 
class  CLTuningParams
 < OpenCL tuner parameters More...
 
class  CLUnstack
 Basic function to unpack a rank-R tensor into rank-(R-1) tensors. More...
 
class  CLWinogradConvolutionLayer
 Basic function to execute Winograd-based convolution on OpenCL. More...
 
class  ComputeAnchorsInfo
 ComputeAnchors information class. More...
 
struct  Conv2dInfo
 Descriptor used by the 2d Convolution function. More...
 
struct  Conv3dInfo
 Descriptor used by the 3d Convolution function. More...
 
struct  ConvolutionInfo
 
class  Coordinates
 Coordinates of an item. More...
 
struct  Coordinates2D
 Coordinate type. More...
 
struct  Coordinates3D
 Coordinate type. More...
 
class  CPPBoxWithNonMaximaSuppressionLimit
 Basic function to run CPPBoxWithNonMaximaSuppressionLimitKernel. More...
 
class  CPPBoxWithNonMaximaSuppressionLimitKernel
 CPP kernel to perform computation of BoxWithNonMaximaSuppressionLimit. More...
 
class  CPPDetectionOutputLayer
 CPP Function to generate the detection output based on location and confidence predictions by doing non maximum suppression. More...
 
class  CPPDetectionPostProcessLayer
 CPP Function to generate the detection output based on center size encoded boxes, class prediction and anchors by doing non maximum suppression. More...
 
class  CPPNonMaximumSuppression
 CPP Function to perform non maximum suppression on the bounding boxes and scores. More...
 
class  CPPNonMaximumSuppressionKernel
 CPP Function to perform non maximum suppression on the bounding boxes and scores. More...
 
class  CPPPermute
 Basic function to run CPPPermuteKernel. More...
 
class  CPPPermuteKernel
 CPP kernel to perform tensor permutation. More...
 
class  CPPScheduler
 C++11 implementation of a pool of threads to automatically split a kernel's execution among several threads. More...
 
class  CPPSplit
 Basic function to split a tensor along a given axis. More...
 
class  CPPTopKV
 Basic function to run CPPTopKVKernel. More...
 
class  CPPTopKVKernel
 CPP kernel to perform tensor TopKV operation. More...
 
class  CPPUpsample
 Basic function to run CPPUpsample. More...
 
class  CPPUpsampleKernel
 CPP kernel to perform tensor upsample. More...
 
class  CPUInfo
 
class  CpuMatMulSettings
 Settings for MatMul Cpu implementation. More...
 
class  DetectionOutputLayerInfo
 Detection Output layer info. More...
 
class  DetectionPostProcessLayerInfo
 Detection Output layer info. More...
 
struct  DetectionWindow
 Detection window used for the object detection. More...
 
class  Dimensions
 Dimensions with dimensionality. More...
 
struct  DirectConvComputeKernelInfo
 Compute descriptor used by the direct convolution kernel. More...
 
struct  DirectConvolutionLayerOutputStageKernelInfo
 Descriptor used by the direct convolution layer output stage kernels. More...
 
struct  DWCComputeKernelInfo
 Compute descriptor used by the depthwise convolution native kernel. More...
 
struct  enable_bitwise_ops
 Disable bitwise operations by default. More...
 
struct  enable_bitwise_ops< arm_compute::GPUTarget >
 Enable bitwise operations on GPUTarget enumerations. More...
 
struct  FFT1DInfo
 Descriptor used by the FFT1D function. More...
 
struct  FFT2DInfo
 Descriptor used by the FFT2D function. More...
 
struct  FFTDigitReverseKernelInfo
 Descriptor for FFT digit reverse kernels. More...
 
struct  FFTRadixStageKernelInfo
 Descriptor used by the FFT core kernels. More...
 
struct  FFTScaleKernelInfo
 Descriptor for FFT scale kernels. More...
 
struct  FullyConnectedLayerInfo
 Fully connected layer info. More...
 
class  GEMMInfo
 GEMM information class. More...
 
struct  GEMMKernelInfo
 Descriptor used by the GEMM kernels. More...
 
struct  GEMMLHSMatrixInfo
 GEMM LHS (Left Hand Side) matrix information. More...
 
struct  GEMMLowpOutputStageInfo
 GEMMLowp output stage info. More...
 
struct  GEMMLowpReductionKernelInfo
 
class  GEMMReshapeInfo
 GEMM reshape information class. More...
 
struct  GEMMRHSMatrixInfo
 GEMM RHS (Right Hand Side) matrix information. More...
 
class  GenerateProposalsInfo
 Generate Proposals Information class. More...
 
class  GpuMatMulSettings
 Settings for MatMul OpenCL implementation. More...
 
class  IAccessWindow
 Interface describing methods to update access window and padding based on kernel parameters. More...
 
class  IAllocator
 Allocator interface. More...
 
class  IArray
 Array of type T. More...
 
class  IAssetManager
 Asset manager interface. More...
 
class  ICLArray
 Interface for OpenCL Array. More...
 
class  ICLKernel
 Common interface for all the OpenCL kernels. More...
 
class  ICLMemoryRegion
 OpenCL memory region interface. More...
 
class  ICLSimple2DKernel
 Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output. More...
 
class  ICLSimple3DKernel
 Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output. More...
 
class  ICLSimpleFunction
 Basic interface for functions which have a single OpenCL kernel. More...
 
class  ICLSimpleKernel
 Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output. More...
 
class  ICLSVMMemoryRegion
 OpenCL SVM memory region interface. More...
 
class  ICLTensor
 Interface for OpenCL tensor. More...
 
class  ICLTuner
 Basic interface for tuning the OpenCL kernels. More...
 
class  IContext
 Context interface. More...
 
class  ICPPKernel
 Common interface for all kernels implemented in C++. More...
 
class  ICPPSimpleFunction
 Basic interface for functions which have a single CPP kernel. More...
 
class  IDevice
 Interface for device object. More...
 
class  IFunction
 Base class for all functions. More...
 
class  IKernel
 Common information for all the kernels. More...
 
class  ILifetimeManager
 Interface for managing the lifetime of objects. More...
 
class  IMemory
 Memory interface. More...
 
class  IMemoryGroup
 Memory group interface. More...
 
class  IMemoryManageable
 Interface of an object than can be memory managed. More...
 
class  IMemoryManager
 Memory manager interface to handle allocations of backing memory. More...
 
class  IMemoryPool
 Memory Pool Inteface. More...
 
class  IMemoryRegion
 Memory region interface. More...
 
class  INESimpleFunction
 Basic interface for functions which have a single CPU kernel. More...
 
class  INESimpleFunctionNoBorder
 Basic interface for functions which have a single CPU kernel and no border. More...
 
struct  InstanceNormalizationLayerKernelInfo
 
struct  IOFormatInfo
 IO formatting information class. More...
 
class  IOperator
 Base class specifying the operator interface. More...
 
class  IPoolManager
 Memory pool manager interface. More...
 
class  IQueue
 Base class specifying the queue interface. More...
 
class  IRuntimeContext
 Context interface. More...
 
class  IScheduler
 Scheduler interface to run kernels. More...
 
class  ISimpleLifetimeManager
 Abstract class of the simple lifetime manager interface. More...
 
class  ITensor
 Interface for CPU tensor. More...
 
class  ITensorAllocator
 Interface to allocate tensors. More...
 
class  ITensorInfo
 Store the tensor's metadata. More...
 
class  ITensorPack
 Tensor packing service. More...
 
class  ITensorV2
 Base class specifying the tensor interface. More...
 
class  Iterator
 Iterator updated by execute_window_loop for each window element. More...
 
class  ITransformWeights
 Weights tensor transform interface In order to identify the different reshape functions, each reshape function has to generate a unique id. More...
 
class  IWeightsManager
 Weights manager interface to handle weights transformations. More...
 
class  Kernel
 Kernel class. More...
 
class  LSTMParams
 
class  MatMulInfo
 Class for holding information related to matrix multiplication function. More...
 
struct  MatMulKernelInfo
 
class  Memory
 CPU implementation of memory object. More...
 
class  MemoryGroup
 Memory group. More...
 
class  MemoryGroupResourceScope
 Memory group resources scope handling class. More...
 
class  MemoryManagerOnDemand
 On-demand memory manager. More...
 
class  MemoryRegion
 Memory region CPU implementation. More...
 
struct  MinMaxLocationValues
 Min and max values and locations. More...
 
class  NEActivationLayer
 Basic function to run cpu::kernels::CpuActivationKernel. More...
 
class  NEAddMulAdd
 Function to compute Add+Mul+Add fused operation. More...
 
class  NEArgMinMaxLayer
 Function to calculate the index of the minimum or maximum values in a tensor based on an axis. More...
 
class  NEArithmeticAddition
 Basic function to run cpu::kernels::CpuAddKernel. More...
 
class  NEArithmeticSubtraction
 Basic function to run cpu::kernels::CpuSubKernel. More...
 
class  NEBatchNormalizationLayer
 Basic function to run NENormalizationLayerKernel and simulate a batch normalization layer. More...
 
class  NEBatchNormalizationLayerKernel
 Interface for the batch normalization layer kernel. More...
 
class  NEBatchToSpaceLayer
 Basic function to run NEBatchToSpaceLayerKernel. More...
 
class  NEBatchToSpaceLayerKernel
 Interface for the batch to space kernel. More...
 
class  NEBitwiseAnd
 Basic function to run NEBitwiseAndKernel. More...
 
class  NEBitwiseAndKernel
 Interface for the kernel to perform bitwise AND between XY-planes of two tensors. More...
 
class  NEBitwiseNot
 Basic function to run NEBitwiseNotKernel. More...
 
class  NEBitwiseNotKernel
 Interface for the kernel to perform bitwise NOT operation. More...
 
class  NEBitwiseOr
 Basic function to run NEBitwiseOrKernel. More...
 
class  NEBitwiseOrKernel
 Interface for the kernel to perform bitwise inclusive OR between two tensors. More...
 
class  NEBitwiseXor
 Basic function to run NEBitwiseXorKernel. More...
 
class  NEBitwiseXorKernel
 Interface for the kernel to perform bitwise exclusive OR (XOR) between two tensors. More...
 
class  NEBoundingBoxTransform
 Basic function to run NEBoundingBoxTransformKernel. More...
 
class  NEBoundingBoxTransformKernel
 Interface for the bounding box kernel. More...
 
class  NECast
 Basic function to run cpu::kernels::CpuCastKernel. More...
 
class  NEChannelShuffleLayer
 Basic function to run NEChannelShuffleLayerKernel. More...
 
class  NEChannelShuffleLayerKernel
 Interface for the channel shuffle kernel. More...
 
class  NECol2ImKernel
 Kernel to perform col2im reshaping. More...
 
class  NEComplexPixelWiseMultiplication
 Basic function to run cpu::CpuComplexMul. More...
 
class  NEComputeAllAnchorsKernel
 Interface for Compute All Anchors kernel. More...
 
class  NEConcatenateLayer
 Basic function to execute concatenate tensors along a given axis. More...
 
class  NEConv3D
 Basic function to simulate a 3d convolution. More...
 
class  NEConvertFullyConnectedWeights
 Basic function to run cpu::kernels::CpuConvertFullyConnectedWeightsKernel. More...
 
class  NEConvolutionLayer
 Basic function to simulate a convolution layer. More...
 
class  NECopy
 Basic function to run cpu::kernels::CpuCopyKernel. More...
 
class  NECropKernel
 Interface for the kernel to perform tensor cropping. More...
 
class  NECropResize
 Function to perform cropping and resizing. More...
 
class  NEDeconvolutionLayer
 Function to run the deconvolution layer. More...
 
class  NEDepthConvertLayer
 Basic function to run cpu::kernels::CpuCastKernel. More...
 
class  NEDepthToSpaceLayer
 Basic function to run NEDepthToSpaceLayerKernel. More...
 
class  NEDepthToSpaceLayerKernel
 Interface for the depth to space kernel. More...
 
class  NEDepthwiseConvolutionLayer
 Function to execute a depthwise convolution. More...
 
class  NEDequantizationLayer
 Basic function to run cpu::CpuDequantize that dequantizes an input tensor. More...
 
class  NEDetectionPostProcessLayer
 NE Function to generate the detection output based on center size encoded boxes, class prediction and anchors by doing non maximum suppression. More...
 
class  NEDirectConvolutionLayer
 Function to run the direct convolution. More...
 
class  NEElementwiseComparison
 Basic function to run cpu::kernels::CpuComparisonKernel. More...
 
class  NEElementwiseComparisonStatic
 Basic function to run cpu::kernels::CpuComparisonKernel. More...
 
class  NEElementwiseDivision
 Basic function to run cpu::kernels::CpuArithmeticKernel for division. More...
 
class  NEElementwiseMax
 Basic function to run cpu::kernels::CpuArithmeticKernel for max. More...
 
class  NEElementwiseMin
 Basic function to run cpu::kernels::CpuArithmeticKernel for min. More...
 
class  NEElementwisePower
 Basic function to run cpu::kernels::CpuArithmeticKernel for power. More...
 
class  NEElementwiseSquaredDiff
 Basic function to run cpu::kernels::CpuArithmeticKernel for squared difference. More...
 
class  NEElementwiseUnaryLayer
 Basic function to perform unary elementwise operations. More...
 
class  NEFFT1D
 Basic function to execute one dimensional FFT. More...
 
class  NEFFT2D
 Basic function to execute two dimensional FFT. More...
 
class  NEFFTConvolutionLayer
 Basic function to execute FFT-based convolution on CPU. More...
 
class  NEFFTDigitReverseKernel
 Interface for the digit reverse operation kernel. More...
 
class  NEFFTRadixStageKernel
 Interface for the FFT kernel. More...
 
class  NEFFTScaleKernel
 Interface for the inverse fft scale kernel. More...
 
class  NEFill
 Basic function to run cpu::kernels::CpuFillKernel. More...
 
class  NEFillBorder
 Basic function to run NEFillBorderKernel. More...
 
class  NEFillBorderKernel
 Interface for the kernel to fill borders. More...
 
class  NEFlattenLayer
 Basic function to execute flatten layer kernel. More...
 
class  NEFloor
 Basic function to run cpu::kernels::CpuFloorKernel. More...
 
class  NEFullyConnectedLayer
 Basic function to compute a Fully Connected layer. More...
 
class  NEFuseBatchNormalization
 Basic function to fuse the batch normalization node to a preceding convolution node. More...
 
class  NEFuseBatchNormalizationKernel
 OpenNE kernel to fuse the batch normalization node to a preceding convolution node. More...
 
class  NEGather
 Basic function to run NEGatherKernel. More...
 
class  NEGatherKernel
 Kernel to perform gather operation. More...
 
class  NEGEMM
 Basic function to execute GEMM. More...
 
class  NEGEMMConv2d
 Basic function to compute the convolution layer. More...
 
class  NEGEMMConvolutionLayer
 Basic function to compute the convolution layer. More...
 
class  NEGEMMLowpMatrixMultiplyCore
 Function to run Gemm on quantized types. More...
 
class  NEGEMMLowpOutputStage
 Basic function to execute GEMMLowpQuantizeDown kernels. More...
 
class  NEGenerateProposalsLayer
 Basic function to generate proposals for a RPN (Region Proposal Network) More...
 
class  NEInstanceNormalizationLayer
 Basic function to perform a Instance normalization. More...
 
class  NEInstanceNormalizationLayerKernel
 Interface for performing an instance normalization. More...
 
class  NEL2NormalizeLayer
 Basic function to perform a L2 normalization on a given axis. More...
 
class  NEL2NormalizeLayerKernel
 Interface for performing a L2 normalize on a given axis given the square sum of it in this axis. More...
 
class  NELogicalAnd
 Basic function to perform logical AND. More...
 
class  NELogicalNot
 Basic function to perform logical NOT. More...
 
class  NELogicalOr
 Basic function to perform logical OR. More...
 
class  NELSTMLayer
 Basic function to run NELSTMLayer. More...
 
class  NELSTMLayerQuantized
 Basic function to run NELSTMLayerQuantized. More...
 
class  NEMatMul
 Basic function to run the following operators: More...
 
class  NEMaxUnpoolingLayer
 Function to perform MaxUnpooling. More...
 
class  NEMeanStdDevNormalizationKernel
 Interface for the kernel to normalize the input 2D tensor across the first dimension with respect to mean and standard deviation of the same dimension. More...
 
class  NEMeanStdDevNormalizationLayer
 Basic function to execute mean and standard deviation normalization by calling NEMeanStdDevNormalizationKernel. More...
 
class  NENormalizationLayer
 Basic function to compute a normalization layer. More...
 
class  NENormalizationLayerKernel
 Interface for the normalization layer kernel. More...
 
class  NEPadLayer
 Basic function to pad a tensor. More...
 
class  NEPadLayerKernel
 Basic kernel to pad the input tensor given padding information. More...
 
class  NEPermute
 Basic function to run cpu::kernels::CpuPermuteKernel. More...
 
class  NEPixelWiseMultiplication
 Basic function to run cpu::CpuMul. More...
 
class  NEPooling3dLayer
 Basic function to simulate a pooling 3d layer with the specified pooling operation. More...
 
class  NEPoolingLayer
 Basic function to simulate a pooling layer with the specified pooling operation. More...
 
class  NEPReluLayer
 Basic function to run cpu::kernels::CpuArithmeticKernel for PRELU. More...
 
class  NEPriorBoxLayer
 Basic function to run NEPriorBoxLayerKernel. More...
 
class  NEPriorBoxLayerKernel
 Interface for the kernel to calculate prior boxes. More...
 
class  NEQLSTMLayer
 Basic function to run NEQLSTMLayer. More...
 
class  NEQLSTMLayerNormalizationKernel
 Kernel to perform layer normalization for QLSTM. More...
 
class  NEQuantizationLayer
 Basic function to run a quantization layer using cpu::CpuQuantize. More...
 
class  NERange
 Basic function to run NERangeKernel. More...
 
class  NERangeKernel
 Kernel class for Range. More...
 
class  NEReduceMean
 Basic function to perform reduce operation. More...
 
class  NEReductionOperation
 Basic function to simulate a reduction operation. More...
 
class  NEReductionOperationKernel
 Kernel to perform a reduction operation. More...
 
class  NEReorgLayer
 Basic function to run NEReorgLayerKernel. More...
 
class  NEReorgLayerKernel
 Interface for the kernel to perform tensor re-organization. More...
 
class  NEReshapeLayer
 Basic function to run cpu::kernels::CpuReshapeKernel. More...
 
class  NEReverse
 Basic function to run NEReverseKernel. More...
 
class  NEReverseKernel
 Interface for the reverse layer kernel. More...
 
class  NERNNLayer
 Basic function to run NERNNLayer. More...
 
class  NEROIAlignLayer
 Basic function to run NEROIAlignLayerKernel. More...
 
class  NEROIAlignLayerKernel
 Interface for the RoIAlign kernel. More...
 
class  NEROIPoolingLayer
 Basic function to run NEROIPoolingLayerKernel. More...
 
class  NEROIPoolingLayerKernel
 Interface for the ROI pooling layer kernel. More...
 
class  NEScale
 Basic function to compute Scale. More...
 
class  NESelect
 Basic function to run NESelect. More...
 
class  NESelectKernel
 Interface for the select kernel. More...
 
class  NESlice
 Basic function to perform tensor slicing. More...
 
class  NESoftmaxLayerGeneric
 Basic function to compute a SoftmaxLayer and a Log SoftmaxLayer. More...
 
class  NESpaceToBatchLayer
 Basic function to spatial divide a tensor. More...
 
class  NESpaceToBatchLayerKernel
 Interface for the space to batch kernel. More...
 
class  NESpaceToDepthLayer
 Basic function to run NESpaceToDepthLayerKernel. More...
 
class  NESpaceToDepthLayerKernel
 Interface for the space to depth kernel. More...
 
class  NESplit
 Basic function to split a tensor along a given axis. More...
 
class  NEStackLayer
 Basic function to stack tensors along an axis. More...
 
class  NEStackLayerKernel
 Basic kernel to stack a rank-R tensor into one with rank-(R+1) along the axis dimension. More...
 
class  NEStridedSlice
 Basic function to run NEStridedSliceKernel. More...
 
class  NEStridedSliceKernel
 Interface for the kernel to perform tensor strided slicing. More...
 
class  NETile
 Basic function to run NETileKernel. More...
 
class  NETileKernel
 Basic kernel to perform a tile operation. More...
 
class  NETranspose
 Basic function to run cpu::kernels::CpuTransposeKernel. More...
 
class  NEUnstack
 Basic function to unpack a rank-R tensor into rank-(R-1) tensors. More...
 
class  NEWinogradConvolutionLayer
 Basic function to simulate a convolution layer. More...
 
class  NormalizationLayerInfo
 Normalization Layer Information class. More...
 
class  OffsetLifetimeManager
 Concrete class that tracks the lifetime of registered tensors and calculates the systems memory requirements in terms of a single blob and a list of offsets. More...
 
class  OffsetMemoryPool
 Offset based memory pool. More...
 
class  OMPScheduler
 Pool of threads to automatically split a kernel's execution among several threads. More...
 
struct  Padding2D
 Padding information for 2D operations like Conv2d. More...
 
struct  Padding3D
 Padding information for 3D operations like Conv3d. More...
 
class  PadStrideInfo
 Padding and stride information class. More...
 
class  PixelValue
 Class describing the value of a pixel for any image format. More...
 
struct  Pooling3dLayerInfo
 Pooling Layer Information struct. More...
 
struct  PoolingLayerInfo
 Pooling Layer Information struct. More...
 
class  PoolManager
 Memory pool manager. More...
 
class  PriorBoxLayerInfo
 PriorBox layer info. More...
 
class  Program
 Program class. More...
 
struct  Qasymm8QuantizationHelper
 
class  QuantizationInfo
 Quantization information. More...
 
struct  Rectangle
 Rectangle type. More...
 
class  ROIPoolingLayerInfo
 ROI Pooling Layer Information class. More...
 
class  RuntimeContext
 Runtime context. More...
 
struct  ScaleKernelInfo
 
class  Scheduler
 Configurable scheduler which supports multiple multithreading APIs and choosing between different schedulers at runtime. More...
 
class  SchedulerFactory
 Scheduler Factory. More...
 
class  Semaphore
 Semamphore class. More...
 
class  SingleThreadScheduler
 Pool of threads to automatically split a kernel's execution among several threads. More...
 
class  Size2D
 Class for specifying the size of an image or rectangle. More...
 
class  Size3D
 Class for specifying the size of a 3D shape or object. More...
 
struct  SoftmaxKernelInfo
 Descriptor used by the softmax kernels. More...
 
class  Status
 Status class. More...
 
class  Steps
 Class to describe a number of elements in each dimension. More...
 
class  StridedSliceLayerInfo
 
class  Strides
 Strides of an item in bytes. More...
 
class  SubTensor
 Basic implementation of the sub-tensor interface. More...
 
class  SubTensorInfo
 Store the sub tensor's metadata. More...
 
class  Tensor
 Basic implementation of the tensor interface. More...
 
class  TensorAccessor
 Tensor accessors to make it easier to interface with arm_gemm. More...
 
class  TensorAllocator
 Basic implementation of a CPU memory tensor allocator. More...
 
class  TensorInfo
 Store the tensor's metadata. More...
 
class  TensorPack
 Tensor packing service. More...
 
class  TensorShape
 Shape of a tensor. More...
 
struct  ThreadInfo
 Information about executing thread and CPU. More...
 
struct  UniformQuantizationInfo
 Quantization info when assuming per layer quantization. More...
 
struct  ValidRegion
 Container for valid region of a window. More...
 
class  WeightsInfo
 Convolution Layer Weights Information class. More...
 
class  Window
 Describe a multidimensional execution window. More...
 
class  WindowIterator
 Iterate over a portion of a Window. More...
 
struct  WinogradInfo
 Winograd information. More...
 
struct  WorkspaceDataElement
 

Typedefs

using ICLUInt8Array = ICLArray< cl_uchar >
 Interface for OpenCL Array of uint8s. More...
 
using ICLUInt16Array = ICLArray< cl_ushort >
 Interface for OpenCL Array of uint16s. More...
 
using ICLUInt32Array = ICLArray< cl_uint >
 Interface for OpenCL Array of uint32s. More...
 
using ICLInt16Array = ICLArray< cl_short >
 Interface for OpenCL Array of int16s. More...
 
using ICLInt32Array = ICLArray< cl_int >
 Interface for OpenCL Array of int32s. More...
 
using ICLFloatArray = ICLArray< cl_float >
 Interface for OpenCL Array of floats. More...
 
using ICLImage = ICLTensor
 
using IUInt8Array = IArray< uint8_t >
 Interface for Array of uint8s. More...
 
using IUInt16Array = IArray< uint16_t >
 Interface for Array of uint16s. More...
 
using IUInt32Array = IArray< uint32_t >
 Interface for Array of uint32s. More...
 
using IInt16Array = IArray< int16_t >
 Interface for Array of int16s. More...
 
using IInt32Array = IArray< int32_t >
 Interface for Array of int32s. More...
 
using IFloatArray = IArray< float >
 Interface for Array of floats. More...
 
using IImage = ITensor
 
using qasymm8_signed_t = int8_t
 8 bit signed quantized asymmetric scalar value More...
 
using qasymm8_t = uint8_t
 8 bit quantized asymmetric scalar value More...
 
using qsymm16_t = int16_t
 16 bit quantized symmetric scalar value More...
 
using qasymm16_t = uint16_t
 16 bit quantized asymmetric scalar value More...
 
using half = half_float::half
 16-bit floating point type More...
 
using PermutationVector = Strides
 Permutation vector. More...
 
using BiStrides = Coordinates
 Bidirectional strides. More...
 
using PaddingSize = BorderSize
 Container for 2D padding size. More...
 
using PaddingInfo = std::pair< uint32_t, uint32_t >
 Padding information as a pair of unsigned int start/end. More...
 
using PaddingList = std::vector< PaddingInfo >
 List of padding information. More...
 
using Multiples = std::vector< uint32_t >
 Information to produce a tiled version of a Tensor. More...
 
using BBox = std::array< float, 4 >
 
using LabelBBox = std::map< int, std::vector< BBox > >
 
using CropInfo = Padding2D
 Class for holding information related to cropping. More...
 
using UInt8Array = Array< uint8_t >
 Array of uint8s. More...
 
using UInt16Array = Array< uint16_t >
 Array of uint16s. More...
 
using UInt32Array = Array< uint32_t >
 Array of uint32s. More...
 
using Int16Array = Array< int16_t >
 Array of int16s. More...
 
using Int32Array = Array< int32_t >
 Array of int32s. More...
 
using FloatArray = Array< float >
 Array of floats. More...
 
using CLUInt8Array = CLArray< cl_uchar >
 OpenCL Array of uint8s. More...
 
using CLUInt16Array = CLArray< cl_ushort >
 OpenCL Array of uint16s. More...
 
using CLUInt32Array = CLArray< cl_uint >
 OpenCL Array of uint32s. More...
 
using CLInt16Array = CLArray< cl_short >
 OpenCL Array of int16s. More...
 
using CLInt32Array = CLArray< cl_int >
 OpenCL Array of int32s. More...
 
using CLFloatArray = CLArray< cl_float >
 OpenCL Array of floats. More...
 
using CLImage = CLTensor
 OpenCL Image. More...
 
using CLEqual = CLComparisonStatic< ComparisonOperation::Equal >
 Basic function to run equal comparison. More...
 
using CLNotEqual = CLComparisonStatic< ComparisonOperation::NotEqual >
 Basic function to run not equal comparison. More...
 
using CLGreater = CLComparisonStatic< ComparisonOperation::Greater >
 Basic function to run greater comparison. More...
 
using CLGreaterEqual = CLComparisonStatic< ComparisonOperation::GreaterEqual >
 Basic function to run greater-equal comparison. More...
 
using CLLess = CLComparisonStatic< ComparisonOperation::Less >
 Basic function to run less comparison. More...
 
using CLLessEqual = CLComparisonStatic< ComparisonOperation::LessEqual >
 Basic function to run less-equal comparison. More...
 
using CLSoftmaxLayer = CLSoftmaxLayerGeneric< false >
 
using CLLogSoftmaxLayer = CLSoftmaxLayerGeneric< true >
 
using NEEqual = NEElementwiseComparisonStatic< ComparisonOperation::Equal >
 Basic function to run equal comparison. More...
 
using NENotEqual = NEElementwiseComparisonStatic< ComparisonOperation::NotEqual >
 Basic function to run not equal comparison. More...
 
using NEGreater = NEElementwiseComparisonStatic< ComparisonOperation::Greater >
 Basic function to run greater comparison. More...
 
using NEGreaterEqual = NEElementwiseComparisonStatic< ComparisonOperation::GreaterEqual >
 Basic function to run greater-equal comparison. More...
 
using NELess = NEElementwiseComparisonStatic< ComparisonOperation::Less >
 Basic function to run less comparison. More...
 
using NELessEqual = NEElementwiseComparisonStatic< ComparisonOperation::LessEqual >
 Basic function to run less-equal comparison. More...
 
using NERsqrtLayer = NEElementwiseUnaryLayer< ElementWiseUnary::RSQRT >
 
using NEExpLayer = NEElementwiseUnaryLayer< ElementWiseUnary::EXP >
 
using NENegLayer = NEElementwiseUnaryLayer< ElementWiseUnary::NEG >
 
using NELogLayer = NEElementwiseUnaryLayer< ElementWiseUnary::LOG >
 
using NEAbsLayer = NEElementwiseUnaryLayer< ElementWiseUnary::ABS >
 
using NERoundLayer = NEElementwiseUnaryLayer< ElementWiseUnary::ROUND >
 
using NESinLayer = NEElementwiseUnaryLayer< ElementWiseUnary::SIN >
 
using NESoftmaxLayer = NESoftmaxLayerGeneric< false >
 
using NELogSoftmaxLayer = NESoftmaxLayerGeneric< true >
 
using INEKernel = ICPPKernel
 Common interface for all kernels implemented in Neon. More...
 
using NEScheduler = Scheduler
 CPU Scheduler. More...
 
using Image = Tensor
 Image. More...
 
using MemoryMappings = std::map< IMemory *, size_t >
 A map of (handle, index/offset), where handle is the memory handle of the object to provide the memory for and index/offset is the buffer/offset from the pool that should be used. More...
 
using GroupMappings = std::map< size_t, MemoryMappings >
 A map of the groups and memory mappings. More...
 
using MemoryRequirements = experimental::MemoryRequirements
 
template<typename TensorType >
using WorkspaceData = std::vector< WorkspaceDataElement< TensorType > >
 
using qasymm8x8_t = uint8x8_t
 8 bit quantized asymmetric vector with 8 elements More...
 
using qasymm8x8x2_t = uint8x8x2_t
 8 bit quantized asymmetric vector with 16 elements More...
 
using qasymm8x8x3_t = uint8x8x3_t
 8 bit quantized asymmetric vector with 24 elements More...
 
using qasymm8x8x4_t = uint8x8x4_t
 8 bit quantized asymmetric vector with 32 elements More...
 
using qasymm8x16_t = uint8x16_t
 8 bit quantized asymmetric vector with 16 elements More...
 
using qasymm8x8_signed_t = int8x8_t
 8 bit quantized signed asymmetric vector with 8 elements More...
 
using qasymm8x8x2_signed_t = int8x8x2_t
 8 bit quantized signed asymmetric vector with 16 elements More...
 
using qasymm8x8x3_signed_t = int8x8x3_t
 8 bit quantized signed asymmetric vector with 24 elements More...
 
using qasymm8x8x4_signed_t = int8x8x4_t
 8 bit quantized signed asymmetric vector with 32 elements More...
 
using qasymm8x16_signed_t = int8x16_t
 8 bit quantized signed asymmetric vector with 16 elements More...
 
using qsymm8_t = int8_t
 8 bit quantized symmetric scalar value More...
 
using qsymm16x8_t = int16x8_t
 16 bit quantized symmetric vector with 8 elements More...
 
using qsymm16x8x2_t = int16x8x2_t
 16 bit quantized symmetric vector with 16 elements More...
 
using OperatorType = opencl::ClGemm
 
using Mutex = std::mutex
 Wrapper of Mutex data-object. More...
 
template<typename Mutex >
using lock_guard = std::lock_guard< Mutex >
 Wrapper of lock_guard data-object. More...
 
template<typename Mutex >
using unique_lock = std::unique_lock< Mutex >
 Wrapper of lock_guard data-object. More...
 

Enumerations

enum  CLVersion {
  CL10, CL11, CL12, CL20,
  CL30, UNKNOWN
}
 Available OpenCL Version. More...
 
enum  CLKernelType {
  UNKNOWN, UNKNOWN, DEPTHWISE, DIRECT,
  ELEMENTWISE, GEMM, POOL, WINOGRAD
}
 
enum  CPUModel {
  X, GENERIC, GENERIC_FP16, GENERIC_FP16_DOT,
  A53, A55r0, A55r1, A35,
  A73, A76, A510, X1,
  V1, A64FX, N1
}
 CPU models types. More...
 
enum  ErrorCode { OK, RUNTIME_ERROR, UNSUPPORTED_EXTENSION_USE }
 Available error codes. More...
 
enum  TensorType : int32_t {
  ACL_UNKNOWN = -1, ACL_SRC_DST = 0, ACL_SRC = 0, ACL_SRC_0 = 0,
  ACL_SRC_1 = 1, ACL_SRC_2 = 2, ACL_SRC_3 = 3, ACL_SRC_4 = 4,
  ACL_SRC_5 = 5, ACL_SRC_6 = 6, ACL_SRC_END = 6, ACL_DST = 30,
  ACL_DST_0 = 30, ACL_DST_1 = 31, ACL_DST_2 = 32, ACL_DST_END = 32,
  ACL_INT = 50, ACL_INT_0 = 50, ACL_INT_1 = 51, ACL_INT_2 = 52,
  ACL_INT_3 = 53, ACL_INT_4 = 54, ACL_SRC_VEC = 256, ACL_DST_VEC = 512,
  ACL_INT_VEC = 1024, ACL_BIAS = ACL_SRC_2, ACL_VEC_ROW_SUM = ACL_SRC_3, ACL_VEC_COL_SUM = ACL_SRC_4,
  ACL_SHIFTS = ACL_SRC_5, ACL_MULTIPLIERS = ACL_SRC_6, EXPERIMENTAL_ACL_POST_OP_ARG = 2048, EXPERIMENTAL_ACL_POST_OP_ARG_FIRST = EXPERIMENTAL_ACL_POST_OP_ARG,
  EXPERIMENTAL_ACL_POST_OP_ARG_LAST = EXPERIMENTAL_ACL_POST_OP_ARG_FIRST + 1024
}
 Memory type. More...
 
enum  GPUTarget {
  UNKNOWN = 0x101, GPU_ARCH_MASK = 0xF00, GPU_GENERATION_MASK = 0x0F0, MIDGARD = 0x100,
  BIFROST = 0x200, VALHALL = 0x300, T600 = 0x110, T700 = 0x120,
  T800 = 0x130, G71 = 0x210, G72 = 0x220, G51 = 0x221,
  G51BIG = 0x222, G51LIT = 0x223, G31 = 0x224, G76 = 0x230,
  G52 = 0x231, G52LIT = 0x232, G77 = 0x310, G57 = 0x311,
  G78 = 0x320, G68 = 0x321, G78AE = 0x330, G710 = 0x340,
  G610 = 0x341, G510 = 0x342, G310 = 0x343, G715 = 0x350,
  G615 = 0x351
}
 Available GPU Targets. More...
 
enum  DeviceType { NEON, CL }
 Device types. More...
 
enum  RoundingPolicy { TO_ZERO, TO_NEAREST_UP, TO_NEAREST_EVEN }
 Rounding method. More...
 
enum  Format {
  UNKNOWN, U8, S16, U16,
  S32, U32, BFLOAT16, F16,
  F32, UV88, RGB888, RGBA8888,
  YUV444, YUYV422, NV12, NV21,
  IYUV, UYVY422
}
 Image colour formats. More...
 
enum  DataType {
  UNKNOWN, U8, S8, QSYMM8,
  QASYMM8, QASYMM8_SIGNED, QSYMM8_PER_CHANNEL, U16,
  S16, QSYMM16, QASYMM16, U32,
  S32, U64, S64, BFLOAT16,
  F16, F32, F64, SIZET
}
 Available data types. More...
 
enum  SamplingPolicy { CENTER, TOP_LEFT }
 Available Sampling Policies. More...
 
enum  DataLayout {
  UNKNOWN, NCHW, NHWC, NCDHW,
  NDHWC
}
 [DataLayout enum definition] More...
 
enum  DataLayoutDimension {
  CHANNEL, HEIGHT, WIDTH, DEPTH,
  BATCHES
}
 [DataLayout enum definition] More...
 
enum  ConvolutionMethod {
  GEMM, GEMM_CONV2D, DIRECT, INDIRECT,
  WINOGRAD, FFT
}
 Available ConvolutionMethod. More...
 
enum  DepthwiseConvolutionFunction { OPTIMIZED, GENERIC }
 Available DepthwiseConvolutionFunction. More...
 
enum  DeconvolutionMethod { GEMM, DIRECT, UPSCALE_CONV2D }
 Available DeconvolutionMethod. More...
 
enum  FuseBatchNormalizationType { CONVOLUTION, DEPTHWISECONVOLUTION }
 Available FuseBatchNormalizationType. More...
 
enum  PaddingMode { CONSTANT, REFLECT, SYMMETRIC }
 Padding mode to use for PadLayer. More...
 
enum  ComparisonOperation {
  Equal, NotEqual, Greater, GreaterEqual,
  Less, LessEqual
}
 Supported comparison operations. More...
 
enum  BorderMode { UNDEFINED, CONSTANT, REPLICATE }
 Methods available to handle borders. More...
 
enum  ConvertPolicy { WRAP, SATURATE }
 Policy to handle integer overflow. More...
 
enum  InterpolationPolicy { NEAREST_NEIGHBOR, BILINEAR, AREA }
 Interpolation method. More...
 
enum  BilinearInterpolation { BILINEAR_OLD_NEW, BILINEAR_SCHARR }
 Bilinear Interpolation method used by LKTracker. More...
 
enum  Channel {
  UNKNOWN, C0, C1, C2,
  C3, R, G, B,
  A, Y, U, V
}
 Available channels. More...
 
enum  ReductionOperation {
  ARG_IDX_MAX, ARG_IDX_MIN, MEAN_SUM, PROD,
  SUM_SQUARE, SUM, MIN, MAX
}
 Available reduction operations. More...
 
enum  ArithmeticOperation {
  ADD, SUB, DIV, MIN,
  MAX, SQUARED_DIFF, POWER, PRELU
}
 Available element-wise operations. More...
 
enum  ElementWiseUnary {
  RSQRT, EXP, NEG, LOG,
  ABS, SIN, ROUND, LOGICAL_NOT
}
 Available element wise unary operations. More...
 
enum  BitwiseOperation { AND, NOT, OR, XOR }
 Available bitwise operations. More...
 
enum  NormType { IN_MAP_1D, IN_MAP_2D, CROSS_MAP }
 The normalization type used for the normalization layer. More...
 
enum  DimensionRoundingType { FLOOR, CEIL }
 Dimension rounding type when down-scaling on CNNs. More...
 
enum  PoolingType { MAX, AVG, L2 }
 Available pooling types. More...
 
enum  NMSType { LINEAR, GAUSSIAN, ORIGINAL }
 Available non maxima suppression types. More...
 
enum  DetectionOutputLayerCodeType { CORNER, CENTER_SIZE, CORNER_SIZE, TF_CENTER }
 Available Detection Output code types. More...
 
enum  WeightFormat {
  UNSPECIFIED = 0x1, ANY = 0x2, OHWI = 0x100100, OHWIo2 = 0x100200,
  OHWIo4 = 0x100400, OHWIo8 = 0x100800, OHWIo16 = 0x101000, OHWIo32 = 0x102000,
  OHWIo64 = 0x104000, OHWIo128 = 0x108000, OHWIo4i2 = 0x200400, OHWIo4i2_bf16 = 0x200410,
  OHWIo8i2 = 0x200800, OHWIo8i2_bf16 = 0x200810, OHWIo16i2 = 0x201000, OHWIo16i2_bf16 = 0x201010,
  OHWIo32i2 = 0x202000, OHWIo32i2_bf16 = 0x202010, OHWIo64i2 = 0x204000, OHWIo64i2_bf16 = 0x204010,
  OHWIo4i4 = 0x400400, OHWIo4i4_bf16 = 0x400410, OHWIo8i4 = 0x400800, OHWIo8i4_bf16 = 0x400810,
  OHWIo16i4 = 0x401000, OHWIo16i4_bf16 = 0x401010, OHWIo32i4 = 0x402000, OHWIo32i4_bf16 = 0x402010,
  OHWIo64i4 = 0x404000, OHWIo64i4_bf16 = 0x404010, OHWIo2i8 = 0x800200, OHWIo4i8 = 0x800400,
  OHWIo8i8 = 0x800800, OHWIo16i8 = 0x801000, OHWIo32i8 = 0x802000, OHWIo64i8 = 0x804000
}
 Memory layouts for the weights tensor. More...
 
enum  GEMMLowpOutputStageType { NONE, QUANTIZE_DOWN, QUANTIZE_DOWN_FIXEDPOINT, QUANTIZE_DOWN_FLOAT }
 GEMMLowp output stage type. More...
 
enum  CLTunerMode { EXHAUSTIVE, NORMAL, RAPID }
 < OpenCL tuner modes More...
 
enum  CLGEMMKernelType { NATIVE, RESHAPED, RESHAPED_ONLY_RHS, RESHAPED_ONLY_RHS_MMUL }
 OpenCL GEMM kernel types. More...
 
enum  CLBackendType { Native, Clvk }
 List the possible OpenCL backends. More...
 
enum  FFTDirection { Forward, Inverse }
 FFT direction to use. More...
 
enum  MappingType { BLOBS, OFFSETS }
 Mapping type. More...
 
enum  StatusCode {
  Success = AclSuccess, RuntimeError = AclRuntimeError, OutOfMemory = AclOutOfMemory, Unimplemented = AclUnimplemented,
  UnsupportedTarget = AclUnsupportedTarget, InvalidTarget = AclInvalidTarget, InvalidArgument = AclInvalidArgument, UnsupportedConfig = AclUnsupportedConfig,
  InvalidObjectState = AclInvalidObjectState
}
 
enum  Target { Cpu = AclTarget::AclCpu, GpuOcl = AclTarget::AclGpuOcl }
 
enum  ExecutionMode { FastRerun = AclPreferFastRerun, FastStart = AclPreferFastStart }
 
enum  ImportMemoryType { HostPtr = AclImportMemoryType::AclHostPtr }
 
enum  CLImage2DType { ReadOnly, WriteOnly }
 OpenCL Image2D types. More...
 
enum  LogicalOperation { Unknown, And, Or, Not }
 List of supported logical operations. More...
 

Functions

std::string get_cl_type_from_data_type (const DataType &dt)
 Translates a tensor data type to the appropriate OpenCL type. More...
 
std::string get_cl_promoted_type_from_data_type (const DataType &dt)
 Translates a tensor data type to the appropriate OpenCL promoted type. More...
 
std::string get_cl_unsigned_type_from_element_size (size_t element_size)
 Translates the element size to an unsigned integer data type. More...
 
std::string get_cl_signed_type_from_element_size (size_t element_size)
 Translates the element size to an signed integer data type. More...
 
std::string get_cl_select_type_from_data_type (const DataType &dt)
 Translates a tensor data type to the appropriate OpenCL select type. More...
 
std::string get_cl_dot8_acc_type_from_data_type (const DataType &dt)
 Translates a tensor data type to the appropriate OpenCL dot8 accumulator type. More...
 
std::string get_data_size_from_data_type (const DataType &dt)
 Get the size of a data type in number of bits. More...
 
GPUTarget get_target_from_device (const cl::Device &device)
 Helper function to get the GPU target from CL device. More...
 
CLVersion get_cl_version (const cl::Device &device)
 Helper function to get the highest OpenCL version supported. More...
 
size_t get_cl_image_pitch_alignment (const cl::Device &device)
 Helper function to get the cl_image pitch alignment in pixels. More...
 
bool get_cl_non_uniform_work_group_supported (const cl::Device &device)
 Helper function to check whether non-uniform work group is supported. More...
 
bool device_supports_extension (const cl::Device &device, const char *extension_name)
 Helper function to check whether a given extension is supported. More...
 
bool fp16_supported (const cl::Device &device)
 Helper function to check whether the cl_khr_fp16 extension is supported. More...
 
bool arm_non_uniform_workgroup_supported (const cl::Device &device)
 Helper function to check whether the arm_non_uniform_work_group_size extension is supported. More...
 
bool dot8_supported (const cl::Device &device)
 Helper function to check whether the cl_arm_integer_dot_product_int8 extension is supported. More...
 
bool dot8_acc_supported (const cl::Device &device)
 Helper function to check whether the cl_arm_integer_dot_product_accumulate_int8 extension is supported. More...
 
bool cl_winograd_convolution_layer_supported (const Size2D &output_tile, const Size2D &kernel_size, DataLayout data_layout)
 This function checks if the Winograd configuration (defined through the output tile, kernel size and the data layout) is supported on OpenCL. More...
 
size_t preferred_vector_width (const cl::Device &device, DataType dt)
 Helper function to get the preferred native vector width size for built-in scalar types that can be put into vectors. More...
 
bool preferred_dummy_work_items_support (const cl::Device &device)
 Helper function to check if "dummy work-items" are preferred to have a power of two NDRange In case dummy work-items is enabled, it is OpenCL kernel responsibility to check if the work-item is out-of range or not. More...
 
bool image2d_from_buffer_supported (const cl::Device &device)
 Helper function to check whether the cl_khr_image2d_from_buffer extension is supported. More...
 
cl::Kernel create_kernel (const CLCompileContext &ctx, const std::string &kernel_name, const std::set< std::string > &build_opts=std::set< std::string >())
 Creates an opencl kernel using a compile context. More...
 
cl::NDRange create_lws_hint_parallel_implementations (unsigned int input_dimension, unsigned int vector_size)
 Creates a suitable LWS hint object for parallel implementations. More...
 
bool get_wbsm_support_info (const cl::Device &device)
 
void set_wbsm (cl::Kernel &kernel, cl_int wbsm_hint)
 
bool export_to_cl_image (const ITensorInfo *tensor)
 
void set_unroll_with_pragma (CLBuildOptions &built_opts, std::initializer_list< int > values)
 
bool arm_matrix_multiply_supported (const cl::Device &device)
 Helper function to check whether the cl_arm_matrix_multiply extension is supported. More...
 
bool opencl_is_available ()
 Check if OpenCL is available. More...
 
template<typename T >
bool operator== (const Dimensions< T > &lhs, const Dimensions< T > &rhs)
 Check that given dimensions are equal. More...
 
template<typename T >
bool operator!= (const Dimensions< T > &lhs, const Dimensions< T > &rhs)
 Check that given dimensions are not equal. More...
 
template<typename... T>
void ignore_unused (T &&...)
 Ignores unused arguments. More...
 
Status create_error (ErrorCode error_code, std::string msg)
 Creates an error containing the error message. More...
 
Status create_error_msg (ErrorCode error_code, const char *func, const char *file, int line, const char *msg)
 Creates an error and the error message. More...
 
void throw_error (Status err)
 Throw an std::runtime_error. More...
 
const std::string & string_from_target (GPUTarget target)
 Translates a given gpu device target to string. More...
 
GPUTarget get_target_from_name (const std::string &device_name)
 Helper function to get the GPU target from a device name. More...
 
GPUTarget get_arch_from_target (GPUTarget target)
 Helper function to get the GPU arch. More...
 
template<typename... Args>
bool gpu_target_is_in (GPUTarget target_to_check, GPUTarget target, Args... targets)
 Helper function to check whether a gpu target is equal to the provided targets. More...
 
bool gpu_target_is_in (GPUTarget target_to_check, GPUTarget target)
 Variant of gpu_target_is_in for comparing two targets. More...
 
template<typename L , typename... Ts>
void execute_window_loop (const Window &w, L &&lambda_function, Ts &&... iterators)
 Iterate through the passed window, automatically adjusting the iterators and calling the lambda_functino for each element. More...
 
template<typename T >
void permute (Dimensions< T > &dimensions, const PermutationVector &perm)
 Permutes given Dimensions according to a permutation vector. More...
 
void permute (TensorShape &shape, const PermutationVector &perm)
 Permutes given TensorShape according to a permutation vector. More...
 
ValidRegion calculate_valid_region_scale (const ITensorInfo &src_info, const TensorShape &dst_shape, InterpolationPolicy interpolate_policy, SamplingPolicy sampling_policy, bool border_undefined)
 Helper function to calculate the Valid Region for Scale. More...
 
Coordinates index2coords (const TensorShape &shape, int index)
 Convert a linear index into n-dimensional coordinates. More...
 
int coords2index (const TensorShape &shape, const Coordinates &coord)
 Convert n-dimensional coordinates into a linear index. More...
 
const std::map< DataLayout, std::vector< DataLayoutDimension > > & get_layout_map ()
 Returns a static map used to find an index or dimension based on a data layout. More...
 
size_t get_data_layout_dimension_index (const DataLayout &data_layout, const DataLayoutDimension &data_layout_dimension)
 Get the index of the given dimension. More...
 
DataLayoutDimension get_index_data_layout_dimension (const DataLayout &data_layout, const size_t index)
 Get the DataLayoutDimension of a given index and layout. More...
 
Size2D compute_winograd_convolution_tiles (const Size2D &in_dims, const Size2D &kernel_size, const Size2D &output_tile_size, const PadStrideInfo &conv_info)
 Calculate the number of output tiles required by Winograd Convolution layer. More...
 
template<typename T >
wrap_around (T x, T m)
 Wrap-around a number within the range 0 <= x < m. More...
 
Coordinatesconvert_negative_axis (Coordinates &coords, int max_value)
 Convert negative coordinates to positive in the range [0, num_dims_input]. More...
 
int adjust_down (int required, int available, int step)
 Decrease required in steps of step until it's less than available. More...
 
int adjust_up (int required, int available, int step)
 Increase required in steps of step until it's greater than available. More...
 
bool operator== (const QuantizationInfo &lhs, const QuantizationInfo &rhs)
 Check whether two quantization info are equal. More...
 
bool operator!= (const QuantizationInfo &lhs, const QuantizationInfo &rhs)
 Check whether two quantization info are not equal. More...
 
bool operator== (const UniformQuantizationInfo &lhs, const UniformQuantizationInfo &rhs)
 Check whether two quantization info are equal. More...
 
bool operator!= (const UniformQuantizationInfo &lhs, const UniformQuantizationInfo &rhs)
 Check whether two quantization info are not equal. More...
 
template<typename INFO_TYPE >
uint8_t quantize_qasymm8 (float value, const INFO_TYPE &qinfo, RoundingPolicy rounding_policy=RoundingPolicy::TO_NEAREST_UP)
 Quantize a value given an unsigned 8-bit asymmetric quantization scheme. More...
 
template<typename INFO_TYPE >
int8_t quantize_qasymm8_signed (float value, const INFO_TYPE &qinfo, RoundingPolicy rounding_policy=RoundingPolicy::TO_NEAREST_UP)
 Quantize a value given a signed 8-bit asymmetric quantization scheme. More...
 
int8_t quantize_qsymm8 (float value, const QuantizationInfo &qinfo)
 Quantize a value given a 8-bit symmetric quantization scheme. More...
 
int8_t quantize_qsymm8_per_channel (float value, const QuantizationInfo &qinfo, size_t channel_id=0)
 Quantize a value given a 8-bit symmetric per channel quantization scheme. More...
 
template<typename INFO_TYPE >
float dequantize_qasymm8 (uint8_t value, const INFO_TYPE &qinfo)
 Dequantize a value given an unsigned 8-bit asymmetric quantization scheme. More...
 
template<typename INFO_TYPE >
float dequantize_qasymm8_signed (int8_t value, const INFO_TYPE &qinfo)
 Dequantize a value given a signed 8-bit asymmetric quantization scheme. More...
 
float dequantize (uint8_t value, float scale, int32_t offset)
 Dequantize a value given an 8-bit asymmetric quantization scheme. More...
 
float dequantize_qsymm8 (int8_t value, const UniformQuantizationInfo &qinfo)
 Dequantize a value given a 8-bit symmetric quantization scheme. More...
 
qasymm8_t qasymm8_hard_swish (qasymm8_t in, const UniformQuantizationInfo &qi_in, const UniformQuantizationInfo &qi_out)
 
qasymm8_signed_t qasymm8_signed_hard_swish (qasymm8_signed_t in, const UniformQuantizationInfo &qi_in, const UniformQuantizationInfo &qi_out)
 
qasymm8_t qasymm8_leaky_relu (qasymm8_t in, const UniformQuantizationInfo &qi_in, const UniformQuantizationInfo &qi_out, float alpha)
 
qasymm8_t qasymm8_logistic (qasymm8_t in, const UniformQuantizationInfo &qi_in, const UniformQuantizationInfo &qi_out)
 
qasymm8_signed_t qasymm8_signed_logistic (qasymm8_signed_t in, const UniformQuantizationInfo &qi_in, const UniformQuantizationInfo &qi_out)
 
float dequantize (int8_t value, float scale)
 Dequantize a value given a 8-bit symmetric quantization scheme. More...
 
float dequantize (int16_t value, float scale)
 Dequantize a value given a 16-bit symmetric quantization scheme. More...
 
float dequantize (uint16_t value, float scale, int32_t offset)
 Dequantize a value given a 16-bit asymmetric quantization scheme. More...
 
int16_t quantize_qsymm16 (float value, const UniformQuantizationInfo &qinfo, RoundingPolicy rounding_policy=RoundingPolicy::TO_NEAREST_UP)
 Quantize a value given a 16-bit symmetric quantization scheme. More...
 
float dequantize_qsymm16 (int16_t value, const UniformQuantizationInfo &qinfo)
 Dequantize a value given a 16-bit symmetric quantization scheme. More...
 
int16_t quantize_qsymm16 (float value, const QuantizationInfo &qinfo)
 Quantize a value given a 16-bit symmetric quantization scheme. More...
 
float dequantize_qsymm16 (int16_t value, const QuantizationInfo &qinfo)
 Dequantize a value given a 16-bit symmetric quantization scheme. More...
 
uint16_t quantize_qasymm16 (float value, const UniformQuantizationInfo &qinfo, RoundingPolicy rounding_policy=RoundingPolicy::TO_NEAREST_UP)
 Quantize a value given a 16-bit asymmetric quantization scheme. More...
 
float dequantize_qasymm16 (uint16_t value, const UniformQuantizationInfo &qinfo)
 Dequantize a value given a 16-bit asymmetric quantization scheme. More...
 
uint16_t quantize_qasymm16 (float value, const QuantizationInfo &qinfo)
 Quantize a value given a 16-bit asymmetric quantization scheme. More...
 
float dequantize_qasymm16 (uint16_t value, const QuantizationInfo &qinfo)
 Dequantize a value given a 16-bit asymmetric quantization scheme. More...
 
UniformQuantizationInfo compute_requantization_scale_offset (const UniformQuantizationInfo &uqinfo_in, const UniformQuantizationInfo &uqinfo_out)
 
int round (float x, RoundingPolicy rounding_policy)
 Return a rounded value of x. More...
 
bool operator== (const TensorInfo &lhs, const TensorInfo &rhs)
 Check whether two tensor info are equal. More...
 
bool operator== (const ValidRegion &lhs, const ValidRegion &rhs)
 
int interleave_by (const WeightFormat wf)
 
int block_by (const WeightFormat wf)
 
bool is_fixed_format (const WeightFormat &wf)
 
bool is_fixed_format_fast_math (const WeightFormat &wf)
 
template<typename S , typename T >
constexpr auto DIV_CEIL (S val, T m) -> decltype((val+m - 1)/m)
 Calculate the rounded up quotient of val / m. More...
 
template<typename S , typename T >
auto ceil_to_multiple (S value, T divisor) -> decltype(((value+divisor - 1)/divisor) *divisor)
 Computes the smallest number larger or equal to value that is a multiple of divisor. More...
 
template<typename S , typename T >
auto floor_to_multiple (S value, T divisor) -> decltype((value/divisor) *divisor)
 Computes the largest number smaller or equal to value that is a multiple of divisor. More...
 
std::string read_file (const std::string &filename, bool binary)
 Load an entire file in memory. More...
 
size_t data_size_from_type (DataType data_type)
 The size in bytes of the data type. More...
 
size_t pixel_size_from_format (Format format)
 The size in bytes of the pixel format. More...
 
size_t element_size_from_data_type (DataType dt)
 The size in bytes of the data type. More...
 
DataType data_type_from_format (Format format)
 Return the data type used by a given single-planar pixel format. More...
 
int plane_idx_from_channel (Format format, Channel channel)
 Return the plane index of a given channel given an input format. More...
 
int channel_idx_from_format (Format format, Channel channel)
 Return the channel index of a given channel given an input format. More...
 
size_t num_planes_from_format (Format format)
 Return the number of planes for a given format. More...
 
size_t num_channels_from_format (Format format)
 Return the number of channels for a given single-planar pixel format. More...
 
DataType get_promoted_data_type (DataType dt)
 Return the promoted data type of a given data type. More...
 
std::tuple< PixelValue, PixelValueget_min_max (DataType dt)
 Compute the mininum and maximum values a data type can take. More...
 
bool has_format_horizontal_subsampling (Format format)
 Return true if the given format has horizontal subsampling. More...
 
bool has_format_vertical_subsampling (Format format)
 Return true if the given format has vertical subsampling. More...
 
TensorShape adjust_odd_shape (const TensorShape &shape, Format format)
 Adjust tensor shape size if width or height are odd for a given multi-planar format. More...
 
TensorShape calculate_subsampled_shape (const TensorShape &shape, Format format, Channel channel=Channel::UNKNOWN)
 Calculate subsampled shape for a given format and channel. More...
 
template<typename T >
void permute_strides (Dimensions< T > &dimensions, const PermutationVector &perm)
 Permutes the given dimensions according the permutation vector. More...
 
PadStrideInfo calculate_same_pad (TensorShape input_shape, TensorShape weights_shape, PadStrideInfo conv_info, DataLayout data_layout=DataLayout::NCHW, const Size2D &dilation=Size2D(1u, 1u), const DimensionRoundingType &rounding_type=DimensionRoundingType::FLOOR)
 Calculate padding requirements in case of SAME padding. More...
 
std::pair< unsigned int, unsigned int > deconvolution_output_dimensions (unsigned int in_width, unsigned int in_height, unsigned int kernel_width, unsigned int kernel_height, const PadStrideInfo &pad_stride_info)
 Returns expected width and height of the deconvolution's output tensor. More...
 
std::pair< unsigned int, unsigned int > scaled_dimensions (int width, int height, int kernel_width, int kernel_height, const PadStrideInfo &pad_stride_info, const Size2D &dilation=Size2D(1U, 1U))
 Returns expected width and height of output scaled tensor depending on dimensions rounding mode. More...
 
std::pair< int, int > scaled_dimensions_signed (int width, int height, int kernel_width, int kernel_height, const PadStrideInfo &pad_stride_info)
 Returns calculated width and height of output scaled tensor depending on dimensions rounding mode. More...
 
std::tuple< int, int, int > scaled_3d_dimensions_signed (int width, int height, int depth, int kernel_width, int kernel_height, int kernel_depth, const Pooling3dLayerInfo &pool3d_info)
 Returns calculated width, height and depth of output scaled tensor depending on dimensions rounding mode. More...
 
bool needs_serialized_reduction (ReductionOperation op, DataType dt, unsigned int axis)
 Check if the given reduction operation should be handled in a serial way. More...
 
QuantizationInfo get_softmax_output_quantization_info (DataType input_type, bool is_log)
 Returns output quantization information for softmax layer. More...
 
std::pair< int32_t, int32_t > get_quantized_activation_min_max (ActivationLayerInfo act_info, DataType data_type, UniformQuantizationInfo oq_info)
 Returns a pair of minimum and maximum values for a quantized activation. More...
 
const std::string & string_from_format (Format format)
 Convert a tensor format into a string. More...
 
const std::string & string_from_channel (Channel channel)
 Convert a channel identity into a string. More...
 
const std::string & string_from_data_layout (DataLayout dl)
 Convert a data layout identity into a string. More...
 
const std::string & string_from_data_type (DataType dt)
 Convert a data type identity into a string. More...
 
const std::string & string_from_activation_func (ActivationLayerInfo::ActivationFunction act)
 Translates a given activation function to a string. More...
 
const std::string & string_from_interpolation_policy (InterpolationPolicy policy)
 Translates a given interpolation policy to a string. More...
 
const std::string & string_from_border_mode (BorderMode border_mode)
 Translates a given border mode policy to a string. More...
 
const std::string & string_from_norm_type (NormType type)
 Translates a given normalization type to a string. More...
 
const std::string & string_from_pooling_type (PoolingType type)
 Translates a given pooling type to a string. More...
 
bool is_pool_region_entirely_outside_input (const PoolingLayerInfo &info)
 Check if the pool region is entirely outside the input tensor. More...
 
bool is_pool_3d_region_entirely_outside_input (const Pooling3dLayerInfo &info)
 Check if the 3d pool region is entirely outside the input tensor. More...
 
bool is_symmetric (const Padding3D &info)
 Check if the 3D padding is symmetric i.e. More...
 
const std::string & string_from_gemmlowp_output_stage (GEMMLowpOutputStageType output_stage)
 Translates a given GEMMLowp output stage to a string. More...
 
std::string string_from_pixel_value (const PixelValue &value, const DataType data_type)
 Convert a PixelValue to a string, represented through the specific data type. More...
 
DataType data_type_from_name (const std::string &name)
 Convert a string to DataType. More...
 
std::unordered_map< const ITensorInfo *, PaddingSizeget_padding_info (std::initializer_list< const ITensorInfo *> infos)
 Stores padding information before configuring a kernel. More...
 
std::unordered_map< const ITensorInfo *, PaddingSizeget_padding_info (std::initializer_list< const ITensor *> tensors)
 Stores padding information before configuring a kernel. More...
 
bool has_padding_changed (const std::unordered_map< const ITensorInfo *, PaddingSize > &padding_map)
 Check if the previously stored padding info has changed after configuring a kernel. More...
 
inline ::std::istream & operator>> (::std::istream &stream, DataType &data_type)
 Input Stream operator for DataType. More...
 
std::string lower_string (const std::string &val)
 Lower a given string. More...
 
std::string upper_string (const std::string &val)
 Raise a given string to upper case. More...
 
bool is_data_type_float (DataType dt)
 Check if a given data type is of floating point type. More...
 
bool is_data_type_quantized (DataType dt)
 Check if a given data type is of quantized type. More...
 
bool is_data_type_quantized_asymmetric (DataType dt)
 Check if a given data type is of asymmetric quantized type. More...
 
bool is_data_type_quantized_asymmetric_signed (DataType dt)
 Check if a given data type is of asymmetric quantized signed type. More...
 
bool is_data_type_quantized_symmetric (DataType dt)
 Check if a given data type is of symmetric quantized type. More...
 
bool is_data_type_quantized_per_channel (DataType dt)
 Check if a given data type is of per channel type. More...
 
std::string float_to_string_with_full_precision (float val)
 Create a string with the float in full precision. More...
 
size_t num_of_elements_in_range (const float start, const float end, const float step)
 Returns the number of elements required to go from start to end with the wanted step. More...
 
template<typename T >
bool check_value_range (T val, DataType dt, QuantizationInfo qinfo=QuantizationInfo())
 Returns true if the value can be represented by the given data type. More...
 
unsigned int adjust_vec_size (unsigned int vec_size, size_t dim0)
 Returns the adjusted vector size in case it is less than the input's first dimension, getting rounded down to its closest valid vector size. More...
 
std::string cpu_impl_dt (const DataType &data_type)
 Returns the suffix string of CPU kernel implementation names based on the given data type. More...
 
template<typename... Ts>
arm_compute::Status error_on_nullptr (const char *function, const char *file, const int line, Ts &&... pointers)
 Create an error if one of the pointers is a nullptr. More...
 
arm_compute::Status error_on_mismatching_windows (const char *function, const char *file, const int line, const Window &full, const Window &win)
 Return an error if the passed window is invalid. More...
 
arm_compute::Status error_on_invalid_subwindow (const char *function, const char *file, const int line, const Window &full, const Window &sub)
 Return an error if the passed subwindow is invalid. More...
 
arm_compute::Status error_on_window_not_collapsable_at_dimension (const char *function, const char *file, const int line, const Window &full, const Window &window, const int dim)
 Return an error if the window can't be collapsed at the given dimension. More...
 
arm_compute::Status error_on_coordinates_dimensions_gte (const char *function, const char *file, const int line, const Coordinates &pos, unsigned int max_dim)
 Return an error if the passed coordinates have too many dimensions. More...
 
arm_compute::Status error_on_window_dimensions_gte (const char *function, const char *file, const int line, const Window &win, unsigned int max_dim)
 Return an error if the passed window has too many dimensions. More...
 
template<typename T , typename... Ts>
arm_compute::Status error_on_mismatching_dimensions (const char *function, const char *file, int line, const Dimensions< T > &dim1, const Dimensions< T > &dim2, Ts &&... dims)
 Return an error if the passed dimension objects differ. More...
 
template<typename... Ts>
arm_compute::Status error_on_tensors_not_even (const char *function, const char *file, int line, const Format &format, const ITensor *tensor1, Ts... tensors)
 Return an error if the passed tensor objects are not even. More...
 
template<typename... Ts>
arm_compute::Status error_on_tensors_not_subsampled (const char *function, const char *file, int line, const Format &format, const TensorShape &shape, const ITensor *tensor1, Ts... tensors)
 Return an error if the passed tensor objects are not sub-sampled. More...
 
template<typename... Ts>
arm_compute::Status error_on_mismatching_shapes (const char *function, const char *file, const int line, const ITensorInfo *tensor_info_1, const ITensorInfo *tensor_info_2, Ts... tensor_infos)
 Return an error if the passed two tensor infos have different shapes from the given dimension. More...
 
template<typename... Ts>
arm_compute::Status error_on_mismatching_shapes (const char *function, const char *file, const int line, const ITensor *tensor_1, const ITensor *tensor_2, Ts... tensors)
 Return an error if the passed two tensors have different shapes from the given dimension. More...
 
template<typename... Ts>
arm_compute::Status error_on_mismatching_shapes (const char *function, const char *file, const int line, unsigned int upper_dim, const ITensorInfo *tensor_info_1, const ITensorInfo *tensor_info_2, Ts... tensor_infos)
 Return an error if the passed two tensors have different shapes from the given dimension. More...
 
template<typename... Ts>
arm_compute::Status error_on_mismatching_shapes (const char *function, const char *file, const int line, unsigned int upper_dim, const ITensor *tensor_1, const ITensor *tensor_2, Ts... tensors)
 Return an error if the passed two tensors have different shapes from the given dimension. More...
 
template<typename... Ts>
arm_compute::Status error_on_mismatching_data_layouts (const char *function, const char *file, const int line, const ITensorInfo *tensor_info, Ts... tensor_infos)
 Return an error if the passed tensor infos have different data layouts. More...
 
template<typename... Ts>
arm_compute::Status error_on_mismatching_data_layouts (const char *function, const char *file, const int line, const ITensor *tensor, Ts... tensors)
 Return an error if the passed tensors have different data layouts. More...
 
template<typename... Ts>
arm_compute::Status error_on_mismatching_data_types (const char *function, const char *file, const int line, const ITensorInfo *tensor_info, Ts... tensor_infos)
 Return an error if the passed two tensor infos have different data types. More...
 
template<typename... Ts>
arm_compute::Status error_on_mismatching_data_types (const char *function, const char *file, const int line, const ITensor *tensor, Ts... tensors)
 Return an error if the passed two tensors have different data types. More...
 
template<typename... Ts>
arm_compute::Status error_on_mismatching_quantization_info (const char *function, const char *file, const int line, const ITensorInfo *tensor_info_1, const ITensorInfo *tensor_info_2, Ts... tensor_infos)
 Return an error if the passed tensor infos have different asymmetric quantized data types or different quantization info. More...
 
template<typename... Ts>
arm_compute::Status error_on_mismatching_quantization_info (const char *function, const char *file, const int line, const ITensor *tensor_1, const ITensor *tensor_2, Ts... tensors)
 Return an error if the passed tensor have different asymmetric quantized data types or different quantization info. More...
 
template<typename T , typename F , typename... Fs>
void error_on_format_not_in (const char *function, const char *file, const int line, const T *object, F &&format, Fs &&... formats)
 Throw an error if the format of the passed tensor/multi-image does not match any of the formats provided. More...
 
template<typename T , typename... Ts>
arm_compute::Status error_on_data_type_not_in (const char *function, const char *file, const int line, const ITensorInfo *tensor_info, T &&dt, Ts &&... dts)
 Return an error if the data type of the passed tensor info does not match any of the data types provided. More...
 
template<typename T , typename... Ts>
arm_compute::Status error_on_data_type_not_in (const char *function, const char *file, const int line, const ITensor *tensor, T &&dt, Ts &&... dts)
 Return an error if the data type of the passed tensor does not match any of the data types provided. More...
 
template<typename T , typename... Ts>
arm_compute::Status error_on_data_layout_not_in (const char *function, const char *file, const int line, const ITensorInfo *tensor_info, T &&dl, Ts &&... dls)
 Return an error if the data layout of the passed tensor info does not match any of the data layouts provided. More...
 
template<typename T , typename... Ts>
arm_compute::Status error_on_data_layout_not_in (const char *function, const char *file, const int line, const ITensor *tensor, T &&dl, Ts &&... dls)
 Return an error if the data layout of the passed tensor does not match any of the data layout provided. More...
 
template<typename T , typename... Ts>
arm_compute::Status error_on_data_type_channel_not_in (const char *function, const char *file, const int line, const ITensorInfo *tensor_info, size_t num_channels, T &&dt, Ts &&... dts)
 Return an error if the data type or the number of channels of the passed tensor info does not match any of the data types and number of channels provided. More...
 
template<typename T , typename... Ts>
arm_compute::Status error_on_data_type_channel_not_in (const char *function, const char *file, const int line, const ITensor *tensor, size_t num_channels, T &&dt, Ts &&... dts)
 Return an error if the data type or the number of channels of the passed tensor does not match any of the data types and number of channels provided. More...
 
arm_compute::Status error_on_unsupported_fp16 (const char *function, const char *file, const int line, const ITensorInfo *tensor_info, bool is_fp16_supported)
 Return an error if the data type of the passed tensor info is FP16 and FP16 extension is not supported by the device. More...
 
arm_compute::Status error_on_unsupported_fp16 (const char *function, const char *file, const int line, const ITensor *tensor, bool is_fp16_supported)
 Return an error if the data type of the passed tensor is FP16 and FP16 extension is not supported by the device. More...
 
arm_compute::Status error_on_tensor_not_2d (const char *function, const char *file, const int line, const ITensor *tensor)
 Return an error if the tensor is not 2D. More...
 
arm_compute::Status error_on_tensor_not_2d (const char *function, const char *file, const int line, const ITensorInfo *tensor)
 Return an error if the tensor info is not 2D. More...
 
template<typename T , typename... Ts>
arm_compute::Status error_on_channel_not_in (const char *function, const char *file, const int line, T cn, T &&channel, Ts &&... channels)
 Return an error if the channel is not in channels. More...
 
arm_compute::Status error_on_channel_not_in_known_format (const char *function, const char *file, const int line, Format fmt, Channel cn)
 Return an error if the channel is not in format. More...
 
arm_compute::Status error_on_unconfigured_kernel (const char *function, const char *file, const int line, const IKernel *kernel)
 Return an error if the kernel is not configured. More...
 
arm_compute::Status error_on_invalid_subtensor (const char *function, const char *file, const int line, const TensorShape &parent_shape, const Coordinates &coords, const TensorShape &shape)
 Return an error if if the coordinates and shape of the subtensor are within the parent tensor. More...
 
arm_compute::Status error_on_invalid_subtensor_valid_region (const char *function, const char *file, const int line, const ValidRegion &parent_valid_region, const ValidRegion &valid_region)
 Return an error if the valid region of a subtensor is not inside the valid region of the parent tensor. More...
 
std::string build_information ()
 Returns the arm_compute library build information. More...
 
void swap (Window &lhs, Window &rhs)
 
bool operator== (const Window &lhs, const Window &rhs)
 
Coordinates convert_window_coord_to_position (const Window &w, const Coordinates &offset)
 Convert an offset in window steps into absolute coordinates. More...
 
template<typename L >
WindowIterator< L > create_window_iterator (const Window &w, const Coordinates &start, const Coordinates &end, L &&lambda_function)
 Create a WindowIterator object. More...
 
arm_compute::DataLayout data_layout_from_name (const std::string &name)
 Converts a string to a strong types enumeration DataLayout. More...
 
inline ::std::istream & operator>> (::std::istream &stream, arm_compute::DataLayout &data_layout)
 Input Stream operator for DataLayout. More...
 
std::tuple< cl::Context, cl::Device, cl_int > create_opencl_context_and_device (CLBackendType cl_backend_type)
 This function creates an OpenCL context and a device. More...
 
void schedule_kernel_on_ctx (CLRuntimeContext *ctx, ICLKernel *kernel, bool flush=true)
 Schedules a kernel using the context if not nullptr else uses the legacy scheduling flow. More...
 
cl::Platform select_preferable_platform (CLBackendType cl_backend_type)
 This function selects the OpenCL platform based on the backend type. More...
 
CLTunerMode tuner_mode_from_name (const std::string &name)
 Converts a string to a strong types enumeration CLTunerMode. More...
 
inline ::std::istream & operator>> (::std::istream &stream, CLTunerMode &tuner_mode)
 Input Stream operator for CLTunerMode. More...
 
void save_program_cache_to_file (const std::string &filename="cache.bin")
 This function saves opencl kernels library to a file. More...
 
void restore_program_cache_from_file (const std::string &filename="cache.bin")
 This function loads prebuilt opencl kernels from a file. More...
 
IContextget_internal (AclContext ctx)
 Extract internal representation of a Context. More...
 
IOperatorget_internal (AclOperator op)
 Extract internal representation of an Operator. More...
 
IQueueget_internal (AclQueue queue)
 Extract internal representation of a Queue. More...
 
ITensorV2get_internal (AclTensor tensor)
 Extract internal representation of a Tensor. More...
 
TensorPackget_internal (AclTensorPack pack)
 Extract internal representation of a TensoPack. More...
 
cl::Image2D create_image2d_from_buffer (const cl::Context &ctx, const cl::Buffer &buffer, const TensorShape &shape2d, DataType data_type, size_t image_row_pitch, CLImage2DType image_type)
 Create a cl::Image2D object from an OpenCL buffer. More...
 
arm_compute::Status error_on_unsupported_int64_base_atomics (const char *function, const char *file, const int line)
 Return an error if int64_base_atomics extension is not supported by the device. More...
 
cl::NDRange get_default_lws_for_type (CLKernelType kernel_type, cl::NDRange gws)
 
void enqueue (cl::CommandQueue &queue, ICLKernel &kernel, const Window &window, const cl::NDRange &lws_hint=CLKernelLibrary::get().default_ndrange(), bool use_dummy_work_items=false)
 Add the kernel to the command queue with the given window. More...
 
Status error_on_unsupported_cpu_fp16 (const char *function, const char *file, const int line, const ITensorInfo *tensor_info)
 Return an error if the data type of the passed tensor info is FP16 and FP16 support is not compiled in. More...
 
Status error_on_unsupported_cpu_bf16 (const char *function, const char *file, const int line, const ITensorInfo *tensor_info)
 Return an error if the data type of the passed tensor info is BFLOAT16 and BFLOAT16 support is not compiled in. More...
 
Status error_on_unsupported_cpu_fp16 (const char *function, const char *file, const int line, const ITensor *tensor)
 Return an error if the data type of the passed tensor is FP16 and FP16 support is not compiled in. More...
 
Status error_on_unsupported_cpu_bf16 (const char *function, const char *file, const int line, const ITensor *tensor)
 Return an error if the data type of the passed tensor is BFLOAT16 and BFLOAT16 support is not compiled in. More...
 
bool auto_init_if_empty (ITensorInfo &info, const TensorShape &shape, int num_channels, DataType data_type, QuantizationInfo quantization_info=QuantizationInfo())
 Auto initialize the tensor info (shape, number of channels and data type) if the current assignment is empty. More...
 
bool auto_init_if_empty (ITensorInfo &info_sink, const ITensorInfo &info_source)
 Auto initialize the tensor info using another tensor info. More...
 
bool set_shape_if_empty (ITensorInfo &info, const TensorShape &shape)
 Set the shape to the specified value if the current assignment is empty. More...
 
bool set_format_if_unknown (ITensorInfo &info, Format format)
 Set the format, data type and number of channels to the specified value if the current data type is unknown. More...
 
bool set_data_type_if_unknown (ITensorInfo &info, DataType data_type)
 Set the data type and number of channels to the specified value if the current data type is unknown. More...
 
bool set_data_layout_if_unknown (ITensorInfo &info, DataLayout data_layout)
 Set the data layout to the specified value if the current data layout is unknown. More...
 
bool set_quantization_info_if_empty (ITensorInfo &info, QuantizationInfo quantization_info)
 Set the quantization info to the specified value if the current quantization info is empty and the data type of asymmetric quantized type. More...
 
int offset_int_vec (int offset)
 
template<typename TensorType >
WorkspaceData< TensorTypemanage_workspace (const experimental::MemoryRequirements &mem_reqs, MemoryGroup &mgroup, ITensorPack &run_pack)
 
template<typename TensorType >
WorkspaceData< TensorTypemanage_workspace (const experimental::MemoryRequirements &mem_reqs, MemoryGroup &mgroup, ITensorPack &run_pack, ITensorPack &prep_pack)
 
template<typename TensorType >
void release_prepare_tensors (WorkspaceData< TensorType > &workspace, ITensorPack &prep_pack)
 
template<typename TensorType >
void release_temporaries (const experimental::MemoryRequirements &mem_reqs, WorkspaceData< TensorType > &workspace)
 Utility function to release tensors with lifetime marked as Prepare. More...
 
unsigned int get_normalization_dimension_index (DataLayout layout, const NormalizationLayerInfo &info)
 Calculate the normalization dimension index for a given normalization type. More...
 
template<typename T , typename... Ts>
Strides compute_strides (const ITensorInfo &info, T stride_x, Ts &&... fixed_strides)
 Create a strides object based on the provided strides and the tensor dimensions. More...
 
template<typename... Ts>
Strides compute_strides (const ITensorInfo &info)
 Create a strides object based on the tensor dimensions. More...
 
unsigned int get_next_power_two (unsigned int x)
 Given an integer value, this function returns the next power of two. More...
 
Window calculate_max_window (const ValidRegion &valid_region, const Steps &steps, bool skip_border, BorderSize border_size)
 
Window calculate_max_window (const TensorShape &shape, const Steps &steps, bool skip_border, BorderSize border_size)
 
Window calculate_max_enlarged_window (const ValidRegion &valid_region, const Steps &steps, BorderSize border_size)
 
Window calculate_max_window_horizontal (const ValidRegion &valid_region, const Steps &steps, bool skip_border, BorderSize border_size)
 
std::pair< Window, size_t > calculate_squashed_or_max_window (const ITensorInfo &src0, const ITensorInfo &src1)
 
std::pair< Window, size_t > calculate_squashed_or_max_window (const ITensorInfo &src)
 
template<typename... Ts>
bool update_window_and_padding (Window &win, Ts &&... patterns)
 Update window and padding size for each of the access patterns. More...
 
template<typename... Ts>
ValidRegion intersect_valid_regions (const Ts &... regions)
 Intersect multiple valid regions. More...
 
void colorconvert_rgb_to_rgbx (const void *__restrict input, void *__restrict output, const Window &win)
 Convert RGB to RGBX. More...
 
void colorconvert_rgb_to_u8 (const void *__restrict input, void *__restrict output, const Window &win)
 Convert RGB to U8. More...
 
void colorconvert_rgbx_to_rgb (const void *input, void *output, const Window &win)
 Convert RGBX to RGB. More...
 
template<bool yuyv, bool alpha>
void colorconvert_yuyv_to_rgb (const void *__restrict input, void *__restrict output, const Window &win)
 Convert YUYV to RGB. More...
 
template<bool uv, bool alpha>
void colorconvert_nv12_to_rgb (const void *__restrict input, void *__restrict output, const Window &win)
 Convert NV12 to RGB. More...
 
template<bool alpha>
void colorconvert_iyuv_to_rgb (const void *__restrict input, void *__restrict output, const Window &win)
 Convert IYUV to RGB. More...
 
template<bool yuyv>
void colorconvert_yuyv_to_nv12 (const void *__restrict input, void *__restrict output, const Window &win)
 Convert YUYV to NV12. More...
 
void colorconvert_iyuv_to_nv12 (const void *__restrict input, void *__restrict output, const Window &win)
 Convert IYUV to NV12. More...
 
template<bool uv>
void colorconvert_nv12_to_iyuv (const void *__restrict input, void *__restrict output, const Window &win)
 Convert NV12 to IYUV. More...
 
template<bool yuyv>
void colorconvert_yuyv_to_iyuv (const void *__restrict input, void *__restrict output, const Window &win)
 Convert YUYV to IYUV. More...
 
template<bool uv>
void colorconvert_nv12_to_yuv4 (const void *__restrict input, void *__restrict output, const Window &win)
 Convert NV12 to YUV4. More...
 
void colorconvert_iyuv_to_yuv4 (const void *__restrict input, void *__restrict output, const Window &win)
 Convert IYUV to YUV4. More...
 
template<bool alpha>
void colorconvert_rgb_to_nv12 (const void *__restrict input, void *__restrict output, const Window &win)
 Convert RGB to NV12. More...
 
template<bool alpha>
void colorconvert_rgb_to_iyuv (const void *__restrict input, void *__restrict output, const Window &win)
 Convert RGB to IYUV. More...
 
template<bool alpha>
void colorconvert_rgb_to_yuv4 (const void *__restrict input, void *__restrict output, const Window &win)
 Convert RGB to YUV4. More...
 
template<typename T >
void run_reverse (const Window &window, const ITensor *input, const ITensor *axis, ITensor *output)
 
uint8x16_t vmlaq_qasymm8 (qasymm8x16_t vd, float32x4_t vs, float32x4_t vo)
 Perform a multiply-accumulate on all 16 components of a QASYMM8 vector. More...
 
int8x16_t vmlaq_qasymm8_signed (qasymm8x16_signed_t vd, float32x4_t vs, float32x4_t vo)
 Perform a multiply-accumulate on all 16 components of a QASYMM8_SIGNED vector. More...
 
uint8x16_t finalize_quantization (int32x4x4_t &in_s32, int result_fixedpoint_multiplier, int32_t result_shift, int32x4_t result_offset_after_shift_s32, uint8x16_t min_u8, uint8x16_t max_u8, bool is_bounded_relu)
 Performs final quantization step on 16 elements. More...
 
int8x16_t finalize_quantization (int32x4x4_t &in_s32, int result_fixedpoint_multiplier, int32_t result_shift, int32x4_t result_offset_after_shift_s32, int8x16_t min_s8, int8x16_t max_s8, bool is_bounded_relu)
 Performs final quantization step on 16 elements. More...
 
int8x16_t finalize_quantization_symm (int32x4x4_t &in_s32, const int32x4x4_t &result_fixedpoint_multiplier, const int32x4x4_t &result_shift, const int32x4_t &result_offset_after_shift_s32, const int8x16_t &min_s8, const int8x16_t &max_s8, const bool is_bounded_relu)
 Performs final quantization step on 16 elements for symmetric quantization. More...
 
uint8_t finalize_quantization (int32_t in_value, int result_fixedpoint_multiplier, int32_t result_shift, int32_t result_offset_after_shift_s32, uint8_t min_u8, uint8_t max_u8, bool is_bounded_relu)
 Performs final quantization step on single element. More...
 
int8_t finalize_quantization (int32_t in_value, int result_fixedpoint_multiplier, int32_t result_shift, int32_t result_offset_after_shift_s32, int8_t min_s8, int8_t max_s8, bool is_bounded_relu)
 Performs final quantization step on single element. More...
 
float32x4x2_t vdequantize (const uint8x8_t &qv, const UniformQuantizationInfo &qi)
 Dequantize a neon vector holding 8 quantized values. More...
 
float32x4x2_t vdequantize (const int8x8_t &qv, const UniformQuantizationInfo &qi)
 Dequantize a neon vector holding 8 singed quantized values. More...
 
float32x4x4_t vdequantize (const uint8x16_t &qv, const UniformQuantizationInfo &qi)
 Dequantize a neon vector holding 16 quantized values. More...
 
float32x4x4_t vdequantize (const int8x16_t &qv, const UniformQuantizationInfo &qi)
 Dequantize a neon vector holding 16 signed quantized values. More...
 
float32x4x4_t vdequantize (const uint8x16_t &qv, float scale, int32_t offset)
 Dequantize following an asymmetric quantization scheme a neon vector holding 16 quantized values. More...
 
float32x4x4_t vdequantize (const int8x16_t &qv, float scale, int32_t offset)
 Dequantize a vector of 16 values stored as signed asymmetric. More...
 
float32x4x4_t vdequantize (const int8x16_t &qv, const float32x4x4_t vscale)
 Dequantize following symmetric quantization scheme a neon vector holding 16 quantized values. More...
 
float32x4x4_t vdequantize (const int8x16_t &qv, float scale)
 Dequantize following a symmetric quantization scheme a neon vector holding 16 quantized values. More...
 
uint8x8_t vquantize (const float32x4x2_t &qv, const UniformQuantizationInfo &qi)
 Quantize a neon vector holding 8 floating point values. More...
 
int8x8_t vquantize_signed (const float32x4x2_t &qv, const UniformQuantizationInfo &qi)
 Quantize a neon vector holding 8 floating point values. More...
 
int32x4x4_t vquantize_internal (const float32x4x4_t &qv, float scale, int32_t offset)
 
uint8x16_t vquantize (const float32x4x4_t &qv, const UniformQuantizationInfo &qi)
 Quantize a neon vector holding 16 floating point values. More...
 
int8x16_t vquantize_signed (const float32x4x4_t &qv, const UniformQuantizationInfo &qi)
 Signed quantize a neon vector holding 16 floating point values. More...
 
uint16x8x2_t vquantize_qasymm16 (const float32x4x4_t &qv, const UniformQuantizationInfo &qi)
 Quantize to QASYMM16 a neon vector holding 16 floating point values. More...
 
template<RoundingPolicy round_policy = RoundingPolicy::TO_ZERO>
qasymm8x16_signed_t vmlaq_qasymm8 (qasymm8x16_signed_t vd, float32x4_t vs, float32x4_t vo)
 
float32x4x2_t vmax2q_f32 (float32x4x2_t a, float32x4x2_t b)
 Compute lane-by-lane maximum between elements of a float vector with 4x2 elements. More...
 
float32x4_t vfloorq_f32 (float32x4_t val)
 Calculate floor of a vector. More...
 
float32x4_t vroundq_rte_f32 (float32x4_t val)
 Calculate round value of a vector to nearest with ties to even. More...
 
float32x2_t vinvsqrt_f32 (float32x2_t x)
 Calculate inverse square root. More...
 
float32x4_t vinvsqrtq_f32 (float32x4_t x)
 Calculate inverse square root. More...
 
float32x2_t vinv_f32 (float32x2_t x)
 Calculate reciprocal. More...
 
float32x4_t vinvq_f32 (float32x4_t x)
 Calculate reciprocal. More...
 
float32x4_t vtaylor_polyq_f32 (float32x4_t x, const std::array< float32x4_t, 8 > &coeffs)
 Perform a 7th degree polynomial approximation using Estrin's method. More...
 
float32x4_t vexpq_f32 (float32x4_t x)
 Calculate exponential. More...
 
float32x4_t verfq_f32 (float32x4_t x)
 Calculate error function. More...
 
float32x4_t vlogq_f32 (float32x4_t x)
 Calculate logarithm. More...
 
float32x4_t vtanhq_f32 (float32x4_t val)
 Calculate hyperbolic tangent. More...
 
float32x4_t vpowq_f32 (float32x4_t val, float32x4_t n)
 Calculate n power of a number. More...
 
int32x4_t rounding_divide_by_pow2 (int32x4_t x, int32x4_t exponent)
 Round to the nearest division by a power-of-two using exponent. More...
 
int32x4_t rounding_divide_by_pow2 (int32x4_t x, int exponent)
 Round to the nearest division by a power-of-two using exponent. More...
 
int32_t rounding_divide_by_pow2 (int32_t x, int exponent)
 Round to the nearest division by a power-of-two using exponent. More...
 
float32x4x4_t convert_uint8x16_to_float32x4x4 (const uint8x16_t &in)
 Converts from uint8x16 to float32x4x4_t. More...
 
float32x4x4_t convert_int8x16_to_float32x4x4 (const int8x16_t &in)
 Converts from int8x16 to float32x4x4_t. More...
 
template<typename T >
float32x4x4_t convert_to_float32x4x4 (const T &in)
 Converts to float32x4x4_t from the specified templated 16 elements vectors. More...
 
void convert_float32x4x3_to_uint8x8x3 (const float32x4x3_t &in1, const float32x4x3_t &in2, uint8x8x3_t &out)
 Converts from two float32x4x3_t to just one uint8x8x3_t. More...
 
void convert_float32x4x4_to_uint8x16 (const float32x4x4_t &in, uint8x16_t &out)
 Converts from two float32x4x4_t to just one uint8x16_t. More...
 
void convert_float32x4x4_to_int8x16 (const float32x4x4_t &in, int8x16_t &out)
 Converts from float32x4x4_t to just one int8x16_t. More...
 
template<typename float_vec_type , typename int_vec_type >
int_vec_type convert_float_to_int (const float_vec_type &in)
 Converts from float vector to integer vector. More...
 
template<typename float_vec_type , typename int_vec_type >
float_vec_type convert_int_to_float (const int_vec_type &in)
 Converts from integer vector to float vector. More...
 
float32x4_t vsinq_f32 (float32x4_t val)
 Calculate sine. More...
 
float32x2_t vsin_f32 (float32x2_t val)
 Calculate sine. More...
 
float vreduce (const float32x4_t &v)
 Reduce a vector to be a scalar by accumulating all lanes in the vector. More...
 
template<>
float32x4x4_t convert_to_float32x4x4 (const uint8x16_t &in)
 
template<>
float32x4x4_t convert_to_float32x4x4 (const int8x16_t &in)
 
template<>
uint8x16_t convert_float_to_int< float32x4x4_t, uint8x16_t > (const float32x4x4_t &in)
 
template<>
float32x4x4_t convert_int_to_float< float32x4x4_t, uint8x16_t > (const uint8x16_t &in)
 
template<>
int8x16_t convert_float_to_int< float32x4x4_t, int8x16_t > (const float32x4x4_t &in)
 
template<>
float32x4x4_t convert_int_to_float< float32x4x4_t, int8x16_t > (const int8x16_t &in)
 
template<bool is_bounded_relu>
int16x8_t finalize_quantization_int16 (int32x4x2_t &in_s32, int result_fixedpoint_multiplier, int32_t result_shift, int16x8_t min_s16, int16x8_t max_s16)
 Performs final quantization step on 8 signed 16-bit elements. More...
 
template<bool is_bounded_relu>
int16_t finalize_quantization_int16 (int32_t in_value, int result_fixedpoint_multiplier, int32_t result_shift, int16_t min_s16, int16_t max_s16)
 Performs final quantization step on single signed 16-bit element. More...
 
float32x4x2_t vdequantize_int16 (const int16x8_t &qv, float scale)
 Dequantize a neon vector holding 8 16-bit quantized values. More...
 
int16x8_t vquantize_int16 (const float32x4x2_t &qv, float scale)
 Quantize a neon vector holding 8 floating point values. More...
 
float32x4x4_t vdequantize (const int16x8x2_t &qv, const UniformQuantizationInfo &qi)
 Dequantize a neon vector holding 16 16-bit quantized values. More...
 
qsymm16x8x2_t vquantize_qsymm16 (const float32x4x4_t &qv, const UniformQuantizationInfo &qi)
 Quantize a neon vector holding 16 floating point values. More...
 
int32x4x2_t multiply_by_quantized_multiplier_2row (int32x4x2_t input, int32_t qmul, int32_t shift)
 Multiply a neon vector using quantized multiplier and shift. More...
 
Status validate (const ITensorInfo *scores_in, const ITensorInfo *boxes_in, const ITensorInfo *batch_splits_in, const ITensorInfo *scores_out, const ITensorInfo *boxes_out, const ITensorInfo *classes, const ITensorInfo *batch_splits_out, const ITensorInfo *keeps, const ITensorInfo *keeps_size, const BoxNMSLimitInfo info)
 
inline ::std::istream & operator>> (::std::istream &is, BorderMode &mode)
 Formatted input of the BorderMode type. More...
 
template<typename T >
std::string to_string_if_not_null (T *arg)
 Formatted output if arg is not null. More...
 
template<typename T >
std::string to_string (const T &val)
 Fallback method: try to use std::to_string: More...
 
template<typename T >
::std::ostream & operator<< (::std::ostream &os, const std::vector< T > &args)
 Formatted output of a vector of objects. More...
 
template<typename T >
std::string to_string (const std::vector< T > &args)
 Formatted output of a vector of objects. More...
 
template<typename T >
inline ::std::ostream & operator<< (::std::ostream &os, const Dimensions< T > &dimensions)
 Formatted output of the Dimensions type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const RoundingPolicy &rounding_policy)
 Formatted output of the RoundingPolicy type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const WeightsInfo &weights_info)
 Formatted output of the WeightsInfo type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const ROIPoolingLayerInfo &pool_info)
 Formatted output of the ROIPoolingInfo type. More...
 
std::string to_string (const ROIPoolingLayerInfo &pool_info)
 Formatted output of the ROIPoolingInfo type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const GEMMKernelInfo &gemm_info)
 Formatted output of the GEMMKernelInfo type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const GEMMLHSMatrixInfo &gemm_info)
 Formatted output of the GEMMLHSMatrixInfo type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const GEMMRHSMatrixInfo &gemm_info)
 Formatted output of the GEMMRHSMatrixInfo type. More...
 
std::string to_string (const GEMMRHSMatrixInfo &gemm_info)
 Formatted output of the GEMMRHSMatrixInfo type. More...
 
std::string to_string (const GEMMLHSMatrixInfo &gemm_info)
 Formatted output of the GEMMLHSMatrixInfo type. More...
 
std::string to_string (const GEMMKernelInfo &gemm_info)
 Formatted output of the GEMMKernelInfo type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const BoundingBoxTransformInfo &bbox_info)
 Formatted output of the BoundingBoxTransformInfo type. More...
 
std::string to_string (const BoundingBoxTransformInfo &bbox_info)
 Formatted output of the BoundingBoxTransformInfo type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const ComputeAnchorsInfo &anchors_info)
 Formatted output of the ComputeAnchorsInfo type. More...
 
std::string to_string (const ComputeAnchorsInfo &anchors_info)
 Formatted output of the ComputeAnchorsInfo type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const GenerateProposalsInfo &proposals_info)
 Formatted output of the GenerateProposalsInfo type. More...
 
std::string to_string (const GenerateProposalsInfo &proposals_info)
 Formatted output of the GenerateProposalsInfo type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const QuantizationInfo &qinfo)
 Formatted output of the QuantizationInfo type. More...
 
std::string to_string (const QuantizationInfo &quantization_info)
 Formatted output of the QuantizationInfo type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const ActivationLayerInfo::ActivationFunction &act_function)
 Formatted output of the activation function type. More...
 
std::string to_string (const arm_compute::ActivationLayerInfo &info)
 Formatted output of the activation function info type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const ActivationLayerInfo *info)
 Formatted output of the activation function info. More...
 
std::string to_string (const arm_compute::ActivationLayerInfo::ActivationFunction &function)
 Formatted output of the activation function type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const NormType &norm_type)
 Formatted output of the NormType type. More...
 
std::string to_string (const arm_compute::NormalizationLayerInfo &info)
 Formatted output of NormalizationLayerInfo. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const NormalizationLayerInfo &info)
 Formatted output of NormalizationLayerInfo. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const PoolingType &pool_type)
 Formatted output of the PoolingType type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const PoolingLayerInfo &info)
 Formatted output of PoolingLayerInfo. More...
 
std::string to_string (const RoundingPolicy &rounding_policy)
 Formatted output of RoundingPolicy. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const DataLayout &data_layout)
 [Print DataLayout type] More...
 
std::string to_string (const arm_compute::DataLayout &data_layout)
 Formatted output of the DataLayout type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const DataLayoutDimension &data_layout_dim)
 [Print DataLayout type] More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const DataType &data_type)
 Formatted output of the DataType type. More...
 
std::string to_string (const arm_compute::DataType &data_type)
 Formatted output of the DataType type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const Format &format)
 Formatted output of the Format type. More...
 
std::string to_string (const Format &format)
 Formatted output of the Format type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const Channel &channel)
 Formatted output of the Channel type. More...
 
std::string to_string (const Channel &channel)
 Formatted output of the Channel type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const BorderMode &mode)
 Formatted output of the BorderMode type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const BorderSize &border)
 Formatted output of the BorderSize type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const PaddingList &padding)
 Formatted output of the PaddingList type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const Multiples &multiples)
 Formatted output of the Multiples type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const InterpolationPolicy &policy)
 Formatted output of the InterpolationPolicy type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const SamplingPolicy &policy)
 Formatted output of the SamplingPolicy type. More...
 
inline ::std::ostream & operator<< (std::ostream &os, const ITensorInfo *info)
 Formatted output of the ITensorInfo type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const TensorInfo &info)
 Formatted output of the const TensorInfo& type. More...
 
std::string to_string (const TensorInfo &info)
 Formatted output of the const TensorInfo& type. More...
 
std::string to_string (const ITensorInfo &info)
 Formatted output of the const ITensorInfo& type. More...
 
std::string to_string (const ITensorInfo *info)
 Formatted output of the const ITensorInfo* type. More...
 
std::string to_string (ITensorInfo *info)
 Formatted output of the ITensorInfo* type. More...
 
std::string to_string (const ITensor *tensor)
 Formatted output of the ITensorInfo type obtained from const ITensor* type. More...
 
std::string to_string (ITensor *tensor)
 Formatted output of the ITensorInfo type obtained from the ITensor* type. More...
 
std::string to_string (ITensor &tensor)
 Formatted output of the ITensorInfo type obtained from the ITensor& type. More...
 
template<typename T >
std::string to_string (const Dimensions< T > &dimensions)
 Formatted output of the Dimensions type. More...
 
std::string to_string (const Strides &stride)
 Formatted output of the Strides type. More...
 
std::string to_string (const TensorShape &shape)
 Formatted output of the TensorShape type. More...
 
std::string to_string (const Coordinates &coord)
 Formatted output of the Coordinates type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const GEMMReshapeInfo &info)
 Formatted output of the GEMMReshapeInfo type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const GEMMInfo &info)
 Formatted output of the GEMMInfo type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const Window::Dimension &dim)
 Formatted output of the Window::Dimension type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const Window &win)
 Formatted output of the Window type. More...
 
std::string to_string (const WeightsInfo &info)
 Formatted output of the WeightsInfo type. More...
 
std::string to_string (const GEMMReshapeInfo &info)
 Formatted output of the GEMMReshapeInfo type. More...
 
std::string to_string (const GEMMInfo &info)
 Formatted output of the GEMMInfo type. More...
 
std::string to_string (const Window::Dimension &dim)
 Formatted output of the Window::Dimension type. More...
 
std::string to_string (const Window &win)
 Formatted output of the Window& type. More...
 
std::string to_string (Window *win)
 Formatted output of the Window* type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const Rectangle &rect)
 Formatted output of the Rectangle type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const PaddingMode &mode)
 Formatted output of the PaddingMode type. More...
 
std::string to_string (const PaddingMode &mode)
 Formatted output of the PaddingMode type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const PadStrideInfo &pad_stride_info)
 Formatted output of the PadStrideInfo type. More...
 
std::string to_string (const PadStrideInfo &pad_stride_info)
 Formatted output of the PadStrideInfo type. More...
 
std::string to_string (const BorderMode &mode)
 Formatted output of the BorderMode type. More...
 
std::string to_string (const BorderSize &border)
 Formatted output of the BorderSize type. More...
 
std::string to_string (const PaddingList &padding)
 Formatted output of the PaddingList type. More...
 
std::string to_string (const Multiples &multiples)
 Formatted output of the Multiples type. More...
 
std::string to_string (const InterpolationPolicy &policy)
 Formatted output of the InterpolationPolicy type. More...
 
std::string to_string (const SamplingPolicy &policy)
 Formatted output of the SamplingPolicy type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const ConvertPolicy &policy)
 Formatted output of the ConvertPolicy type. More...
 
std::string to_string (const ConvertPolicy &policy)
 
inline ::std::ostream & operator<< (::std::ostream &os, const ArithmeticOperation &op)
 Formatted output of the ArithmeticOperation type. More...
 
std::string to_string (const ArithmeticOperation &op)
 Formatted output of the Arithmetic Operation. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const ReductionOperation &op)
 Formatted output of the Reduction Operations. More...
 
std::string to_string (const ReductionOperation &op)
 Formatted output of the Reduction Operations. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const ComparisonOperation &op)
 Formatted output of the Comparison Operations. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const ElementWiseUnary &op)
 Formatted output of the Elementwise unary Operations. More...
 
std::string to_string (const ComparisonOperation &op)
 Formatted output of the Comparison Operations. More...
 
std::string to_string (const ElementWiseUnary &op)
 Formatted output of the Elementwise unary Operations. More...
 
std::string to_string (const NormType &type)
 Formatted output of the Norm Type. More...
 
std::string to_string (const PoolingType &type)
 Formatted output of the Pooling Type. More...
 
std::string to_string (const PoolingLayerInfo &info)
 Formatted output of the Pooling Layer Info. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const Size3D &size)
 Formatted output of the Size3D type. More...
 
std::string to_string (const Size3D &type)
 Formatted output of the Size3D type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const Padding3D &padding3d)
 Formatted output of the Padding3D type. More...
 
std::string to_string (const Padding3D &padding3d)
 Converts a Padding3D to string. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const DimensionRoundingType &rounding_type)
 Formatted output of the DimensionRoundingType type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const Pooling3dLayerInfo &info)
 Formatted output of the Pooling 3d Layer Info. More...
 
std::string to_string (const Pooling3dLayerInfo &info)
 Formatted output of the Pooling 3d Layer Info. More...
 
std::string to_string (const PriorBoxLayerInfo &info)
 Formatted output of the PriorBoxLayerInfo. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const Size2D &size)
 Formatted output of the Size2D type. More...
 
std::string to_string (const Size2D &type)
 Formatted output of the Size2D type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const ConvolutionMethod &conv_method)
 Formatted output of the ConvolutionMethod type. More...
 
std::string to_string (const ConvolutionMethod &conv_method)
 Formatted output of the ConvolutionMethod type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const GPUTarget &gpu_target)
 Formatted output of the GPUTarget type. More...
 
std::string to_string (const GPUTarget &gpu_target)
 Formatted output of the GPUTarget type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const DetectionWindow &detection_window)
 Formatted output of the DetectionWindow type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const DetectionOutputLayerCodeType &detection_code)
 Formatted output of the DetectionOutputLayerCodeType type. More...
 
std::string to_string (const DetectionOutputLayerCodeType &detection_code)
 Formatted output of the DetectionOutputLayerCodeType type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const DetectionOutputLayerInfo &detection_info)
 Formatted output of the DetectionOutputLayerInfo type. More...
 
std::string to_string (const DetectionOutputLayerInfo &detection_info)
 Formatted output of the DetectionOutputLayerInfo type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const DetectionPostProcessLayerInfo &detection_info)
 Formatted output of the DetectionPostProcessLayerInfo type. More...
 
std::string to_string (const DetectionPostProcessLayerInfo &detection_info)
 Formatted output of the DetectionPostProcessLayerInfo type. More...
 
std::string to_string (const DetectionWindow &detection_window)
 Formatted output of the DetectionWindow type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const PriorBoxLayerInfo &info)
 Formatted output of PriorBoxLayerInfo. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const WinogradInfo &info)
 Formatted output of the WinogradInfo type. More...
 
std::string to_string (const WinogradInfo &type)
 
std::string to_string (const CLTunerMode val)
 Convert a CLTunerMode value to a string. More...
 
std::string to_string (CLGEMMKernelType val)
 Converts a CLGEMMKernelType to string. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const CLTunerMode &val)
 [Print CLTunerMode type] More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const ConvolutionInfo &conv_info)
 Formatted output of the ConvolutionInfo type. More...
 
std::string to_string (const ConvolutionInfo &info)
 Converts a ConvolutionInfo to string. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const FullyConnectedLayerInfo &layer_info)
 Formatted output of the FullyConnectedLayerInfo type. More...
 
std::string to_string (const FullyConnectedLayerInfo &info)
 Converts a FullyConnectedLayerInfo to string. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const GEMMLowpOutputStageType &gemm_type)
 Formatted output of the GEMMLowpOutputStageType type. More...
 
std::string to_string (const GEMMLowpOutputStageType &gemm_type)
 Converts a GEMMLowpOutputStageType to string. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const GEMMLowpOutputStageInfo &gemm_info)
 Formatted output of the GEMMLowpOutputStageInfo type. More...
 
std::string to_string (const GEMMLowpOutputStageInfo &gemm_info)
 Converts a GEMMLowpOutputStageInfo to string. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const Conv2dInfo &conv_info)
 Formatted output of the Conv2dInfo type. More...
 
std::string to_string (const Conv2dInfo &conv_info)
 Converts a Conv2dInfo to string. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const PixelValue &pixel_value)
 Formatted output of the PixelValue type. More...
 
std::string to_string (const PixelValue &pixel_value)
 Converts a PixelValue to string. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const ScaleKernelInfo &scale_info)
 Formatted output of the ScaleKernelInfo type. More...
 
std::string to_string (const ScaleKernelInfo &scale_info)
 Converts a ScaleKernelInfo to string. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const FFTDirection &fft_dir)
 Formatted output of the FFTDirection type. More...
 
std::string to_string (const FFTDirection &fft_dir)
 Converts a FFT1DInfo to string. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const FFT1DInfo &fft1d_info)
 Formatted output of the FFT1DInfo type. More...
 
std::string to_string (const FFT1DInfo &fft1d_info)
 Converts a FFT1DInfo to string. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const FFT2DInfo &fft2d_info)
 Formatted output of the FFT2DInfo type. More...
 
std::string to_string (const FFT2DInfo &fft2d_info)
 Converts a FFT2DInfo to string. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const Coordinates2D &coord_2d)
 Formatted output of the Coordinates2D type. More...
 
std::string to_string (const Coordinates2D &coord_2d)
 Converts a Coordinates2D to string. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const FuseBatchNormalizationType &fuse_type)
 Formatted output of the FuseBatchNormalizationType type. More...
 
std::string to_string (const FuseBatchNormalizationType &fuse_type)
 Converts a FuseBatchNormalizationType to string. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const SoftmaxKernelInfo &info)
 Formatted output of the SoftmaxKernelInfo type. More...
 
std::string to_string (const SoftmaxKernelInfo &info)
 Converts a SoftmaxKernelInfo to string. More...
 
template<typename T >
::std::ostream & operator<< (::std::ostream &os, const LSTMParams< T > &lstm_params)
 Formatted output of the ScaleKernelInfo type. More...
 
template<typename T >
std::string to_string (const LSTMParams< T > &lstm_params)
 Converts a LSTMParams to string. More...
 
std::string to_string (const uint8_t num)
 Converts a LSTMParams to string. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const NMSType &nms_type)
 Available non maxima suppression types. More...
 
std::string to_string (const NMSType nms_type)
 Converts a NMSType to string. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const BoxNMSLimitInfo &info)
 Formatted output of the BoxNMSLimitInfo type. More...
 
std::string to_string (const BoxNMSLimitInfo &info)
 Converts a BoxNMSLimitInfo to string. More...
 
std::string to_string (const DimensionRoundingType &rounding_type)
 Converts a DimensionRoundingType to string. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const Conv3dInfo &conv3d_info)
 Formatted output of the Conv3dInfo type. More...
 
std::string to_string (const Conv3dInfo &conv3d_info)
 Formatted output of the Conv3dInfo type. More...
 
std::string to_string (const WeightFormat wf)
 Formatted output of the arm_compute::WeightFormat type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const arm_compute::WeightFormat &wf)
 Formatted output of the arm_compute::WeightFormat type. More...
 
std::string to_string (const std::tuple< TensorShape, TensorShape, arm_compute::WeightFormat > values)
 Formatted output of the std::tuple<TensorShape, TensorShape, arm_compute::WeightFormat> tuple. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const Padding2D &padding2d)
 Formatted output of the Padding2D type. More...
 
std::string to_string (const Padding2D &padding2d)
 Converts a Padding2D to string. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const experimental::dynamic_fusion::Pool2dAttributes &pool2d_attr)
 Formatted output of the arm_compute::experimental::dynamic_fusion::Pool2dAttributes type. More...
 
std::string to_string (const experimental::dynamic_fusion::Pool2dAttributes &pool2d_attr)
 Formatted output of the arm_compute::experimental::dynamic_fusion::Pool2dAttributes type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const experimental::dynamic_fusion::GpuPool2dSettings &settings)
 Formatted output of the arm_compute::experimental::dynamic_fusion::GpuPool2dSettings type. More...
 
std::string to_string (const experimental::dynamic_fusion::GpuPool2dSettings &settings)
 Formatted output of the arm_compute::experimental::dynamic_fusion::GpuPool2dSettings type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const experimental::dynamic_fusion::Conv2dAttributes &conv2d_attr)
 Formatted output of the arm_compute::experimental::dynamic_fusion::Conv2dAttributes type. More...
 
std::string to_string (const experimental::dynamic_fusion::Conv2dAttributes &conv2d_attr)
 Formatted output of the arm_compute::experimental::dynamic_fusion::Conv2dAttributes type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const experimental::dynamic_fusion::CastAttributes &cast_attr)
 Formatted output of the arm_compute::experimental::dynamic_fusion::CastAttributes type. More...
 
std::string to_string (const experimental::dynamic_fusion::CastAttributes &cast_attr)
 Formatted output of the arm_compute::experimental::dynamic_fusion::CastAttributes type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const experimental::dynamic_fusion::DepthwiseConv2dAttributes &dw_conv2d_attr)
 Formatted output of the arm_compute::experimental::dynamic_fusion::DepthwiseConv2dAttributes type. More...
 
std::string to_string (const experimental::dynamic_fusion::DepthwiseConv2dAttributes &dw_conv2d_attr)
 Formatted output of the arm_compute::experimental::dynamic_fusion::DepthwiseConv2dAttributes type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const experimental::dynamic_fusion::ClampAttributes &clamp_attr)
 Formatted output of the arm_compute::experimental::dynamic_fusion::ClampAttributes type. More...
 
std::string to_string (const experimental::dynamic_fusion::ClampAttributes &clamp_attr)
 Formatted output of the arm_compute::experimental::dynamic_fusion::ClampAttributes type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const experimental::dynamic_fusion::ResizeAttributes &resize_attr)
 Formatted output of the arm_compute::experimental::dynamic_fusion::ResizeAttributes type. More...
 
std::string to_string (const experimental::dynamic_fusion::ResizeAttributes &resize_attr)
 Formatted output of the arm_compute::experimental::dynamic_fusion::ResizeAttributes type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const experimental::dynamic_fusion::SoftmaxAttributes &softmax_attr)
 Formatted output of the arm_compute::experimental::dynamic_fusion::SoftmaxAttributes type. More...
 
std::string to_string (const experimental::dynamic_fusion::SoftmaxAttributes &softmax_attr)
 Formatted output of the arm_compute::experimental::dynamic_fusion::SoftmaxAttributes type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const arm_compute::MatMulInfo &matmul_info)
 Formatted output of the arm_compute::MatMulInfo type. More...
 
std::string to_string (const arm_compute::MatMulInfo &matmul_info)
 Formatted output of the arm_compute::MatMulInfo type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const arm_compute::MatMulKernelInfo &matmul_info)
 Formatted output of the arm_compute::MatMulKernelInfo type. More...
 
std::string to_string (const arm_compute::MatMulKernelInfo &matmul_info)
 Formatted output of the arm_compute::MatMulKernelInfo type. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const arm_compute::CpuMatMulSettings &settings)
 Formatted output of the arm_compute::CpuMatMulSettings type. More...
 
std::string to_string (const arm_compute::CpuMatMulSettings &settings)
 Formatted output of the arm_compute::CpuMatMulSettings type. More...
 
(EXPERIMENTAL_POST_OPS)
inline ::std::ostream & operator<< (::std::ostream &os, experimental::PostOpType post_op_type)
 Formmated output of the experimental::PostOpType type. More...
 
std::string to_string (experimental::PostOpType post_op_type)
 Converts a experimental::PostOpType to string. More...
 
template<typename T >
inline ::std::ostream & operator<< (::std::ostream &os, const experimental::IPostOp< T > &post_op)
 Formatted output of the experimental::IPostOp type. More...
 
template<typename T >
std::string to_string (const experimental::IPostOp< T > &post_op)
 Converts an experimental::IPostOp to string. More...
 
template<typename T >
inline ::std::ostream & operator<< (::std::ostream &os, const experimental::PostOpList< T > &post_ops)
 Formatted output of the experimental::PostOpList type. More...
 
template<typename T >
std::string to_string (const experimental::PostOpList< T > &post_ops)
 Converts a experimental::PostOpList to string. More...
 

Variables

constexpr size_t MAX_DIMS = 6
 Constant value used to indicate maximum dimensions of a Window, TensorShape and Coordinates. More...
 
const std::array< float32x4_t, 8 > log_tab
 Logarithm polynomial coefficients. More...
 
constexpr float te_sin_coeff2 = 0.166666666666f
 Sin polynomial coefficients. More...
 
constexpr float te_sin_coeff3 = 0.05f
 
constexpr float te_sin_coeff4 = 0.023809523810f
 
constexpr float te_sin_coeff5 = 0.013888888889f
 

Detailed Description

Copyright (c) 2017-2023 Arm Limited.

Synced with tests/validation/dynamic_fusion/gpu/cl/DirectConv2d.cpp Please check there for any differences in the coverage.

A DotMLGO file parser (LL(k) parser)

[CLReshapeLayer snippet]

[ClReshapeKernel Kernel]

[NEReshapeLayerKernel Kernel]

(EXPERIMENTAL_POST_OPS)

This file contains all available output stages for GEMMLowp.

This file contains all available output stages for GEMMLowp on OpenCL.

Copyright (c) 2018-2022 Arm Limited.

Copyright (c) 2019-2023 Arm Limited.

Copyright (c) 2021-2022 Arm Limited.

Copyright (c) 2021 Arm Limited.

Copyright (c) 2017-2021 Arm Limited.

SPDX-License-Identifier: MIT

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

In gemmlowp, the "output stage" is the process that takes a final int32 accumulator value (the output of CLGEMMLowpMatrixMultiplyCore), and processes it to obtain the final QASYMM8/QASYMM8_SIGNED value.

More information about the GEMMLowp output stage can be found at https://github.com/google/gemmlowp/blob/master/doc/output.md

In gemmlowp, the "output stage" is the process that takes a final int32 accumulator value (the output of NEGEMMLowpMatrixMultiplyCore), and processes it to obtain the final ASYMM8 value.

More information about the GEMMLowp output stage can be found at https://github.com/google/gemmlowp/blob/master/doc/output.md

The grammar of DotMLGO is defined as the following ENBF:

delim = "," | "\n"; // Note that delimiters are omitted from the definition below

mlgo = header, heuristics-table, {heuristic-tree};

header = "<header>", gemm-version, ip-type, "</header>"; gemm-version = "gemm-version", "[", int, int, int, "]"; ip-type = "ip-type", ("gpu" | "cpu");

heiristics-table = "<heuristics-table>", {heuristics-table-entry}, "</heuristics-table>"; heuristics-table-entry = entry-id, ip-name, num-cores, data-type, gpu-priority, gpu-behavior, heuristic-type, free-vars; entry-id = int; ip-name = char-sequence; num-cores = int; data-type = "f32" | "f16" | "qasymm8"; gpu-priority = "best-performance" | "best-memory-usage"; gpu-behavior = "static" | "dynamic"; heuristic-type = "gemm-type" | "gemm-config-native" | "gemm-config-reshaped-only-rhs" | "gemm-config-reshaped"; free-vars = "[", {char-sequence}, "]";

heuristic-tree = "<heuristic", entry-id, ">", {tree-node}, "</heuristic>"; tree-node = branch-node | leaf-node; branch-node = "b", entry-id, lhs-type, lhs-value, conditional-op, rhs-type, rhs-value, true-node, false-node; lhs-type = comparator-type; lhs-value = comparator-value; rhs-type = comparator-type; rhs-value = comparator-value; comparator-type = "var" | "num" | "enum"; comparator-value = char-sequence | float; conditional-op = "<" | "<=" | "==" | ">=" | ">"; true-node = entry-id; false-node = entry-id; leaf-node = "l", entry-id, heuristic-type, leaf-value; leaf-value = gemm-type | gemm-config-native | gemm-config-reshaped-only-rhs | gemm-config-reshaped gemm-type = "native" | "reshaped-only-rhs" | "reshaped"; gemm-config-native = "[", int, int, int, "]"; gemm-config-reshaped-only-rhs = "[", int, int, int, int, bool, bool, bool, "]"; gemm-config-reshaped = "[", int, int, int, int, int, bool, bool, bool, bool, "]";

Typedef Documentation

◆ BBox

using BBox = std::array<float, 4>

Definition at line 950 of file Types.h.

◆ BiStrides

Bidirectional strides.

Definition at line 53 of file Types.h.

◆ CLEqual

Basic function to run equal comparison.

Definition at line 124 of file CLComparison.h.

◆ CLFloatArray

using CLFloatArray = CLArray<cl_float>

OpenCL Array of floats.

Definition at line 116 of file CLArray.h.

◆ CLGreater

Basic function to run greater comparison.

Definition at line 128 of file CLComparison.h.

◆ CLGreaterEqual

Basic function to run greater-equal comparison.

Definition at line 130 of file CLComparison.h.

◆ CLImage

using CLImage = CLTensor

OpenCL Image.

Definition at line 104 of file CLTensor.h.

◆ CLInt16Array

using CLInt16Array = CLArray<cl_short>

OpenCL Array of int16s.

Definition at line 112 of file CLArray.h.

◆ CLInt32Array

using CLInt32Array = CLArray<cl_int>

OpenCL Array of int32s.

Definition at line 114 of file CLArray.h.

◆ CLLess

Basic function to run less comparison.

Definition at line 132 of file CLComparison.h.

◆ CLLessEqual

Basic function to run less-equal comparison.

Definition at line 134 of file CLComparison.h.

◆ CLLogSoftmaxLayer

Definition at line 112 of file CLSoftmaxLayer.h.

◆ CLNotEqual

Basic function to run not equal comparison.

Definition at line 126 of file CLComparison.h.

◆ CLSoftmaxLayer

Definition at line 111 of file CLSoftmaxLayer.h.

◆ CLUInt16Array

using CLUInt16Array = CLArray<cl_ushort>

OpenCL Array of uint16s.

Definition at line 108 of file CLArray.h.

◆ CLUInt32Array

using CLUInt32Array = CLArray<cl_uint>

OpenCL Array of uint32s.

Definition at line 110 of file CLArray.h.

◆ CLUInt8Array

using CLUInt8Array = CLArray<cl_uchar>

OpenCL Array of uint8s.

Definition at line 106 of file CLArray.h.

◆ CropInfo

Class for holding information related to cropping.

Definition at line 2762 of file Types.h.

◆ FloatArray

using FloatArray = Array<float>

Array of floats.

Definition at line 74 of file Array.h.

◆ GroupMappings

using GroupMappings = std::map<size_t, MemoryMappings>

A map of the groups and memory mappings.

Definition at line 48 of file Types.h.

◆ half

using half = half_float::half

16-bit floating point type

Definition at line 48 of file Types.h.

◆ ICLFloatArray

using ICLFloatArray = ICLArray<cl_float>

Interface for OpenCL Array of floats.

Definition at line 129 of file ICLArray.h.

◆ ICLImage

Definition at line 117 of file ICLTensor.h.

◆ ICLInt16Array

using ICLInt16Array = ICLArray<cl_short>

Interface for OpenCL Array of int16s.

Definition at line 125 of file ICLArray.h.

◆ ICLInt32Array

using ICLInt32Array = ICLArray<cl_int>

Interface for OpenCL Array of int32s.

Definition at line 127 of file ICLArray.h.

◆ ICLUInt16Array

using ICLUInt16Array = ICLArray<cl_ushort>

Interface for OpenCL Array of uint16s.

Definition at line 121 of file ICLArray.h.

◆ ICLUInt32Array

using ICLUInt32Array = ICLArray<cl_uint>

Interface for OpenCL Array of uint32s.

Definition at line 123 of file ICLArray.h.

◆ ICLUInt8Array

using ICLUInt8Array = ICLArray<cl_uchar>

Interface for OpenCL Array of uint8s.

Definition at line 119 of file ICLArray.h.

◆ IFloatArray

using IFloatArray = IArray<float>

Interface for Array of floats.

Definition at line 144 of file IArray.h.

◆ IImage

using IImage = ITensor

Definition at line 100 of file ITensor.h.

◆ IInt16Array

using IInt16Array = IArray<int16_t>

Interface for Array of int16s.

Definition at line 140 of file IArray.h.

◆ IInt32Array

using IInt32Array = IArray<int32_t>

Interface for Array of int32s.

Definition at line 142 of file IArray.h.

◆ Image

using Image = Tensor

Image.

Definition at line 69 of file Tensor.h.

◆ INEKernel

Common interface for all kernels implemented in Neon.

Definition at line 39 of file INEOperator.h.

◆ Int16Array

using Int16Array = Array<int16_t>

Array of int16s.

Definition at line 70 of file Array.h.

◆ Int32Array

using Int32Array = Array<int32_t>

Array of int32s.

Definition at line 72 of file Array.h.

◆ IUInt16Array

using IUInt16Array = IArray<uint16_t>

Interface for Array of uint16s.

Definition at line 136 of file IArray.h.

◆ IUInt32Array

using IUInt32Array = IArray<uint32_t>

Interface for Array of uint32s.

Definition at line 138 of file IArray.h.

◆ IUInt8Array

using IUInt8Array = IArray<uint8_t>

Interface for Array of uint8s.

Definition at line 134 of file IArray.h.

◆ LabelBBox

using LabelBBox = std::map<int, std::vector<BBox> >

Definition at line 952 of file Types.h.

◆ lock_guard

using lock_guard = std::lock_guard<Mutex>

Wrapper of lock_guard data-object.

Definition at line 37 of file Mutex.h.

◆ MemoryMappings

using MemoryMappings = std::map<IMemory *, size_t>

A map of (handle, index/offset), where handle is the memory handle of the object to provide the memory for and index/offset is the buffer/offset from the pool that should be used.

Note
All objects are pre-pinned to specific buffers to avoid any relevant overheads

Definition at line 45 of file Types.h.

◆ MemoryRequirements

◆ Multiples

using Multiples = std::vector<uint32_t>

Information to produce a tiled version of a Tensor.

Definition at line 458 of file Types.h.

◆ Mutex

using Mutex = std::mutex

Wrapper of Mutex data-object.

Definition at line 33 of file Mutex.h.

◆ NEAbsLayer

◆ NEEqual

Basic function to run equal comparison.

Definition at line 436 of file NEElementwiseOperations.h.

◆ NEExpLayer

◆ NEGreater

Basic function to run greater comparison.

Definition at line 440 of file NEElementwiseOperations.h.

◆ NEGreaterEqual

Basic function to run greater-equal comparison.

Definition at line 442 of file NEElementwiseOperations.h.

◆ NELess

Basic function to run less comparison.

Definition at line 444 of file NEElementwiseOperations.h.

◆ NELessEqual

Basic function to run less-equal comparison.

Definition at line 446 of file NEElementwiseOperations.h.

◆ NELogLayer

◆ NELogSoftmaxLayer

Definition at line 98 of file NESoftmaxLayer.h.

◆ NENegLayer

◆ NENotEqual

Basic function to run not equal comparison.

Definition at line 438 of file NEElementwiseOperations.h.

◆ NERoundLayer

◆ NERsqrtLayer

◆ NEScheduler

CPU Scheduler.

Definition at line 32 of file NEScheduler.h.

◆ NESinLayer

◆ NESoftmaxLayer

Definition at line 97 of file NESoftmaxLayer.h.

◆ OperatorType

Definition at line 39 of file CLGEMM.cpp.

◆ PaddingInfo

using PaddingInfo = std::pair<uint32_t, uint32_t>

Padding information as a pair of unsigned int start/end.

Definition at line 452 of file Types.h.

◆ PaddingList

using PaddingList = std::vector<PaddingInfo>

List of padding information.

Definition at line 455 of file Types.h.

◆ PaddingSize

Container for 2D padding size.

Definition at line 399 of file Types.h.

◆ PermutationVector

Permutation vector.

Definition at line 51 of file Types.h.

◆ qasymm16_t

using qasymm16_t = uint16_t

16 bit quantized asymmetric scalar value

Definition at line 41 of file QuantizationInfo.h.

◆ qasymm8_signed_t

using qasymm8_signed_t = int8_t

8 bit signed quantized asymmetric scalar value

Definition at line 38 of file QuantizationInfo.h.

◆ qasymm8_t

using qasymm8_t = uint8_t

8 bit quantized asymmetric scalar value

Definition at line 39 of file QuantizationInfo.h.

◆ qasymm8x16_signed_t

using qasymm8x16_signed_t = int8x16_t

8 bit quantized signed asymmetric vector with 16 elements

Definition at line 43 of file NEAsymm.h.

◆ qasymm8x16_t

using qasymm8x16_t = uint8x16_t

8 bit quantized asymmetric vector with 16 elements

Definition at line 37 of file NEAsymm.h.

◆ qasymm8x8_signed_t

using qasymm8x8_signed_t = int8x8_t

8 bit quantized signed asymmetric vector with 8 elements

Definition at line 39 of file NEAsymm.h.

◆ qasymm8x8_t

using qasymm8x8_t = uint8x8_t

8 bit quantized asymmetric vector with 8 elements

Definition at line 33 of file NEAsymm.h.

◆ qasymm8x8x2_signed_t

using qasymm8x8x2_signed_t = int8x8x2_t

8 bit quantized signed asymmetric vector with 16 elements

Definition at line 40 of file NEAsymm.h.

◆ qasymm8x8x2_t

using qasymm8x8x2_t = uint8x8x2_t

8 bit quantized asymmetric vector with 16 elements

Definition at line 34 of file NEAsymm.h.

◆ qasymm8x8x3_signed_t

using qasymm8x8x3_signed_t = int8x8x3_t

8 bit quantized signed asymmetric vector with 24 elements

Definition at line 41 of file NEAsymm.h.

◆ qasymm8x8x3_t

using qasymm8x8x3_t = uint8x8x3_t

8 bit quantized asymmetric vector with 24 elements

Definition at line 35 of file NEAsymm.h.

◆ qasymm8x8x4_signed_t

using qasymm8x8x4_signed_t = int8x8x4_t

8 bit quantized signed asymmetric vector with 32 elements

Definition at line 42 of file NEAsymm.h.

◆ qasymm8x8x4_t

using qasymm8x8x4_t = uint8x8x4_t

8 bit quantized asymmetric vector with 32 elements

Definition at line 36 of file NEAsymm.h.

◆ qsymm16_t

typedef int16_t qsymm16_t

16 bit quantized symmetric scalar value

Definition at line 40 of file QuantizationInfo.h.

◆ qsymm16x8_t

using qsymm16x8_t = int16x8_t

16 bit quantized symmetric vector with 8 elements

Definition at line 36 of file NESymm.h.

◆ qsymm16x8x2_t

using qsymm16x8x2_t = int16x8x2_t

16 bit quantized symmetric vector with 16 elements

Definition at line 37 of file NESymm.h.

◆ qsymm8_t

using qsymm8_t = int8_t

8 bit quantized symmetric scalar value

Definition at line 33 of file NESymm.h.

◆ UInt16Array

using UInt16Array = Array<uint16_t>

Array of uint16s.

Definition at line 66 of file Array.h.

◆ UInt32Array

using UInt32Array = Array<uint32_t>

Array of uint32s.

Definition at line 68 of file Array.h.

◆ UInt8Array

using UInt8Array = Array<uint8_t>

Array of uint8s.

Definition at line 64 of file Array.h.

◆ unique_lock

using unique_lock = std::unique_lock<Mutex>

Wrapper of lock_guard data-object.

Definition at line 41 of file Mutex.h.

◆ WorkspaceData

Definition at line 52 of file MemoryHelpers.h.

Enumeration Type Documentation

◆ ArithmeticOperation

enum ArithmeticOperation
strong

Available element-wise operations.

Enumerator
ADD 

(x + y)

SUB 

(x - y)

DIV 

(x / y)

MIN 

Min(x, y)

MAX 

Max(x, y)

SQUARED_DIFF 

(x - y)^2

POWER 

x ^ y

PRELU 

y*x if x < 0, x otherwise

Definition at line 491 of file Types.h.

492 {
493  ADD, /**< (x + y) */
494  SUB, /**< (x - y) */
495  DIV, /**< (x / y) */
496  MIN, /**< Min(x, y) */
497  MAX, /**< Max(x, y) */
498  SQUARED_DIFF, /**< (x - y)^2 */
499  POWER, /**< x ^ y */
500  PRELU, /**< y*x if x < 0, x otherwise */
501 };
#define PRELU(x, y)
#define DIV(x, y)
#define MAX(x, y)
#define MIN(x, y)
#define SUB(x, y)
#define ADD(x, y)
#define SQUARED_DIFF(x, y)

◆ BilinearInterpolation

enum BilinearInterpolation
strong

Bilinear Interpolation method used by LKTracker.

Enumerator
BILINEAR_OLD_NEW 

Old-new method.

BILINEAR_SCHARR 

Scharr method.

Definition at line 421 of file Types.h.

422 {
423  BILINEAR_OLD_NEW, /**< Old-new method */
424  BILINEAR_SCHARR /**< Scharr method */
425 };

◆ BitwiseOperation

enum BitwiseOperation
strong

Available bitwise operations.

Enumerator
AND 

Bitwise AND operation.

NOT 

Bitwise NOT operation.

OR 

Bitwise OR operation.

XOR 

Bitwise XOR operation.

Definition at line 517 of file Types.h.

518 {
519  AND, /**< Bitwise AND operation */
520  NOT, /**< Bitwise NOT operation */
521  OR, /**< Bitwise OR operation */
522  XOR, /**< Bitwise XOR operation */
523 };
Bitwise NOT operation.
Bitwise XOR operation.
Bitwise AND operation.
Bitwise OR operation.

◆ BorderMode

enum BorderMode
strong

Methods available to handle borders.

Enumerator
UNDEFINED 

Borders are left undefined.

CONSTANT 

Pixels outside the image are assumed to have a constant value.

REPLICATE 

Pixels outside the image are assumed to have the same value as the closest image pixel.

Definition at line 276 of file Types.h.

277 {
278  UNDEFINED, /**< Borders are left undefined */
279  CONSTANT, /**< Pixels outside the image are assumed to have a constant value */
280  REPLICATE /**< Pixels outside the image are assumed to have the same value as the closest image pixel */
281 };
Borders are left undefined.
Pixels outside the image are assumed to have the same value as the closest image pixel.

◆ Channel

enum Channel
strong

Available channels.

Enumerator
UNKNOWN 
C0 

Unknown channel format.

First channel (used by formats with unknown channel types).

C1 

Second channel (used by formats with unknown channel types).

C2 

Third channel (used by formats with unknown channel types).

C3 

Fourth channel (used by formats with unknown channel types).

Red channel.

Green channel.

Blue channel.

Alpha channel.

Luma channel.

Cb/U channel.

Cr/V/Value channel.

Definition at line 461 of file Types.h.

462 {
463  UNKNOWN, /** Unknown channel format */
464  C0, /**< First channel (used by formats with unknown channel types). */
465  C1, /**< Second channel (used by formats with unknown channel types). */
466  C2, /**< Third channel (used by formats with unknown channel types). */
467  C3, /**< Fourth channel (used by formats with unknown channel types). */
468  R, /**< Red channel. */
469  G, /**< Green channel. */
470  B, /**< Blue channel. */
471  A, /**< Alpha channel. */
472  Y, /**< Luma channel. */
473  U, /**< Cb/U channel. */
474  V /**< Cr/V/Value channel. */
475 };
Second channel (used by formats with unknown channel types).
Unknown CL kernel type.
Definition: CLTypes.h:82
Cr/V/Value channel.
Unknown channel format.
Third channel (used by formats with unknown channel types).
Fourth channel (used by formats with unknown channel types).

◆ CLBackendType

enum CLBackendType
strong

List the possible OpenCL backends.

Enumerator
Native 

OpenCL native backend.

Clvk 

CLVK backend.

Definition at line 55 of file CLTypes.h.

56 {
57  Native, /**< OpenCL native backend */
58  Clvk, /**< CLVK backend */
59 };
OpenCL native backend.

◆ CLGEMMKernelType

enum CLGEMMKernelType
strong

OpenCL GEMM kernel types.

Enumerator
NATIVE 

Native GEMM kernel with configurable block size.

RESHAPED 

Reshaped GEMM kernel where both lhs and rhs matrices are reshaped.

Configurable reshape and block size

RESHAPED_ONLY_RHS 

Reshaped GEMM kernel where only the rhs matrix is reshaped.

Configurable reshape and block size

RESHAPED_ONLY_RHS_MMUL 

Reshaped GEMM kernel where only the rhs matrix is reshaped.

Using MMUL with configurable block size.

Definition at line 31 of file CLTypes.h.

32 {
33  /** Native GEMM kernel with configurable block size.*/
34  NATIVE,
35  /** Reshaped GEMM kernel where both lhs and rhs matrices are reshaped. Configurable reshape and block size */
36  RESHAPED,
37  /** Reshaped GEMM kernel where only the rhs matrix is reshaped. Configurable reshape and block size */
39  /** Reshaped GEMM kernel where only the rhs matrix is reshaped. Using MMUL with configurable block size. */
41 };
Reshaped GEMM kernel where only the rhs matrix is reshaped.
Reshaped GEMM kernel where only the rhs matrix is reshaped.
Reshaped GEMM kernel where both lhs and rhs matrices are reshaped.
Native GEMM kernel with configurable block size.

◆ CLImage2DType

enum CLImage2DType
strong

OpenCL Image2D types.

Enumerator
ReadOnly 
WriteOnly 

Definition at line 38 of file CLUtils.h.

◆ CLKernelType

Enumerator
UNKNOWN 

Unknown CL kernel type.

UNKNOWN 
DEPTHWISE 

Depthwise CL kernel type.

DIRECT 

Direct Convolution CL kernel type.

ELEMENTWISE 

Elementwise CL kernel type.

GEMM 

GEMM CL kernel type.

POOL 

Pool CL kernel type.

WINOGRAD 

Winograd CL kernel type.

Definition at line 80 of file CLTypes.h.

81 {
82  UNKNOWN, /**< Unknown CL kernel type */
83  DEPTHWISE, /**< Depthwise CL kernel type */
84  DIRECT, /**< Direct Convolution CL kernel type */
85  ELEMENTWISE, /**< Elementwise CL kernel type */
86  GEMM, /**< GEMM CL kernel type */
87  POOL, /**< Pool CL kernel type */
88  WINOGRAD /**< Winograd CL kernel type */
89 };
Unknown CL kernel type.
Definition: CLTypes.h:82
Winograd CL kernel type.
Definition: CLTypes.h:88
Pool CL kernel type.
Definition: CLTypes.h:87
Elementwise CL kernel type.
Definition: CLTypes.h:85
Depthwise CL kernel type.
Definition: CLTypes.h:83
GEMM CL kernel type.
Definition: CLTypes.h:86
Direct Convolution CL kernel type.
Definition: CLTypes.h:84

◆ CLTunerMode

enum CLTunerMode
strong

< OpenCL tuner modes

Enumerator
EXHAUSTIVE 

Searches all possible LWS configurations while tuning.

NORMAL 

Searches a subset of LWS configurations while tuning.

RAPID 

Searches a minimal subset of LWS configurations while tuning.

Definition at line 35 of file CLTunerTypes.h.

36 {
37  EXHAUSTIVE, /**< Searches all possible LWS configurations while tuning */
38  NORMAL, /**< Searches a subset of LWS configurations while tuning */
39  RAPID /**< Searches a minimal subset of LWS configurations while tuning */
40 };
Searches a subset of LWS configurations while tuning.
Searches a minimal subset of LWS configurations while tuning.
Searches all possible LWS configurations while tuning.

◆ CLVersion

enum CLVersion
strong

Available OpenCL Version.

Enumerator
CL10 
CL11 
CL12 
CL20 
CL30 
UNKNOWN 

Definition at line 39 of file CLTypes.h.

40 {
41  CL10, /* the OpenCL 1.0 */
42  CL11, /* the OpenCL 1.1 */
43  CL12, /* the OpenCL 1.2 */
44  CL20, /* the OpenCL 2.x */
45  CL30, /* the OpenCL 3.x */
46  UNKNOWN /* unkown version */
47 };
Unknown CL kernel type.
Definition: CLTypes.h:82

◆ ComparisonOperation

enum ComparisonOperation
strong

Supported comparison operations.

Enumerator
Equal 

Equal comparison ( \( x == y \) )

NotEqual 

NotEqual comparison ( \( x != y \) )

Greater 

Greater comparison ( \( x > y \) )

GreaterEqual 

Greater equal comparison ( \( x >= y \) )

Less 

Less comparison ( \( x < y \) )

LessEqual 

Less equal comparison ( \( x <= y \) )

Definition at line 175 of file Types.h.

176 {
177  Equal, /**< Equal comparison ( \f$ x == y \f$ ) */
178  NotEqual, /**< NotEqual comparison ( \f$ x != y \f$ ) */
179  Greater, /**< Greater comparison ( \f$ x > y \f$ ) */
180  GreaterEqual, /**< Greater equal comparison ( \f$ x >= y \f$ ) */
181  Less, /**< Less comparison ( \f$ x < y \f$ ) */
182  LessEqual /**< Less equal comparison ( \f$ x <= y \f$ ) */
183 };

◆ ConvertPolicy

enum ConvertPolicy
strong

Policy to handle integer overflow.

Note
: This is ignored by floating point operations where the overflow behavior adheres to the IEEE-754 standard which states that in case of overflow ±infinity is returned for the round-to-nearest modes (and follows the rounding rules for the directed rounding modes) by default.
Enumerator
WRAP 

Wrap around.

SATURATE 

Saturate.

Definition at line 406 of file Types.h.

407 {
408  WRAP, /**< Wrap around */
409  SATURATE /**< Saturate */
410 };

◆ ConvolutionMethod

enum ConvolutionMethod
strong

Available ConvolutionMethod.

Enumerator
GEMM 

Convolution using GEMM.

GEMM_CONV2D 

Direct 2D GEMM convolution.

DIRECT 

Direct convolution.

INDIRECT 

Indirect convolution.

WINOGRAD 

Convolution using Winograd.

FFT 

Convolution using FFT.

Definition at line 134 of file Types.h.

135 {
136  GEMM, /**< Convolution using GEMM */
137  GEMM_CONV2D, /**< Direct 2D GEMM convolution */
138  DIRECT, /**< Direct convolution */
139  INDIRECT, /**< Indirect convolution */
140  WINOGRAD, /**< Convolution using Winograd */
141  FFT /**< Convolution using FFT */
142 };
Winograd CL kernel type.
Definition: CLTypes.h:88
GEMM CL kernel type.
Definition: CLTypes.h:86
Direct Convolution CL kernel type.
Definition: CLTypes.h:84

◆ CPUModel

enum CPUModel
strong

CPU models types.

Note
We only need to detect CPUs we have microarchitecture-specific code for.
Architecture features are detected via HWCAPs.
Enumerator
GENERIC 
GENERIC_FP16 
GENERIC_FP16_DOT 
A53 
A55r0 
A55r1 
A35 
A73 
A76 
A510 
X1 
V1 
A64FX 
N1 

Definition at line 59 of file CPPTypes.h.

60 {
61 #define X(model) model,
63 #undef X
64 };
#define ARM_COMPUTE_CPU_MODEL_LIST
Definition: CPPTypes.h:38

◆ DataLayout

enum DataLayout
strong

[DataLayout enum definition]

Supported tensor data layouts

Enumerator
UNKNOWN 

Unknown data layout.

NCHW 

Num samples, channels, height, width.

NHWC 

Num samples, height, width, channels.

NCDHW 

Num samples, channels, depth, height, width.

NDHWC 

Num samples, depth, height, width, channels.

Definition at line 113 of file Types.h.

114 {
115  UNKNOWN, /**< Unknown data layout */
116  NCHW, /**< Num samples, channels, height, width */
117  NHWC, /**< Num samples, height, width, channels */
118  NCDHW, /**< Num samples, channels, depth, height, width */
119  NDHWC /**< Num samples, depth, height, width, channels */
120 };
Unknown CL kernel type.
Definition: CLTypes.h:82
Num samples, depth, height, width, channels.
Num samples, channels, depth, height, width.
Num samples, channels, height, width.
Num samples, height, width, channels.

◆ DataLayoutDimension

enum DataLayoutDimension
strong

[DataLayout enum definition]

Supported tensor data layout dimensions

Enumerator
CHANNEL 

channel

HEIGHT 

height

WIDTH 

width

DEPTH 

depth

BATCHES 

batches

Definition at line 124 of file Types.h.

125 {
126  CHANNEL, /**< channel */
127  HEIGHT, /**< height */
128  WIDTH, /**< width */
129  DEPTH, /**< depth */
130  BATCHES /**< batches */
131 };

◆ DataType

enum DataType
strong

Available data types.

Enumerator
UNKNOWN 

Unknown data type.

U8 

unsigned 8-bit number

S8 

signed 8-bit number

QSYMM8 

quantized, symmetric fixed-point 8-bit number

QASYMM8 

quantized, asymmetric fixed-point 8-bit number unsigned

QASYMM8_SIGNED 

quantized, asymmetric fixed-point 8-bit number signed

QSYMM8_PER_CHANNEL 

quantized, symmetric per channel fixed-point 8-bit number

U16 

unsigned 16-bit number

S16 

signed 16-bit number

QSYMM16 

quantized, symmetric fixed-point 16-bit number

QASYMM16 

quantized, asymmetric fixed-point 16-bit number

U32 

unsigned 32-bit number

S32 

signed 32-bit number

U64 

unsigned 64-bit number

S64 

signed 64-bit number

BFLOAT16 

16-bit brain floating-point number

F16 

16-bit floating-point number

F32 

32-bit floating-point number

F64 

64-bit floating-point number

SIZET 

size_t

Definition at line 79 of file Types.h.

80 {
81  UNKNOWN, /**< Unknown data type */
82  U8, /**< unsigned 8-bit number */
83  S8, /**< signed 8-bit number */
84  QSYMM8, /**< quantized, symmetric fixed-point 8-bit number */
85  QASYMM8, /**< quantized, asymmetric fixed-point 8-bit number unsigned */
86  QASYMM8_SIGNED, /**< quantized, asymmetric fixed-point 8-bit number signed */
87  QSYMM8_PER_CHANNEL, /**< quantized, symmetric per channel fixed-point 8-bit number */
88  U16, /**< unsigned 16-bit number */
89  S16, /**< signed 16-bit number */
90  QSYMM16, /**< quantized, symmetric fixed-point 16-bit number */
91  QASYMM16, /**< quantized, asymmetric fixed-point 16-bit number */
92  U32, /**< unsigned 32-bit number */
93  S32, /**< signed 32-bit number */
94  U64, /**< unsigned 64-bit number */
95  S64, /**< signed 64-bit number */
96  BFLOAT16, /**< 16-bit brain floating-point number */
97  F16, /**< 16-bit floating-point number */
98  F32, /**< 32-bit floating-point number */
99  F64, /**< 64-bit floating-point number */
100  SIZET /**< size_t */
101 };
quantized, symmetric fixed-point 16-bit number
Unknown CL kernel type.
Definition: CLTypes.h:82
1 channel, 1 U8 per channel
1 channel, 1 F32 per channel
quantized, asymmetric fixed-point 16-bit number
1 channel, 1 U16 per channel
1 channel, 1 F16 per channel
1 channel, 1 S32 per channel
16-bit brain floating-point number
signed 64-bit number
1 channel, 1 U32 per channel
quantized, asymmetric fixed-point 8-bit number unsigned
1 channel, 1 S16 per channel
quantized, symmetric fixed-point 8-bit number
quantized, symmetric per channel fixed-point 8-bit number
quantized, asymmetric fixed-point 8-bit number signed
64-bit floating-point number
unsigned 64-bit number
signed 8-bit number

◆ DeconvolutionMethod

enum DeconvolutionMethod
strong

Available DeconvolutionMethod.

Enumerator
GEMM 

Deconvolution using GEMM.

DIRECT 

Direct deconvolution.

UPSCALE_CONV2D 

Deconvolution with Upscaling.

Definition at line 152 of file Types.h.

153 {
154  GEMM, /**< Deconvolution using GEMM */
155  DIRECT, /**< Direct deconvolution */
156  UPSCALE_CONV2D /**< Deconvolution with Upscaling */
157 };
GEMM CL kernel type.
Definition: CLTypes.h:86
Direct Convolution CL kernel type.
Definition: CLTypes.h:84

◆ DepthwiseConvolutionFunction

Available DepthwiseConvolutionFunction.

Enumerator
OPTIMIZED 

Optimized Depthwise Convolution.

GENERIC 

Generic Depthwise Convolution.

Definition at line 145 of file Types.h.

146 {
147  OPTIMIZED, /**< Optimized Depthwise Convolution */
148  GENERIC, /**< Generic Depthwise Convolution */
149 };

◆ DetectionOutputLayerCodeType

Available Detection Output code types.

Enumerator
CORNER 

Use box corners.

CENTER_SIZE 

Use box centers and size.

CORNER_SIZE 

Use box centers and size.

TF_CENTER 

Use box centers and size but flip x and y co-ordinates.

Definition at line 955 of file Types.h.

956 {
957  CORNER, /**< Use box corners */
958  CENTER_SIZE, /**< Use box centers and size */
959  CORNER_SIZE, /**< Use box centers and size */
960  TF_CENTER /**< Use box centers and size but flip x and y co-ordinates */
961 };
Use box centers and size but flip x and y co-ordinates.

◆ DeviceType

enum DeviceType
strong

Device types.

Enumerator
NEON 
CL 

Definition at line 33 of file IDevice.h.

◆ DimensionRoundingType

enum DimensionRoundingType
strong

Dimension rounding type when down-scaling on CNNs.

Note
Used in pooling and convolution layer
Enumerator
FLOOR 

Floor rounding.

CEIL 

Ceil rounding.

Definition at line 552 of file Types.h.

553 {
554  FLOOR, /**< Floor rounding */
555  CEIL /**< Ceil rounding */
556 };

◆ ElementWiseUnary

enum ElementWiseUnary
strong

Available element wise unary operations.

Enumerator
RSQRT 

Reverse square root.

EXP 

Exponential.

NEG 

Negate.

LOG 

Natural Logarithm.

ABS 

Absolute value.

SIN 

Sine.

ROUND 

Round.

LOGICAL_NOT 

Logical Not.

Definition at line 504 of file Types.h.

505 {
506  RSQRT, /**< Reverse square root */
507  EXP, /**< Exponential */
508  NEG, /**< Negate */
509  LOG, /**< Natural Logarithm */
510  ABS, /**< Absolute value */
511  SIN, /**< Sine */
512  ROUND, /**< Round */
513  LOGICAL_NOT, /**< Logical Not */
514 };

◆ ErrorCode

enum ErrorCode