Compute Library
 21.05
arm_compute Namespace Reference

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

Namespaces

 arm_compute
 
 cl_gemm
 
 cl_tuner
 
 cpu
 
 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...
 
struct  AsmGemmInfo
 
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 CLDepthConvertLayerKernel. 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  CLCol2ImKernel
 Interface for the col2im reshaping kernel. 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  CLConvertFullyConnectedWeights
 Basic function to run an opencl::kernels::ClConvertFullyConnectedWeightsKernel. More...
 
class  CLConvolutionLayer
 Basic function to compute the convolution layer. More...
 
class  CLConvolutionLayerReshapeWeights
 Function to reshape and transpose the weights. More...
 
class  CLCopy
 Basic function to run opencl::kernels::ClCopyKernel. More...
 
class  CLCoreRuntimeContext
 Core runtime context for OpenCL. 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 CLDepthConvertLayerKernel. More...
 
class  CLDepthConvertLayerKernel
 Interface for the depth conversion kernel. 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  CLDepthwiseConvolutionLayer3x3NCHWKernel
 Interface for the kernel to run a 3x3 depthwise convolution on a tensor when the data layout is NCHW. More...
 
class  CLDepthwiseConvolutionLayer3x3NHWCKernel
 Interface for the kernel to run a 3x3 depthwise convolution on a tensor when the data layout is NHWC. More...
 
class  CLDepthwiseConvolutionLayerNativeKernel
 Interface for the kernel to run a MxN depthwise convolution. More...
 
class  CLDequantizationLayer
 Basic function to run opencl::ClDequantization 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  CLFillBorder
 Basic function to run CLFillBorderKernel. 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  CLGEMMConfigArray
 Basic container for the OpenCL GEMM configuration functions. 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  CLGEMMLowpMatrixAReductionKernel
 OpenCL kernel used to compute the row-vectors of sums of all the entries in each row of Matrix A. More...
 
class  CLGEMMLowpMatrixBReductionKernel
 OpenCL kernel used to compute the row-vectors of sums of all the entries in each column of Matrix B. More...
 
class  CLGEMMLowpMatrixMultiplyCore
 Basic function to execute GEMMLowpMatrixMultiplyCore on OpenCL. More...
 
class  CLGEMMLowpMatrixMultiplyNativeKernel
 OpenCL kernel to multiply matrices with QASYMM8/QASYMM8_SIGNED data type. More...
 
class  CLGEMMLowpMatrixMultiplyReshapedKernel
 OpenCL kernel to multiply matrices when both the input matrices LHS (input0) and RHS (input1) have been reshaped. More...
 
class  CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel
 OpenCL kernel to multiply matrices with QASYMM8 data type when only the input matrix RHS (input1) has been reshaped. More...
 
class  CLGEMMLowpOffsetContributionKernel
 OpenCL kernel used to add the offset contribution after the matrix multiplication. More...
 
class  CLGEMMLowpOffsetContributionOutputStageKernel
 OpenCL kernel used to add the offset contribution after the matrix multiplication and perform the output stage. More...
 
class  CLGEMMLowpOutputStage
 Basic function to execute GEMMLowpQuantizeDown kernels on CL. More...
 
class  CLGEMMLowpQuantizeDownInt32ScaleByFixedPointKernel
 OpenCL kernel used to quantize down the int32 accumulator values of GEMMLowp to QASYMM8/QASYMM8_SIGNED/QSYMM16. More...
 
class  CLGEMMLowpQuantizeDownInt32ScaleByFloatKernel
 OpenCL kernel used to quantize down the int32 accumulator values of GEMMLowp to QASYMM8/QASYMM8_SIGNED. More...
 
class  CLGEMMLowpQuantizeDownInt32ScaleKernel
 OpenCL kernel used to quantize down the int32 accumulator values of GEMMLowp to QASYMM8/QASYMM8_SIGNED. More...
 
class  CLGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPoint
 Basic function to execute CLGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPoint on OpenCL. More...
 
class  CLGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPoint
 Basic function to execute CLGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPoint on OpenCL. More...
 
class  CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint
 Basic function to execute CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint on OpenCL. More...
 
class  CLGEMMMatrixMultiplyKernel
 OpenCL kernel to multiply two input matrices "A" and "B" and add a martix "C" if provided. More...
 
class  CLGEMMMatrixMultiplyNativeKernel
 OpenCL kernel to multiply matrices when neither of the input matrices have been reshaped. More...
 
class  CLGEMMMatrixMultiplyReshapedKernel
 OpenCL kernel to multiply matrices when both the input matrices LHS (input0) and RHS (input1) have been reshaped. More...
 
class  CLGEMMMatrixMultiplyReshapedOnlyRHSKernel
 OpenCL kernel to multiply matrices when only the input matrix RHS (input1) has been reshaped. More...
 
class  CLGEMMReshapeLHSMatrixKernel
 OpenCL kernel to reshape the LHS matrix when performing the matrix multiplication. More...
 
class  CLGEMMReshapeRHSMatrixKernel
 OpenCL kernel to reshape the RHS matrix when performing the matrix multiplication In particular, this kernel splits the input matrix in blocks of size K0xN0 and stores each one in the output matrix unrolling the values. More...
 
class  CLGenerateProposalsLayer
 Basic function to generate proposals for a RPN (Region Proposal Network) More...
 
class  CLIm2ColKernel
 Interface for the im2col reshape kernel. 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  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  CLMinMaxLayerKernel
 Interface for the kernel to perform min max search on a 3D tensor. 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  CLPoolingLayer
 Basic function to run opencl::ClPooling. 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  CLRemap
 Basic function to execute remap. More...
 
class  CLRemapKernel
 OpenCL kernel to perform a remap on a tensor. 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  CLWeightsReshapeKernel
 OpenCL kernel to perform reshaping on the weights used by convolution and locally connected layer. More...
 
class  CLWinogradConvolutionLayer
 Basic function to execute Winograd-based convolution on OpenCL. More...
 
class  CLWinogradFilterTransformKernel
 Interface for the Winograd filter transform kernel. More...
 
class  CLWinogradInputTransform
 Basic function to execute a CLWinogradInputTransformKernel. More...
 
class  CLWinogradInputTransformKernel
 OpenCL kernel to perform Winograd input transform. More...
 
class  CLWinogradOutputTransformKernel
 Interface for the Winograd output transform kernel. More...
 
class  ComputeAnchorsInfo
 ComputeAnchors information class. More...
 
struct  Conv2dInfo
 Descriptor used by the 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  DetectionOutputLayerInfo
 Detection Output layer info. More...
 
class  DetectionPostProcessLayerInfo
 Detection Output layer info. More...
 
struct  DetectionWindow
 Detection window used for the object detection. More...
 
struct  DeviceProperties
 Device properties. More...
 
class  Dimensions
 Dimensions with dimensionality. More...
 
struct  DirectConvolutionLayerOutputStageKernelInfo
 Descriptor used by the direct convolution layer output stage kernels. More...
 
struct  DWCKernelInfo
 Descriptor used by the depthwise convolution kernels. More...
 
struct  DWCWeightsKernelInfo
 Descriptor used by the depthwise convolution kernels to retrieve the number of output elements processed by each thread. 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  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  ICLGEMMKernelConfiguration
 Basic interface for the GEMM kernel configuration. More...
 
class  ICLGEMMLowpReductionKernel
 Common interface for all OpenCL reduction kernels. 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  ICPPSimpleKernel
 Interface for simple C++ kernels having 1 tensor input and 1 tensor output. 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  INEGEMMLowpReductionKernel
 Common interface for all reduction kernels. 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...
 
class  INEWinogradLayerTransformInputKernel
 Interface for the kernel to perform Winograd input transform. More...
 
class  INEWinogradLayerTransformOutputKernel
 Interface for the kernel to perform Winograd output transform. More...
 
class  INEWinogradLayerTransformWeightsKernel
 Interface for the kernel to perform Winograd weights transform. More...
 
struct  InstanceNormalizationLayerKernelInfo
 
struct  IOFormatInfo
 IO formatting information class. 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  MEMInfo
 
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  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 NEDepthConvertLayerKernel. 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  NEConvertFullyConnectedWeights
 Basic function to run cpu::kernels::CpuConvertFullyConnectedWeightsKernel. More...
 
class  NEConvertQuantizedSignednessKernel
 Kernel to convert asymmetric signed to asymmetric signed and vice-versa. More...
 
class  NEConvolutionLayer
 Basic function to simulate a convolution layer. More...
 
class  NEConvolutionLayerReshapeWeights
 Function to reshape the weights. 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 NEDepthConvertLayerKernel. More...
 
class  NEDepthConvertLayerKernel
 Depth conversion kernel This function ignores the scale and zeroPoint of quanized tensors, i.e. 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::CpuDequantization 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  NEGEMMAssemblyDispatch
 Assembly kernel glue. More...
 
class  NEGEMMConv2d
 Basic function to compute the convolution layer. More...
 
class  NEGEMMConvolutionLayer
 Basic function to compute the convolution layer. More...
 
class  NEGEMMInterleave4x4Kernel
 Kernel to interleave the elements of a matrix. More...
 
class  NEGEMMLowpMatrixAReductionKernel
 Kernel used to compute the row-vectors of sums of all the entries in each row of Matrix A. More...
 
class  NEGEMMLowpMatrixBReductionKernel
 Kernel used to compute the row-vectors of sums of all the entries in each column of Matrix B. More...
 
class  NEGEMMLowpMatrixMultiplyCore
 Basic function to execute GEMMLowpMatrixMultiplyCore. More...
 
class  NEGEMMLowpMatrixMultiplyKernel
 Kernel to multiply matrices. More...
 
class  NEGEMMLowpOffsetContributionKernel
 Kernel used to add the offset contribution after NEGEMMLowpMatrixMultiplyKernel. More...
 
class  NEGEMMLowpOffsetContributionOutputStageKernel
 Kernel used to add the offset contribution and perform the output stage after NEGEMMLowpMatrixMultiplyKernel. More...
 
class  NEGEMMLowpOutputStage
 Basic function to execute GEMMLowpQuantizeDown kernels. More...
 
class  NEGEMMLowpQuantizeDownInt32ScaleKernel
 Kernel used to quantize down the int32 accumulator values of GEMMLowp to QASYMM8/QASYMM8_SIGNED. More...
 
class  NEGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPoint
 Basic function to execute NEGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPoint. More...
 
class  NEGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPointKernel
 Kernel used to quantize down the int32 accumulator values of GEMMLowp to QSYMM16. More...
 
class  NEGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPoint
 Basic function to execute NEGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPoint. More...
 
class  NEGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPointKernel
 Kernel used to quantize down the int32 accumulator values of GEMMLowp to QASYMM8_SIGNED. More...
 
class  NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint
 Basic function to execute NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint. More...
 
class  NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel
 Kernel used to quantize down the int32 accumulator values of GEMMLowp to QASYMM8. More...
 
class  NEGEMMMatrixAdditionKernel
 Kernel to perform the in-place matrix addition between 2 matrices taking into account that the second matrix might be weighted by a scalar value beta: More...
 
class  NEGEMMMatrixMultiplyKernel
 Kernel to multiply two input matrices "A" and "B". More...
 
class  NEGEMMTranspose1xWKernel
 Kernel which transposes the elements of a matrix in chunks of 1xW, where W is equal to (16 / element size of the tensor) More...
 
class  NEGenerateProposalsLayer
 Basic function to generate proposals for a RPN (Region Proposal Network) More...
 
class  NEIm2ColKernel
 Interface for the im2col reshape kernel. 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  NEMaxUnpoolingLayer
 Function to perform MaxUnpooling. More...
 
class  NEMaxUnpoolingLayerKernel
 Interface for the pooling layer kernel. 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  NEMinMaxLayerKernel
 Interface for the kernel to perform min max search on a 3D tensor. 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  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::CpuQuantization. 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  NERemap
 Basic function to execute remap. More...
 
class  NERemapKernel
 Kernel to perform a remap on a tensor. 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  NEWeightsReshapeKernel
 Kernel to perform reshaping on the weights used by convolution and locally connected layer. More...
 
class  NEWinogradConvolutionLayer
 Basic function to simulate a convolution layer. More...
 
class  NEWinogradLayerConfiguration
 Kernel to perform Winograd. More...
 
class  NEWinogradLayerTransformInputKernel
 Kernel to perform Winograd input transform. More...
 
class  NEWinogradLayerTransformOutputKernel
 Kernel to perform Winograd output transform. More...
 
class  NEWinogradLayerTransformWeightsKernel
 Kernel to perform Winograd weights transform. 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...
 
class  PadStrideInfo
 Padding and stride information class. More...
 
class  PixelValue
 Class describing the value of a pixel for any image format. 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...
 
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...
 

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 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 INESimpleKernel = ICPPSimpleKernel
 Interface for simple CPU kernels having 1 tensor input and 1 tensor output. More...
 
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::ClPRelu
 
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,
  UNKNOWN
}
 Available OpenCL Version. More...
 
enum  CPUModel {
  GENERIC, GENERIC_FP16, GENERIC_FP16_DOT, A35,
  A53, A55r0, A55r1, KLEIN,
  X1, A73
}
 CPU models - we only need to detect CPUs we have microarchitecture-specific code for. More...
 
enum  MemoryPolicy { MINIMIZE, NORMAL }
 Global memory policy. 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_DST = 30, ACL_DST_0 = 30,
  ACL_DST_1 = 31, ACL_DST_2 = 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
}
 Memory type. More...
 
enum  GPUTarget {
  UNKNOWN = 0x101, GPU_ARCH_MASK = 0xF00, MIDGARD = 0x100, BIFROST = 0x200,
  VALHALL = 0x300, T600 = 0x110, T700 = 0x120, T800 = 0x130,
  G71 = 0x210, G72 = 0x220, G51 = 0x230, G51BIG = 0x231,
  G51LIT = 0x232, G52 = 0x240, G52LIT = 0x241, G76 = 0x250,
  G77 = 0x310, G78 = 0x320, TODX = 0x330
}
 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 }
 [DataLayout enum definition] More...
 
enum  DataLayoutDimension { CHANNEL, HEIGHT, WIDTH, BATCHES }
 [DataLayout enum definition] More...
 
enum  ConvolutionMethod {
  GEMM, GEMM_CONV2D, DIRECT, WINOGRAD,
  FFT
}
 Available ConvolutionMethod. More...
 
enum  DepthwiseConvolutionFunction { OPTIMIZED, GENERIC }
 Available DepthwiseConvolutionFunction. More...
 
enum  DeconvolutionMethod { GEMM, DIRECT }
 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 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  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_V1, NATIVE, RESHAPED_V1, RESHAPED,
  RESHAPED_ONLY_RHS
}
 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  LogicalOperation { Unknown, And, Or, Not }
 List of supported logical operations. More...
 
enum  AsmConvMethod { Im2Col, Indirect, Conv }
 

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 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_opencl_kernel (CLCoreRuntimeContext *ctx, const std::string &kernel_name, const CLBuildOptions &build_opts)
 Creates an opencl kernel. 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 opencl_is_available ()
 Check if OpenCL is available. More...
 
std::string cpu_model_to_string (CPUModel val)
 Convert a cpumodel value to a string. 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...
 
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...
 
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...
 
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...
 
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...
 
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...
 
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...
 
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)
 
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...
 
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)
 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...
 
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...
 
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)
 
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...
 
Status validate_arguments (const ITensorInfo *input, const ITensorInfo *bias, const ITensorInfo *output, const GEMMLowpOutputStageInfo *output_stage)
 
void scale_input (int32x4x4_t &in_s32, int32x4_t result_offset_s32, int32_t result_mult_int)
 
template<typename T >
std::enable_if< std::is_same< T, uint8_t >::value, typename wrapper::traits::neon_vector< T, 16 >::type >::type convert_to_8bit (const int16x8x2_t in_s16)
 
template<typename T >
std::enable_if< std::is_same< T, int8_t >::value, typename wrapper::traits::neon_vector< T, 16 >::type >::type convert_to_8bit (const int16x8x2_t in_s16)
 
template<typename T >
wrapper::traits::neon_vector< T, 16 >::type finalize_quantization (int32x4x4_t &in_s32, int32x4_t result_shift_s32, typename wrapper::traits::neon_vector< T, 16 >::type min, typename wrapper::traits::neon_vector< T, 16 >::type max)
 
template<typename T >
void run_reverse (const Window &window, const ITensor *input, const ITensor *axis, ITensor *output)
 
template<typename input_data_type >
input_data_type roi_align_1x1 (const ITensor *input, unsigned int roi_batch, float region_start_x, float bin_size_x, int grid_size_x, float region_end_x, float region_start_y, float bin_size_y, int grid_size_y, float region_end_y, int pz)
 Average pooling over an aligned window. More...
 
template<typename input_data_type >
input_data_type roi_align_1x1_qasymm8 (const ITensor *input, unsigned int roi_batch, float region_start_x, float bin_size_x, int grid_size_x, float region_end_x, float region_start_y, float bin_size_y, int grid_size_y, float region_end_y, int pz, const QuantizationInfo &out_qinfo)
 Average pooling over an aligned window. More...
 
float compute_region_coordinate (int p, float bin_size, float roi_anchor, float max_value)
 
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...
 
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 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...
 
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 >
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...
 
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 TensorInfo type. More...
 
std::string to_string (const TensorInfo &info)
 Formatted output of the TensorInfo 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...
 
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...
 
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 CPUModel &cpu_model)
 Formatted output of the CPUModel type. More...
 
std::string to_string (const CPUModel &cpu_model)
 Formatted output of the CPUModel type. More...
 
template<typename T >
inline ::std::ostream & operator<< (::std::ostream &os, const std::vector< T > &args)
 Formatted output of a vector of objects. More...
 
inline ::std::ostream & operator<< (::std::ostream &os, const PriorBoxLayerInfo &info)
 Formatted output of PriorBoxLayerInfo. More...
 
template<typename T >
std::string to_string (const std::vector< T > &args)
 Formatted output of a vector of objects. 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)
 
template<typename T >
std::string to_string (const T &val)
 Fallback method: try to use std::to_string: More...
 
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...
 

Variables

constexpr size_t MAX_DIMS = 6
 Constant value used to indicate maximum dimensions of a Window, TensorShape and Coordinates. More...
 
constexpr uint8_t CONSTANT_BORDER_VALUE = 199
 Constant value of the border pixels when using BorderMode::CONSTANT. More...
 
const std::array< float32x4_t, 8 > exp_tab
 Exponent polynomial coefficients. 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-2021 Arm Limited.

A DotMLGO file parser (LL(k) parser)

[CLReshapeLayer snippet]

[ClReshapeKernel Kernel]

[NEReshapeLayerKernel Kernel]

This file contains all available output stages for GEMMLowp.

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

Copyright (c) 2018-2021 Arm Limited.

Copyright (c) 2019-2020 Arm Limited.

Copyright (c) 2019-2021 Arm Limited.

Copyright (c) 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 890 of file Types.h.

◆ BiStrides

Bidirectional strides.

Definition at line 51 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 115 of file CLSoftmaxLayer.h.

◆ CLNotEqual

Basic function to run not equal comparison.

Definition at line 126 of file CLComparison.h.

◆ CLSoftmaxLayer

Definition at line 114 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.

◆ 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 46 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 98 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.

◆ INESimpleKernel

Interface for simple CPU kernels having 1 tensor input and 1 tensor output.

Definition at line 32 of file INESimpleKernel.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 892 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.

◆ Multiples

using Multiples = std::vector<uint32_t>

Information to produce a tiled version of a Tensor.

Definition at line 437 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 97 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 96 of file NESoftmaxLayer.h.

◆ OperatorType

Definition at line 32 of file CLPReluLayer.cpp.

◆ PaddingInfo

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

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

Definition at line 431 of file Types.h.

◆ PaddingList

using PaddingList = std::vector<PaddingInfo>

List of padding information.

Definition at line 434 of file Types.h.

◆ PaddingSize

Container for 2D padding size.

Definition at line 382 of file Types.h.

◆ PermutationVector

Permutation vector.

Definition at line 49 of file Types.h.

◆ qasymm16_t

using qasymm16_t = uint16_t

16 bit quantized asymmetric scalar value

Definition at line 40 of file QuantizationInfo.h.

◆ qasymm8_signed_t

using qasymm8_signed_t = int8_t

8 bit signed quantized asymmetric scalar value

Definition at line 37 of file QuantizationInfo.h.

◆ qasymm8_t

using qasymm8_t = uint8_t

8 bit quantized asymmetric scalar value

Definition at line 38 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 39 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.

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 470 of file Types.h.

471 {
472  ADD, /**< (x + y) */
473  SUB, /**< (x - y) */
474  DIV, /**< (x / y) */
475  MIN, /**< Min(x, y) */
476  MAX, /**< Max(x, y) */
477  SQUARED_DIFF, /**< (x - y)^2 */
478  POWER, /**< x ^ y */
479  PRELU, /**< y*x if x < 0, x otherwise */
480 };
#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)

◆ AsmConvMethod

enum AsmConvMethod
strong
Enumerator
Im2Col 
Indirect 
Conv 

Definition at line 36 of file NEGEMMAssemblyDispatch.h.

◆ BilinearInterpolation

enum BilinearInterpolation
strong

Bilinear Interpolation method used by LKTracker.

Enumerator
BILINEAR_OLD_NEW 

Old-new method.

BILINEAR_SCHARR 

Scharr method.

Definition at line 400 of file Types.h.

401 {
402  BILINEAR_OLD_NEW, /**< Old-new method */
403  BILINEAR_SCHARR /**< Scharr method */
404 };

◆ 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 496 of file Types.h.

497 {
498  AND, /**< Bitwise AND operation */
499  NOT, /**< Bitwise NOT operation */
500  OR, /**< Bitwise OR operation */
501  XOR, /**< Bitwise XOR operation */
502 };

◆ 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 259 of file Types.h.

260 {
261  UNDEFINED, /**< Borders are left undefined */
262  CONSTANT, /**< Pixels outside the image are assumed to have a constant value */
263  REPLICATE /**< Pixels outside the image are assumed to have the same value as the closest image pixel */
264 };
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 440 of file Types.h.

441 {
442  UNKNOWN, /** Unknown channel format */
443  C0, /**< First channel (used by formats with unknown channel types). */
444  C1, /**< Second channel (used by formats with unknown channel types). */
445  C2, /**< Third channel (used by formats with unknown channel types). */
446  C3, /**< Fourth channel (used by formats with unknown channel types). */
447  R, /**< Red channel. */
448  G, /**< Green channel. */
449  B, /**< Blue channel. */
450  A, /**< Alpha channel. */
451  Y, /**< Luma channel. */
452  U, /**< Cb/U channel. */
453  V /**< Cr/V/Value channel. */
454 };
Second channel (used by formats with unknown channel types).
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 63 of file CLTypes.h.

64 {
65  Native, /**< OpenCL native backend */
66  Clvk, /**< CLVK backend */
67 };

◆ CLGEMMKernelType

enum CLGEMMKernelType
strong

OpenCL GEMM kernel types.

Enumerator
NATIVE_V1 

Native GEMM kernel with fixed block size.

Note
Temporary variant to keep compatibility with the old implementation.
This variant will be deprecated in favor of a new and configurable NATIVE variant
NATIVE 

Native GEMM kernel with configurable block size.

RESHAPED_V1 

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

Fixed block size fixed.

Note
Temporary variant to keep compatibility with the old implementation.
This variant will be deprecated in favor of RESHAPED
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

Definition at line 31 of file CLTypes.h.

32 {
33  /** Native GEMM kernel with fixed block size.
34  * @note Temporary variant to keep compatibility with the old implementation.
35  * @note This variant will be deprecated in favor of a new and configurable NATIVE variant
36  */
37  NATIVE_V1,
38  /** Native GEMM kernel with configurable block size.*/
39  NATIVE,
40  /** Reshaped GEMM kernel where both lhs and rhs matrices are reshaped. Fixed block size fixed.
41  * @note Temporary variant to keep compatibility with the old implementation.
42  * @note This variant will be deprecated in favor of RESHAPED
43  */
45  /** Reshaped GEMM kernel where both lhs and rhs matrices are reshaped. Configurable reshape and block size */
46  RESHAPED,
47  /** Reshaped GEMM kernel where only the rhs matrix is reshaped. Configurable reshape and block size */
49 };
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 fixed block size.
Native GEMM kernel with configurable block size.
Reshaped GEMM kernel where both lhs and rhs matrices are reshaped.

◆ 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 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 
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.0 and above */
45  UNKNOWN /* unkown version */
46 };

◆ 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 171 of file Types.h.

172 {
173  Equal, /**< Equal comparison ( \f$ x == y \f$ ) */
174  NotEqual, /**< NotEqual comparison ( \f$ x != y \f$ ) */
175  Greater, /**< Greater comparison ( \f$ x > y \f$ ) */
176  GreaterEqual, /**< Greater equal comparison ( \f$ x >= y \f$ ) */
177  Less, /**< Less comparison ( \f$ x < y \f$ ) */
178  LessEqual /**< Less equal comparison ( \f$ x <= y \f$ ) */
179 };

◆ ConvertPolicy

enum ConvertPolicy
strong

Policy to handle overflow.

Enumerator
WRAP 

Wrap around.

SATURATE 

Saturate.

Definition at line 385 of file Types.h.

386 {
387  WRAP, /**< Wrap around */
388  SATURATE /**< Saturate */
389 };

◆ ConvolutionMethod

enum ConvolutionMethod
strong

Available ConvolutionMethod.

Enumerator
GEMM 

Convolution using GEMM.

GEMM_CONV2D 

Direct 2D GEMM convolution.

DIRECT 

Direct convolution.

WINOGRAD 

Convolution using Winograd.

FFT 

Convolution using FFT.

Definition at line 132 of file Types.h.

133 {
134  GEMM, /**< Convolution using GEMM */
135  GEMM_CONV2D, /**< Direct 2D GEMM convolution */
136  DIRECT, /**< Direct convolution */
137  WINOGRAD, /**< Convolution using Winograd */
138  FFT /**< Convolution using FFT */
139 };
Convolution using Winograd.

◆ CPUModel

enum CPUModel
strong

CPU models - 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 
A35 
A53 
A55r0 
A55r1 
KLEIN 
X1 
A73 

Definition at line 40 of file CPPTypes.h.

◆ 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.

Definition at line 114 of file Types.h.

115 {
116  UNKNOWN, /**< Unknown data layout */
117  NCHW, /**< Num samples, channels, height, width */
118  NHWC /**< Num samples, height, width, channels */
119 };
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

BATCHES 

batches

Definition at line 123 of file Types.h.

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

◆ 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 77 of file Types.h.

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

Definition at line 149 of file Types.h.

150 {
151  GEMM, /**< Deconvolution using GEMM */
152  DIRECT, /**< Direct deconvolution */
153 };

◆ DepthwiseConvolutionFunction

Available DepthwiseConvolutionFunction.

Enumerator
OPTIMIZED 

Optimized Depthwise Convolution.

GENERIC 

Generic Depthwise Convolution.

Definition at line 142 of file Types.h.

143 {
144  OPTIMIZED, /**< Optimized Depthwise Convolution */
145  GENERIC, /**< Generic Depthwise Convolution */
146 };

◆ 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 895 of file Types.h.

896 {
897  CORNER, /**< Use box corners */
898  CENTER_SIZE, /**< Use box centers and size */
899  CORNER_SIZE, /**< Use box centers and size */
900  TF_CENTER /**< Use box centers and size but flip x and y co-ordinates */
901 };
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 531 of file Types.h.

532 {
533  FLOOR, /**< Floor rounding */
534  CEIL /**< Ceil rounding */
535 };

◆ 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 483 of file Types.h.

484 {
485  RSQRT, /**< Reverse square root */
486  EXP, /**< Exponential */
487  NEG, /**< Negate */
488  LOG, /**< Natural Logarithm */
489  ABS, /**< Absolute value */
490  SIN, /**< Sine */
491  ROUND, /**< Round */
492  LOGICAL_NOT, /**< Logical Not */
493 };

◆ ErrorCode

enum ErrorCode
strong

Available error codes.

Enumerator
OK 

No error.

RUNTIME_ERROR 

Generic runtime error.

UNSUPPORTED_EXTENSION_USE 

Unsupported extension used.

Definition at line 44 of file Error.h.

45 {
46  OK, /**< No error */
47  RUNTIME_ERROR, /**< Generic runtime error */
48  UNSUPPORTED_EXTENSION_USE /**< Unsupported extension used*/
49 };

◆ ExecutionMode

enum ExecutionMode
strong
Enumerator
FastRerun 
FastStart 

Definition at line 50 of file Types.h.

51 {
54 };
Prioritize performance when a single iterations is expected to be performed.
Definition: AclTypes.h:71
Prefer minimum latency in consecutive runs, might introduce higher startup times.
Prefer minimizing startup time.
Prioritize performance when multiple iterations are performed.
Definition: AclTypes.h:70

◆ FFTDirection

enum FFTDirection
strong

FFT direction to use.

Enumerator
Forward 
Inverse 

Definition at line 34 of file FunctionDescriptors.h.

◆ Format

enum Format
strong

Image colour formats.

Enumerator
UNKNOWN 

Unknown image format.

U8 

1 channel, 1 U8 per channel

S16 

1 channel, 1 S16 per channel

U16 

1 channel, 1 U16 per channel

S32 

1 channel, 1 S32 per channel

U32 

1 channel, 1 U32 per channel

BFLOAT16 

16-bit brain floating-point number

F16 

1 channel, 1 F16 per channel

F32 

1 channel, 1 F32 per channel

UV88 

2 channel, 1 U8 per channel

RGB888 

3 channels, 1 U8 per channel

RGBA8888 

4 channels, 1 U8 per channel

YUV444 

A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes.

YUYV422 

A single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes.

NV12 

A 2 plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling.

NV21 

A 2 plane YUV format of Luma (Y) and interleaved VU data at 4:2:0 sampling.

IYUV 

A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes.

UYVY422 

A single plane of 32-bit macro pixel of U0, Y0, V0, Y1 byte.

Definition at line 54 of file Types.h.

55 {
56  UNKNOWN, /**< Unknown image format */
57  U8, /**< 1 channel, 1 U8 per channel */
58  S16, /**< 1 channel, 1 S16 per channel */
59  U16, /**< 1 channel, 1 U16 per channel */
60  S32, /**< 1 channel, 1 S32 per channel */
61  U32, /**< 1 channel, 1 U32 per channel */
62  BFLOAT16, /**< 16-bit brain floating-point number */
63  F16, /**< 1 channel, 1 F16 per channel */
64  F32, /**< 1 channel, 1 F32 per channel */
65  UV88, /**< 2 channel, 1 U8 per channel */
66  RGB888, /**< 3 channels, 1 U8 per channel */
67  RGBA8888, /**< 4 channels, 1 U8 per channel */
68  YUV444, /**< A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes */
69  YUYV422, /**< A single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes */
70  NV12, /**< A 2 plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling */
71  NV21, /**< A 2 plane YUV format of Luma (Y) and interleaved VU data at 4:2:0 sampling */
72  IYUV, /**< A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes */
73  UYVY422 /**< A single plane of 32-bit macro pixel of U0, Y0, V0, Y1 byte */
74 };
A single plane of 32-bit macro pixel of U0, Y0, V0, Y1 byte.
1 channel, 1 U8 per channel
1 channel, 1 F32 per channel
A 2 plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling.
1 channel, 1 U16 per channel
A 2 plane YUV format of Luma (Y) and interleaved VU data at 4:2:0 sampling.
1 channel, 1 F16 per channel
1 channel, 1 S32 per channel
16-bit brain floating-point number
3 channels, 1 U8 per channel
1 channel, 1 U32 per channel
A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes.
1 channel, 1 S16 per channel
A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes.
4 channels, 1 U8 per channel
2 channel, 1 U8 per channel
A single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes.

◆ FuseBatchNormalizationType

Available FuseBatchNormalizationType.

Enumerator
CONVOLUTION 

For Convolution weights.

DEPTHWISECONVOLUTION 

For Depthwise Convolution weights.

Definition at line 156 of file Types.h.

157 {
158  CONVOLUTION, /**< For Convolution weights */
159  DEPTHWISECONVOLUTION /**< For Depthwise Convolution weights*/
160 };

◆ GEMMLowpOutputStageType

GEMMLowp output stage type.

Enumerator
NONE 

No quantization.

QUANTIZE_DOWN 

Quantize using an integer multiplication.

QUANTIZE_DOWN_FIXEDPOINT 

Quantize using a fixed point multiplication.

QUANTIZE_DOWN_FLOAT 

Quantize using a floating point multiplication.

Definition at line 1878 of file Types.h.

1879 {
1880  NONE, /**< No quantization */
1881  QUANTIZE_DOWN, /**< Quantize using an integer multiplication */
1882  QUANTIZE_DOWN_FIXEDPOINT, /**< Quantize using a fixed point multiplication */
1883  QUANTIZE_DOWN_FLOAT /**< Quantize using a floating point multiplication */
1884 };
Quantize using a fixed point multiplication.
Quantize using a floating point multiplication.
Quantize using an integer multiplication.

◆ GPUTarget

enum GPUTarget
strong

Available GPU Targets.

Enumerator
UNKNOWN 
GPU_ARCH_MASK 
MIDGARD 
BIFROST 
VALHALL 
T600 
T700 
T800 
G71 
G72 
G51 
G51BIG 
G51LIT 
G52 
G52LIT 
G76 
G77 
G78 
TODX 

Definition at line 34 of file GPUTarget.h.

◆ ImportMemoryType

enum ImportMemoryType
strong
Enumerator
HostPtr 

Definition at line 56 of file Types.h.

◆ InterpolationPolicy

enum InterpolationPolicy
strong

Interpolation method.

Enumerator
NEAREST_NEIGHBOR 

Output values are defined to match the source pixel whose center is nearest to the sample position.

BILINEAR 

Output values are defined by bilinear interpolation between the pixels.

AREA 

Output values are determined by averaging the source pixels whose areas fall under the area of the destination pixel, projected onto the source image.

Definition at line 392 of file Types.h.

393 {
394  NEAREST_NEIGHBOR, /**< Output values are defined to match the source pixel whose center is nearest to the sample position */
395  BILINEAR, /**< Output values are defined by bilinear interpolation between the pixels */
396  AREA, /**< Output values are determined by averaging the source pixels whose areas fall under the area of the destination pixel, projected onto the source image */
397 };
Output values are defined by bilinear interpolation between the pixels.
Output values are defined to match the source pixel whose center is nearest to the sample position.
Output values are determined by averaging the source pixels whose areas fall under the area of the de...

◆ LogicalOperation

enum LogicalOperation
strong

List of supported logical operations.

Enumerator
Unknown 

Unknown.

And 

Logical And &&.

Or 

Logical Or ||.

Not 

Logical Not !

Definition at line 30 of file KernelTypes.h.

31 {
32  Unknown, /**< Unknown */
33  And, /**< Logical And && */
34  Or, /**< Logical Or || */
35  Not, /**< Logical Not ! */
36 };

◆ MappingType

enum MappingType
strong

Mapping type.

Enumerator
BLOBS 

Mappings are in blob granularity.

OFFSETS 

Mappings are in offset granularity in the same blob.

Definition at line 34 of file Types.h.

35 {
36  BLOBS, /**< Mappings are in blob granularity */
37  OFFSETS /**< Mappings are in offset granularity in the same blob */
38 };
Mappings are in blob granularity.
Mappings are in offset granularity in the same blob.

◆ MemoryPolicy

enum MemoryPolicy
strong

Global memory policy.

The functions in the runtime will use different strategies based on the policy currently set.

MINIMIZE will try to reduce the amount allocated by the functions at the expense of performance normally. NORMAL won't try to save any memory and will favor speed over memory consumption

Enumerator
MINIMIZE 
NORMAL 

Definition at line 61 of file CPPTypes.h.

◆ NMSType

enum NMSType
strong

Available non maxima suppression types.

Enumerator
LINEAR 

Linear NMS.

GAUSSIAN 

Gaussian NMS.

ORIGINAL 

Original NMS.

Definition at line 546 of file Types.h.

547 {
548  LINEAR, /**< Linear NMS */
549  GAUSSIAN, /**< Gaussian NMS */
550  ORIGINAL /**< Original NMS */
551 };

◆ NormType

enum NormType
strong

The normalization type used for the normalization layer.

Enumerator
IN_MAP_1D 

Normalization applied within the same map in 1D region.

IN_MAP_2D 

Normalization applied within the same map in 2D region.

CROSS_MAP 

Normalization applied cross maps.

Definition at line 505 of file Types.h.

506 {
507  IN_MAP_1D, /**< Normalization applied within the same map in 1D region */
508  IN_MAP_2D, /**< Normalization applied within the same map in 2D region */
509  CROSS_MAP /**< Normalization applied cross maps */
510 };
Normalization applied within the same map in 1D region.
Normalization applied cross maps.
Normalization applied within the same map in 2D region.

◆ PaddingMode

enum PaddingMode
strong

Padding mode to use for PadLayer.

Enumerator
CONSTANT 
REFLECT 
SYMMETRIC 

Definition at line 163 of file Types.h.

◆ PoolingType

enum PoolingType
strong

Available pooling types.

Enumerator