22.05
|
Namespaces | |
kernel | |
kernels | |
Data Structures | |
struct | ActFpImplParams |
Constant parameters needed by the activation implementation. More... | |
struct | AsmGemmInfo |
struct | BroadcastQuantizedLoopArguments |
class | CpuActivation |
Basic function to run kernels::CpuActivationKernel. More... | |
class | CpuAdd |
Basic function to run kernels::CpuAddKernel. More... | |
class | CpuAuxTensorHandler |
struct | CpuCapabilities |
Structure that encodes the CPU capabilities to be used. More... | |
class | CpuCast |
Basic function to run kernels::CpuCastKernel. More... | |
class | CpuComplexMul |
Basic function to run kernels::CpuComplexMulKernel. More... | |
class | CpuConcatenate |
Basic function to execute concatenate tensors along a given axis. More... | |
class | CpuContext |
CPU context implementation class. More... | |
class | CpuConv2d |
Basic function to simulate a convolution layer. More... | |
class | CpuConvertFullyConnectedWeights |
Basic function to run kernels::CpuConvertFullyConnectedWeightsKernel. More... | |
class | CpuCopy |
Basic function to run kernels::CpuCopyKernel. More... | |
class | CpuDepthwiseConv2d |
Function to execute a depthwise convolution. More... | |
class | CpuDepthwiseConv2dAssemblyDispatch |
Depthwise convolution assembly kernel glue. More... | |
class | CpuDequantize |
Basic function to run kernels::CpuDequantizeKernel that dequantizes an input tensor. More... | |
class | CpuDirectConv2d |
Function to run the direct convolution. More... | |
class | CpuDirectConv3d |
Function to run the direct convolution. More... | |
class | CpuElementwiseArithmetic |
Class to run cpu::kernels::CpuArithmeticKernel except for division and power. More... | |
class | CpuElementwiseBase |
class | CpuElementwiseComparison |
Basic function to run cpu::kernels::CpuComparisonKernel. More... | |
class | CpuElementwiseComparisonStatic |
Basic function to run cpu::kernels::CpuComparisonKernel. More... | |
class | CpuElementwiseDivision |
Basic function to run cpu::kernels::CpuArithmeticKernel for division. More... | |
class | CpuElementwisePower |
Basic function to run cpu::kernels::CpuArithmeticKernel for power. More... | |
class | CpuElementwiseUnary |
class | CpuFill |
Basic function to run kernels::CpuFillKernel. More... | |
class | CpuFlatten |
Basic function to flatten a given input. More... | |
class | CpuFloor |
Basic function to run kernels::CpuFloorKernel. More... | |
class | CpuFullyConnected |
Basic function to compute a Fully Connected layer. More... | |
class | CpuGemm |
Basic function to execute GEMM. More... | |
class | CpuGemmAssemblyDispatch |
Assembly kernel glue. More... | |
class | CpuGemmConv2d |
Basic function to compute the convolution layer. More... | |
class | CpuGemmDirectConv2d |
class | CpuGemmLowpMatrixMultiplyCore |
Basic function to execute GEMMLowpMatrixMultiplyCore. More... | |
class | CpuGemmLowpOutputStage |
Basic function to execute GEMMLowpQuantizeDown kernels. More... | |
class | CpuLogits1DSoftmaxKernel |
class | CpuMaxUnpooling |
Basic function to run kernels::CpuMaxUnpoolingLayerKernel. More... | |
class | CpuMul |
Basic function to run kernels::CpuMulKernel. More... | |
class | CpuPermute |
Basic function to run kernels::CpuPermuteKernel. More... | |
class | CpuPool2d |
Basic function to simulate a pooling layer with the specified pooling operation. More... | |
class | CpuPool3d |
Basic function to simulate a pooling layer with the specified pooling operation. More... | |
class | CpuQuantize |
Basic function to run kernels::CpuQuantizeKernel that dequantizes an input tensor. More... | |
class | CpuQueue |
CPU queue implementation class. More... | |
class | CpuReshape |
Basic function to run kernels::CpuReshapeKernel. More... | |
class | CpuScale |
Basic function to compute Scale. More... | |
class | CpuSoftmaxGeneric |
Basic function to compute a SoftmaxLayer and a Log SoftmaxLayer. More... | |
class | CpuSub |
Basic function to run kernels::CpuSubKernel. More... | |
class | CpuTensor |
CPU tensor implementation class. More... | |
class | CpuTranspose |
Basic function to run kernels::CpuTransposeKernel. More... | |
class | CpuWinogradConv2d |
class | CpuWinogradConv2dConfiguration |
Kernel to perform Winograd. More... | |
class | CpuWinogradConv2dTransformInputKernel |
Kernel to perform Winograd input transform. More... | |
class | CpuWinogradConv2dTransformOutputKernel |
Kernel to perform Winograd output transform. More... | |
class | CpuWinogradConv2dTransformWeightsKernel |
Kernel to perform Winograd weights transform. More... | |
class | ICpuKernel |
class | ICpuWinogradConv2dTransformInputKernel |
Interface for the kernel to perform Winograd input transform. More... | |
class | ICpuWinogradConv2dTransformOutputKernel |
Interface for the kernel to perform Winograd output transform. More... | |
class | ICpuWinogradConv2dTransformWeightsKernel |
Interface for the kernel to perform Winograd weights transform. More... | |
struct | QuantizedLoopArguments |
Typedefs | |
using | ICpuOperator = experimental::INEOperator |
template<typename InputScalarType , typename OutputScalarType , typename OperatorType > | |
using | LoopFuncType = void(*)(svbool_t, const LoopArguments< InputScalarType, OutputScalarType, OperatorType > &) |
template<typename InputScalarType , typename OutputScalarType , typename OperatorType > | |
using | BroadcastLoopFuncType = void(*)(svbool_t, const BroadcastLoopArguments< InputScalarType, OutputScalarType, OperatorType > &) |
template<typename InputScalarType , typename OutputScalarType , typename OperatorType > | |
using | LoopQuantizedFuncType = void(*)(svbool_t, const QuantizedLoopArguments< InputScalarType, OutputScalarType, OperatorType > &) |
template<typename InputScalarType , typename OutputScalarType , typename OperatorType > | |
using | BroadcastQuantizedLoopFuncType = void(*)(svbool_t, const BroadcastQuantizedLoopArguments< InputScalarType, OutputScalarType, OperatorType > &) |
using | CpuElementwiseMax = CpuElementwiseArithmetic< ArithmeticOperation::MAX > |
Class to run cpu::kernels::CpuArithmeticKernel except for maximum operation. More... | |
using | CpuElementwiseMin = CpuElementwiseArithmetic< ArithmeticOperation::MIN > |
Class to run cpu::kernels::CpuArithmeticKernel except for minimum operation. More... | |
using | CpuElementwiseSquaredDiff = CpuElementwiseArithmetic< ArithmeticOperation::SQUARED_DIFF > |
Class to run cpu::kernels::CpuArithmeticKernel except for squared difference operation. More... | |
using | NEEqual = CpuElementwiseComparisonStatic< ComparisonOperation::Equal > |
Basic function to run equal comparison. More... | |
using | NENotEqual = CpuElementwiseComparisonStatic< ComparisonOperation::NotEqual > |
Basic function to run not equal comparison. More... | |
using | NEGreater = CpuElementwiseComparisonStatic< ComparisonOperation::Greater > |
Basic function to run greater comparison. More... | |
using | NEGreaterEqual = CpuElementwiseComparisonStatic< ComparisonOperation::GreaterEqual > |
Basic function to run greater-equal comparison. More... | |
using | NELess = CpuElementwiseComparisonStatic< ComparisonOperation::Less > |
Basic function to run less comparison. More... | |
using | NELessEqual = CpuElementwiseComparisonStatic< ComparisonOperation::LessEqual > |
Basic function to run less-equal comparison. More... | |
using | KernelType = kernels::CpuElementwiseUnaryKernel |
using | CpuPRelu = CpuElementwiseArithmetic< ArithmeticOperation::PRELU > |
Class to run cpu::kernels::CpuArithmeticKernel except for PRelu operation. More... | |
using | CpuSoftmax = CpuSoftmaxGeneric< false > |
using | CpuLogSoftmax = CpuSoftmaxGeneric< true > |
Enumerations | |
enum | KernelSelectionType { Preferred, Supported } |
enum | AsmConvMethod { Im2Col, Indirect, Conv } |
Functions | |
void | fp16_neon_batch_normalization (ITensor *src, ITensor *dst, const ITensor *mean, const ITensor *var, const ITensor *beta, const ITensor *gamma, float epsilon, ActivationLayerInfo &act_info, const Window &window) |
void | fp16_sve_batch_normalization (ITensor *src, ITensor *dst, const ITensor *mean, const ITensor *var, const ITensor *beta, const ITensor *gamma, float epsilon, ActivationLayerInfo &act_info, const Window &window) |
void | fp32_neon_batch_normalization (ITensor *src, ITensor *dst, const ITensor *mean, const ITensor *var, const ITensor *beta, const ITensor *gamma, float epsilon, ActivationLayerInfo &act_info, const Window &window) |
void | fp32_sve_batch_normalization (ITensor *src, ITensor *dst, const ITensor *mean, const ITensor *var, const ITensor *beta, const ITensor *gamma, float epsilon, ActivationLayerInfo &act_info, const Window &window) |
void | neon_fp32_activation (const ITensor *src, ITensor *dst, const ActivationLayerInfo &act_info, const Window &window) |
float32x4_t | mask_float_vector (const float32x4_t &in, const uint32x4_t &mask) |
template<typename T , const ActFpImplParams & P> | |
void | fp_neon_activation_impl (const ITensor *src, ITensor *dst, const ActivationLayerInfo &act_info, const Window &window) |
void | neon_qasymm8_activation (const ITensor *src, ITensor *dst, const ActivationLayerInfo &act_info, const Window &window) |
void | neon_qasymm8_signed_activation (const ITensor *src, ITensor *dst, const ActivationLayerInfo &act_info, const Window &window) |
void | neon_qsymm16_activation (const ITensor *src, ITensor *dst, const ActivationLayerInfo &act_info, const Window &window) |
void | sve_fp32_activation (const ITensor *src, ITensor *dst, const ActivationLayerInfo &act_info, const Window &window) |
void | sve2_qasymm8_activation (const ITensor *src, ITensor *dst, const ActivationLayerInfo &act_info, const Window &window) |
void | sve2_qasymm8_signed_activation (const ITensor *src, ITensor *dst, const ActivationLayerInfo &act_info, const Window &window) |
void | sve2_qsymm16_activation (const ITensor *src, ITensor *dst, const ActivationLayerInfo &act_info, const Window &window) |
void | sve_fp16_activation (const ITensor *src, ITensor *dst, const ActivationLayerInfo &act_info, const Window &window) |
void | neon_fp16_activation (const ITensor *src, ITensor *dst, const ActivationLayerInfo &act_info, const Window &window) |
void | add_fp32_neon (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
template<typename ScalarType > | |
void | add_same_neon (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
template void | add_same_neon< float > (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
template void | add_same_neon< uint8_t > (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
template void | add_same_neon< int32_t > (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
template void | add_same_neon< int16_t > (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
void | add_u8_neon (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
void | add_s16_neon (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
void | add_s32_neon (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
void | add_qasymm8_neon (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
void | add_qasymm8_signed_neon (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
void | add_qsymm16_neon (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
void | add_fp32_sve (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
template<typename ScalarType > | |
void | add_same_sve (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
template void | add_same_sve< float > (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
template void | add_same_sve< uint8_t > (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
template void | add_same_sve< int16_t > (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
template void | add_same_sve< int32_t > (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
void | add_u8_sve (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
void | add_s16_sve (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
void | add_s32_sve (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
void | add_qasymm8_sve2 (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
void | add_qasymm8_signed_sve2 (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
void | add_qsymm16_sve2 (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
void | add_fp16_neon (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
void | add_fp16_sve (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
void | neon_fp32_boundingboxtransform (const ITensor *boxes, ITensor *pred_boxes, const ITensor *deltas, BoundingBoxTransformInfo bbinfo, const Window &window) |
void | bounding_box_transform_qsymm16 (const ITensor *boxes, ITensor *pred_boxes, const ITensor *deltas, BoundingBoxTransformInfo bbinfo, const Window &window) |
template<typename T > | |
void | bounding_box_transform (const ITensor *boxes, ITensor *pred_boxes, const ITensor *deltas, BoundingBoxTransformInfo bbinfo, const Window &window) |
template void | bounding_box_transform< float > (const ITensor *boxes, ITensor *pred_boxes, const ITensor *deltas, BoundingBoxTransformInfo bbinfo, const Window &window) |
void | neon_qu16_boundingboxtransform (const ITensor *boxes, ITensor *pred_boxes, const ITensor *deltas, BoundingBoxTransformInfo bbinfo, const Window &window) |
void | neon_fp16_boundingboxtransform (const ITensor *boxes, ITensor *pred_boxes, const ITensor *deltas, BoundingBoxTransformInfo bbinfo, const Window &window) |
void | neon_fp32_to_fp16_cast (const ITensor *_src, ITensor *_dst, const ThreadInfo &tensor, ConvertPolicy _policy, const Window &window) |
void | neon_u8_to_fp16_cast (const ITensor *_src, ITensor *_dst, const ThreadInfo &tensor, ConvertPolicy _policy, const Window &window) |
void | neon_fp16_to_other_dt_cast (const ITensor *_src, ITensor *_dst, const ThreadInfo &tensor, ConvertPolicy _policy, const Window &window) |
void | neon_s32_to_fp16_cast (const ITensor *_src, ITensor *_dst, const ThreadInfo &tensor, ConvertPolicy _policy, const Window &window) |
void | neon_qasymm8_signed_to_fp16_cast (const ITensor *_src, ITensor *_dst, const ThreadInfo &tensor, ConvertPolicy _policy, const Window &window) |
void | neon_fp32_to_bfloat16_cast (const ITensor *_src, ITensor *_dst, const ThreadInfo &tensor, ConvertPolicy _policy, const Window &window) |
void | neon_bfloat16_to_fp32_cast (const ITensor *_src, ITensor *_dst, const ThreadInfo &tensor, ConvertPolicy _policy, const Window &window) |
template<typename T > | |
void | directconv3d_float_neon_ndhwc (const ITensor *src0, const ITensor *src1, const ITensor *src2, ITensor *dst, const Conv3dInfo &conv_info, const Window &window) |
template<typename T > | |
void | directconv3d_quantized_neon_ndhwc (const ITensor *src0, const ITensor *src1, const ITensor *src2, ITensor *dst, const Conv3dInfo &conv_info, const Window &window) |
template<typename T > | |
float32x4_t | load_as_f32 (T *ptr) |
template<> | |
float32x4_t | load_as_f32 (float *ptr) |
template<> | |
float32x4_t | load_as_f32 (int32_t *ptr) |
template<> | |
float32x4_t | load_as_f32 (uint32_t *ptr) |
template<> | |
float32x4_t | load_as_f32 (int16_t *ptr) |
template<> | |
float32x4_t | load_as_f32 (uint16_t *ptr) |
template<> | |
float32x4_t | load_as_f32 (uint8_t *ptr) |
void | fp32_in_bounds_crop_window (const ITensor *input, const ITensor *output, float *output_ptr, Coordinates input_offset, int32_t window_step_x, int32_t output_width_start, int32_t output_width_limit, bool input_has_single_channel, bool is_width_flipped) |
template<typename T > | |
void | in_bounds_crop_window (const ITensor *input, const ITensor *output, float *output_ptr, Coordinates input_offset, int32_t window_step_x, int32_t output_width_start, int32_t output_width_limit, bool input_has_single_channel, bool is_width_flipped) |
template void | in_bounds_crop_window< float32_t > (const ITensor *input, const ITensor *output, float *output_ptr, Coordinates input_offset, int32_t window_step_x, int32_t output_width_start, int32_t output_width_limit, bool input_has_single_channel, bool is_width_flipped) |
template void | in_bounds_crop_window< uint8_t > (const ITensor *input, const ITensor *output, float *output_ptr, Coordinates input_offset, int32_t window_step_x, int32_t output_width_start, int32_t output_width_limit, bool input_has_single_channel, bool is_width_flipped) |
template void | in_bounds_crop_window< uint16_t > (const ITensor *input, const ITensor *output, float *output_ptr, Coordinates input_offset, int32_t window_step_x, int32_t output_width_start, int32_t output_width_limit, bool input_has_single_channel, bool is_width_flipped) |
template void | in_bounds_crop_window< uint32_t > (const ITensor *input, const ITensor *output, float *output_ptr, Coordinates input_offset, int32_t window_step_x, int32_t output_width_start, int32_t output_width_limit, bool input_has_single_channel, bool is_width_flipped) |
template void | in_bounds_crop_window< int8_t > (const ITensor *input, const ITensor *output, float *output_ptr, Coordinates input_offset, int32_t window_step_x, int32_t output_width_start, int32_t output_width_limit, bool input_has_single_channel, bool is_width_flipped) |
template void | in_bounds_crop_window< int16_t > (const ITensor *input, const ITensor *output, float *output_ptr, Coordinates input_offset, int32_t window_step_x, int32_t output_width_start, int32_t output_width_limit, bool input_has_single_channel, bool is_width_flipped) |
template void | in_bounds_crop_window< int32_t > (const ITensor *input, const ITensor *output, float *output_ptr, Coordinates input_offset, int32_t window_step_x, int32_t output_width_start, int32_t output_width_limit, bool input_has_single_channel, bool is_width_flipped) |
void | u8_in_bounds_crop_window (const ITensor *input, const ITensor *output, float *output_ptr, Coordinates input_offset, int32_t window_step_x, int32_t output_width_start, int32_t output_width_limit, bool input_has_single_channel, bool is_width_flipped) |
void | u16_in_bounds_crop_window (const ITensor *input, const ITensor *output, float *output_ptr, Coordinates input_offset, int32_t window_step_x, int32_t output_width_start, int32_t output_width_limit, bool input_has_single_channel, bool is_width_flipped) |
void | u32_in_bounds_crop_window (const ITensor *input, const ITensor *output, float *output_ptr, Coordinates input_offset, int32_t window_step_x, int32_t output_width_start, int32_t output_width_limit, bool input_has_single_channel, bool is_width_flipped) |
void | s8_in_bounds_crop_window (const ITensor *input, const ITensor *output, float *output_ptr, Coordinates input_offset, int32_t window_step_x, int32_t output_width_start, int32_t output_width_limit, bool input_has_single_channel, bool is_width_flipped) |
void | s16_in_bounds_crop_window (const ITensor *input, const ITensor *output, float *output_ptr, Coordinates input_offset, int32_t window_step_x, int32_t output_width_start, int32_t output_width_limit, bool input_has_single_channel, bool is_width_flipped) |
void | s32_in_bounds_crop_window (const ITensor *input, const ITensor *output, float *output_ptr, Coordinates input_offset, int32_t window_step_x, int32_t output_width_start, int32_t output_width_limit, bool input_has_single_channel, bool is_width_flipped) |
void | fp16_in_bounds_crop_window (const ITensor *input, const ITensor *output, float *output_ptr, Coordinates input_offset, int32_t window_step_x, int32_t output_width_start, int32_t output_width_limit, bool input_has_single_channel, bool is_width_flipped) |
void | neon_fp32_deptwiseconv2dnative (const ITensor *src, const ITensor *weights, const ITensor *bias, ITensor *dst, const Window &window, bool has_biases, const ConvolutionInfo &info) |
template<typename T , typename TW > | |
void | run_depthwise_float (const ITensor *src, const ITensor *weights, const ITensor *biases, ITensor *dst, const Window &window, bool has_biases, const ConvolutionInfo &info) |
template void | run_depthwise_float< float, float > (const ITensor *src, const ITensor *weights, const ITensor *biases, ITensor *dst, const Window &window, bool has_biases, const ConvolutionInfo &info) |
template<typename T , typename TW > | |
void | run_depthwise_quanitized8bit (const ITensor *src, const ITensor *weights, const ITensor *biases, ITensor *dst, const Window &window, bool has_biases, const ConvolutionInfo &info) |
template void | run_depthwise_quanitized8bit< uint8_t, uint8_t > (const ITensor *src, const ITensor *weights, const ITensor *biases, ITensor *dst, const Window &window, bool has_biases, const ConvolutionInfo &info) |
template void | run_depthwise_quanitized8bit< int8_t, int8_t > (const ITensor *src, const ITensor *weights, const ITensor *biases, ITensor *dst, const Window &window, bool has_biases, const ConvolutionInfo &info) |
template void | run_depthwise_quanitized8bit< uint8_t, int8_t > (const ITensor *src, const ITensor *weights, const ITensor *biases, ITensor *dst, const Window &window, bool has_biases, const ConvolutionInfo &info) |
void | neon_qu8_deptwiseconv2dnative (const ITensor *src, const ITensor *weights, const ITensor *bias, ITensor *dst, const Window &window, bool has_biases, const ConvolutionInfo &info) |
void | neon_qp8_qu8_deptwiseconv2dnative (const ITensor *src, const ITensor *weights, const ITensor *bias, ITensor *dst, const Window &window, bool has_biases, const ConvolutionInfo &info) |
void | neon_qs8_deptwiseconv2dnative (const ITensor *src, const ITensor *weights, const ITensor *bias, ITensor *dst, const Window &window, bool has_biases, const ConvolutionInfo &info) |
void | neon_qp8_qs8_deptwiseconv2dnative (const ITensor *src, const ITensor *weights, const ITensor *bias, ITensor *dst, const Window &window, bool has_biases, const ConvolutionInfo &info) |
void | neon_fp16_deptwiseconv2dnative (const ITensor *src, const ITensor *weights, const ITensor *bias, ITensor *dst, const Window &window, bool has_biases, const ConvolutionInfo &info) |
template<ArithmeticOperation op> | |
void | neon_fp32_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_fp32_elementwise_binary< ArithmeticOperation::ADD > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_fp32_elementwise_binary< ArithmeticOperation::SUB > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_fp32_elementwise_binary< ArithmeticOperation::DIV > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_fp32_elementwise_binary< ArithmeticOperation::MIN > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_fp32_elementwise_binary< ArithmeticOperation::MAX > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_fp32_elementwise_binary< ArithmeticOperation::SQUARED_DIFF > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_fp32_elementwise_binary< ArithmeticOperation::POWER > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_fp32_elementwise_binary< ArithmeticOperation::PRELU > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ComparisonOperation op> | |
void | neon_fp32_comparison_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_fp32_comparison_elementwise_binary< ComparisonOperation::Equal > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_fp32_comparison_elementwise_binary< ComparisonOperation::NotEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_fp32_comparison_elementwise_binary< ComparisonOperation::Greater > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_fp32_comparison_elementwise_binary< ComparisonOperation::GreaterEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_fp32_comparison_elementwise_binary< ComparisonOperation::Less > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_fp32_comparison_elementwise_binary< ComparisonOperation::LessEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ArithmeticOperation op, typename VectorType > | |
VectorType::type | elementwise_arithm_op (const typename VectorType::type &a, const typename VectorType::type &b) |
template<ArithmeticOperation op, typename ScalarType , typename VectorType > | |
VectorType::type | elementwise_arithm_op_broadcast (const typename VectorType::type &a, const ScalarType &broadcast_value, const bool reorder) |
template<typename InputScalarType , typename OutputScalarType , typename InputVectorType > | |
void | elementwise_op (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window, OutputScalarType(*scalar_func)(const InputScalarType &, const InputScalarType &), int(*broadcast_func)(int, int, int, const InputScalarType *, const InputScalarType &, OutputScalarType *, const bool), int(*neon_func)(int, int, int, const InputScalarType *, const InputScalarType *, OutputScalarType *)) |
template<ArithmeticOperation op, typename ScalarType > | |
ScalarType | elementwise_arithm_op_scalar (const ScalarType &a, const ScalarType &b) |
template<> | |
int32x4_t | elementwise_arithm_op< ArithmeticOperation::DIV, typename wrapper::traits::neon_vector< int32_t, 4 > > (const int32x4_t &a, const int32x4_t &b) |
template<> | |
float32x4_t | elementwise_arithm_op< ArithmeticOperation::DIV, typename wrapper::traits::neon_vector< float, 4 > > (const float32x4_t &a, const float32x4_t &b) |
template<> | |
float32x4_t | elementwise_arithm_op< ArithmeticOperation::POWER, typename wrapper::traits::neon_vector< float, 4 > > (const float32x4_t &a, const float32x4_t &b) |
template<ArithmeticOperation op, typename ScalarType , typename VectorType > | |
int | elementwise_arithm_op_loop (int window_start_x, int window_end_x, int window_step_x, const ScalarType *input1_ptr, const ScalarType *input2_ptr, ScalarType *output_ptr) |
template<ArithmeticOperation op, typename ScalarType , typename VectorType > | |
int | elementwise_arithm_op_broadcast_loop (int window_start_x, int window_end_x, int window_step_x, const ScalarType *non_broadcast_input_ptr, const ScalarType &broadcast_value, ScalarType *output_ptr, const bool reorder) |
template<ArithmeticOperation op, typename VectorType > | |
void | elementwise_arithm_op (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ComparisonOperation op, typename InputScalarType > | |
uint8_t | elementwise_comp_op_scalar (const InputScalarType &a, const InputScalarType &b) |
template<ComparisonOperation op, typename InputVectorType , typename OutputVectorType > | |
OutputVectorType | elementwise_comp_op (const InputVectorType &a, const InputVectorType &b) |
template<ComparisonOperation op, typename InputScalarType , typename InputVectorType , typename OutputVectorType > | |
OutputVectorType | elementwise_comp_op_broadcast (const InputVectorType &a, const InputScalarType &broadcast_value, const bool reorder) |
template<ComparisonOperation op, typename InputScalarType , typename InputVectorType > | |
int | elementwise_comp_op_broadcast_8_loop (int window_start_x, int window_end_x, int window_step_x, const InputScalarType *non_broadcast_input_ptr, const InputScalarType &broadcast_value, uint8_t *output_ptr, const bool reorder) |
template<ComparisonOperation op, typename InputScalarType , typename InputVectorType > | |
int | elementwise_comp_op_broadcast_16_loop (int window_start_x, int window_end_x, int window_step_x, const InputScalarType *non_broadcast_input_ptr, const InputScalarType &broadcast_value, uint8_t *output_ptr, const bool reorder) |
template<ComparisonOperation op, typename InputScalarType , typename InputVectorType > | |
int | elementwise_comp_op_broadcast_32_loop (int window_start_x, int window_end_x, int window_step_x, const InputScalarType *non_broadcast_input_ptr, const InputScalarType &broadcast_value, uint8_t *output_ptr, const bool reorder) |
template<ComparisonOperation op, typename InputScalarType , typename InputVectorType > | |
int | elementwise_comp_op_8_loop (int window_start_x, int window_end_x, int window_step_x, const InputScalarType *input1_ptr, const InputScalarType *input2_ptr, uint8_t *output_ptr) |
template<ComparisonOperation op, typename InputScalarType , typename InputVectorType > | |
int | elementwise_comp_op_16_loop (int window_start_x, int window_end_x, int window_step_x, const InputScalarType *input1_ptr, const InputScalarType *input2_ptr, uint8_t *output_ptr) |
template<ComparisonOperation op, typename InputScalarType , typename InputVectorType > | |
int | elementwise_comp_op_32_loop (int window_start_x, int window_end_x, int window_step_x, const InputScalarType *input1_ptr, const InputScalarType *input2_ptr, uint8_t *output_ptr) |
template<ComparisonOperation op, typename InputScalarType , typename InputVectorType > | |
void | elementwise_comp_op_8 (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ComparisonOperation op, typename InputScalarType , typename InputVectorType > | |
void | elementwise_comp_op_16 (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ComparisonOperation op, typename InputScalarType , typename InputVectorType > | |
void | elementwise_comp_op_32 (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
float32x4x4_t | load_quantized (const uint8_t *input1_ptr, const int32x4_t &offset, const float32x4_t &scale) |
float32x4x4_t | load_quantized_signed (const int8_t *input1_ptr, const int32x4_t &offset, const float32x4_t &scale) |
void | store_quantized (uint8_t *output_ptr, const uint32x4x4_t &out) |
void | store_quantized (uint8_t *output_ptr, const int32x4x4_t &out) |
void | store_quantized (uint8_t *output_ptr, const float32x4x4_t &rf, const float32x4_t &offset, const float32x4_t &invscale) |
void | store_quantized_signed (int8_t *output_ptr, const int32x4x4_t &out) |
void | store_quantized_signed (int8_t *output_ptr, const float32x4x4_t &rf, const float32x4_t &offset, const float32x4_t &invscale) |
template<ArithmeticOperation op> | |
uint8_t | elementwise_arithm_op_quantized_scalar (const float &a, const float &b, UniformQuantizationInfo qinfo) |
template<ArithmeticOperation op> | |
int8_t | elementwise_arithm_op_quantized_signed_scalar (const float &a, const float &b, UniformQuantizationInfo qinfo) |
template<ArithmeticOperation op> | |
float32x4x4_t | elementwise_arithm_op (const float32x4x4_t &a, const float32x4x4_t &b) |
template<ComparisonOperation op> | |
uint8_t | elementwise_comp_op_quantized_scalar (const float &a, const float &b, UniformQuantizationInfo qinfo) |
template<ComparisonOperation op> | |
uint32x4x4_t | elementwise_comp_op (const float32x4x4_t &a, const float32x4x4_t &b) |
template<ArithmeticOperation op> | |
int | elementwise_arithm_op_quantized_loop (int window_start_x, int window_end_x, int window_step_x, const uint8_t *input1_ptr, const uint8_t *input2_ptr, uint8_t *output_ptr, int32x4_t voffset1, int32x4_t voffset2, float32x4_t vscale1, float32x4_t vscale2, float32x4_t voffseto, float32x4_t invvscaleo) |
template<ArithmeticOperation op> | |
int | elementwise_arithm_op_quantized_singed_loop (int window_start_x, int window_end_x, int window_step_x, const int8_t *input1_ptr, const int8_t *input2_ptr, int8_t *output_ptr, int32x4_t voffset1, int32x4_t voffset2, float32x4_t vscale1, float32x4_t vscale2, float32x4_t voffseto, float32x4_t invvscaleo) |
template<ArithmeticOperation op> | |
int | elementwise_arithm_op_quantized_broadcast_loop (int window_start_x, int window_end_x, int window_step_x, const uint8_t *non_broadcast_input_ptr, float32x4x4_t broadcast_vector, uint8_t *output_ptr, int32x4_t voffset_non_broadcast, float32x4_t vscale_non_broadcast, float32x4_t voffseto, float32x4_t invvscaleo, bool reorder) |
template<ArithmeticOperation op> | |
int | elementwise_arithm_op_quantized_signed_broadcast_loop (int window_start_x, int window_end_x, int window_step_x, const int8_t *non_broadcast_input_ptr, float32x4x4_t broadcast_vector, int8_t *output_ptr, int32x4_t voffset_non_broadcast, float32x4_t vscale_non_broadcast, float32x4_t voffseto, float32x4_t invvscaleo, bool reorder) |
template<ComparisonOperation op> | |
int | elementwise_comp_op_quantized_loop (int window_start_x, int window_end_x, int window_step_x, const uint8_t *input1_ptr, const uint8_t *input2_ptr, uint8_t *output_ptr, int32x4_t voffset1, int32x4_t voffset2, float32x4_t vscale1, float32x4_t vscale2, float32x4_t voffseto, float32x4_t invvscaleo) |
template<ComparisonOperation op> | |
int | elementwise_comp_op_quantized_signed_loop (int window_start_x, int window_end_x, int window_step_x, const int8_t *input1_ptr, const int8_t *input2_ptr, uint8_t *output_ptr, int32x4_t voffset1, int32x4_t voffset2, float32x4_t vscale1, float32x4_t vscale2, float32x4_t voffseto, float32x4_t invvscaleo) |
template<ComparisonOperation op> | |
int | elementwise_comp_op_quantized_broadcast_loop (int window_start_x, int window_end_x, int window_step_x, const uint8_t *non_broadcast_input_ptr, float32x4x4_t broadcast_vector, uint8_t *output_ptr, int32x4_t voffset_non_broadcast, float32x4_t vscale_non_broadcast, float32x4_t voffseto, float32x4_t invvscaleo, bool reorder) |
template<ComparisonOperation op> | |
int | elementwise_comp_op_quantized_signed_broadcast_loop (int window_start_x, int window_end_x, int window_step_x, const int8_t *non_broadcast_input_ptr, float32x4x4_t broadcast_vector, uint8_t *output_ptr, int32x4_t voffset_non_broadcast, float32x4_t vscale_non_broadcast, float32x4_t voffseto, float32x4_t invvscaleo, bool reorder) |
void | elementwise_op_quantized (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window, uint8_t(*scalar_func)(const float &, const float &, UniformQuantizationInfo), int(*broadcast_func)(int, int, int, const uint8_t *, float32x4x4_t, uint8_t *, int32x4_t, float32x4_t, float32x4_t, float32x4_t, const bool), int(*neon_func)(int, int, int, const uint8_t *, const uint8_t *, uint8_t *, int32x4_t, int32x4_t, float32x4_t, float32x4_t, float32x4_t, float32x4_t)) |
void | elementwise_comp_quantized_signed (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window, uint8_t(*scalar_func)(const float &, const float &, UniformQuantizationInfo), int(*broadcast_func)(int, int, int, const int8_t *, float32x4x4_t, uint8_t *, int32x4_t, float32x4_t, float32x4_t, float32x4_t, const bool), int(*neon_func)(int, int, int, const int8_t *, const int8_t *, uint8_t *, int32x4_t, int32x4_t, float32x4_t, float32x4_t, float32x4_t, float32x4_t)) |
void | elementwise_op_quantized_signed (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window, int8_t(*scalar_func)(const float &, const float &, UniformQuantizationInfo), int(*broadcast_func)(int, int, int, const int8_t *, float32x4x4_t, int8_t *, int32x4_t, float32x4_t, float32x4_t, float32x4_t, const bool), int(*neon_func)(int, int, int, const int8_t *, const int8_t *, int8_t *, int32x4_t, int32x4_t, float32x4_t, float32x4_t, float32x4_t, float32x4_t)) |
template<ArithmeticOperation op> | |
void | elementwise_arithm_op_quantized (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ArithmeticOperation op> | |
void | elementwise_arithm_op_quantized_signed (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ComparisonOperation op> | |
void | elementwise_comp_op_quantized (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ComparisonOperation op> | |
void | elementwise_comp_op_quantized_signed (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ArithmeticOperation op> | |
void | neon_s32_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s32_elementwise_binary< ArithmeticOperation::ADD > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s32_elementwise_binary< ArithmeticOperation::SUB > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s32_elementwise_binary< ArithmeticOperation::DIV > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s32_elementwise_binary< ArithmeticOperation::MIN > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s32_elementwise_binary< ArithmeticOperation::MAX > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s32_elementwise_binary< ArithmeticOperation::SQUARED_DIFF > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s32_elementwise_binary< ArithmeticOperation::POWER > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s32_elementwise_binary< ArithmeticOperation::PRELU > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ArithmeticOperation op> | |
void | neon_s16_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s16_elementwise_binary< ArithmeticOperation::ADD > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s16_elementwise_binary< ArithmeticOperation::SUB > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s16_elementwise_binary< ArithmeticOperation::DIV > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s16_elementwise_binary< ArithmeticOperation::MIN > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s16_elementwise_binary< ArithmeticOperation::MAX > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s16_elementwise_binary< ArithmeticOperation::SQUARED_DIFF > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s16_elementwise_binary< ArithmeticOperation::POWER > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s16_elementwise_binary< ArithmeticOperation::PRELU > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ComparisonOperation op> | |
void | neon_u8_comparison_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_u8_comparison_elementwise_binary< ComparisonOperation::Equal > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_u8_comparison_elementwise_binary< ComparisonOperation::NotEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_u8_comparison_elementwise_binary< ComparisonOperation::Greater > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_u8_comparison_elementwise_binary< ComparisonOperation::GreaterEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_u8_comparison_elementwise_binary< ComparisonOperation::Less > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_u8_comparison_elementwise_binary< ComparisonOperation::LessEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ComparisonOperation op> | |
void | neon_s16_comparison_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s16_comparison_elementwise_binary< ComparisonOperation::Equal > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s16_comparison_elementwise_binary< ComparisonOperation::NotEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s16_comparison_elementwise_binary< ComparisonOperation::Greater > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s16_comparison_elementwise_binary< ComparisonOperation::GreaterEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s16_comparison_elementwise_binary< ComparisonOperation::Less > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s16_comparison_elementwise_binary< ComparisonOperation::LessEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ComparisonOperation op> | |
void | neon_s32_comparison_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s32_comparison_elementwise_binary< ComparisonOperation::Equal > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s32_comparison_elementwise_binary< ComparisonOperation::NotEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s32_comparison_elementwise_binary< ComparisonOperation::Greater > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s32_comparison_elementwise_binary< ComparisonOperation::GreaterEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s32_comparison_elementwise_binary< ComparisonOperation::Less > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_s32_comparison_elementwise_binary< ComparisonOperation::LessEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ArithmeticOperation op> | |
void | neon_qasymm8_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_elementwise_binary< ArithmeticOperation::ADD > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_elementwise_binary< ArithmeticOperation::SUB > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_elementwise_binary< ArithmeticOperation::DIV > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_elementwise_binary< ArithmeticOperation::MIN > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_elementwise_binary< ArithmeticOperation::MAX > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_elementwise_binary< ArithmeticOperation::SQUARED_DIFF > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_elementwise_binary< ArithmeticOperation::POWER > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_elementwise_binary< ArithmeticOperation::PRELU > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ComparisonOperation op> | |
void | neon_qasymm8_comparison_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_comparison_elementwise_binary< ComparisonOperation::Equal > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_comparison_elementwise_binary< ComparisonOperation::NotEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_comparison_elementwise_binary< ComparisonOperation::Greater > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_comparison_elementwise_binary< ComparisonOperation::GreaterEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_comparison_elementwise_binary< ComparisonOperation::Less > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_comparison_elementwise_binary< ComparisonOperation::LessEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ArithmeticOperation op> | |
void | neon_qasymm8_signed_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_signed_elementwise_binary< ArithmeticOperation::ADD > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_signed_elementwise_binary< ArithmeticOperation::SUB > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_signed_elementwise_binary< ArithmeticOperation::DIV > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_signed_elementwise_binary< ArithmeticOperation::MIN > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_signed_elementwise_binary< ArithmeticOperation::MAX > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_signed_elementwise_binary< ArithmeticOperation::SQUARED_DIFF > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_signed_elementwise_binary< ArithmeticOperation::POWER > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_signed_elementwise_binary< ArithmeticOperation::PRELU > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ComparisonOperation op> | |
void | neon_qasymm8_signed_comparison_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_signed_comparison_elementwise_binary< ComparisonOperation::Equal > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_signed_comparison_elementwise_binary< ComparisonOperation::NotEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_signed_comparison_elementwise_binary< ComparisonOperation::Greater > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_signed_comparison_elementwise_binary< ComparisonOperation::GreaterEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_signed_comparison_elementwise_binary< ComparisonOperation::Less > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | neon_qasymm8_signed_comparison_elementwise_binary< ComparisonOperation::LessEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ArithmeticOperation op> | |
void | sve_fp32_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_fp32_elementwise_binary< ArithmeticOperation::ADD > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_fp32_elementwise_binary< ArithmeticOperation::SUB > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_fp32_elementwise_binary< ArithmeticOperation::DIV > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_fp32_elementwise_binary< ArithmeticOperation::MIN > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_fp32_elementwise_binary< ArithmeticOperation::MAX > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_fp32_elementwise_binary< ArithmeticOperation::SQUARED_DIFF > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_fp32_elementwise_binary< ArithmeticOperation::POWER > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_fp32_elementwise_binary< ArithmeticOperation::PRELU > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ComparisonOperation op> | |
void | sve_fp32_comparison_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_fp32_comparison_elementwise_binary< ComparisonOperation::Equal > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_fp32_comparison_elementwise_binary< ComparisonOperation::NotEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_fp32_comparison_elementwise_binary< ComparisonOperation::Greater > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_fp32_comparison_elementwise_binary< ComparisonOperation::GreaterEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_fp32_comparison_elementwise_binary< ComparisonOperation::Less > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_fp32_comparison_elementwise_binary< ComparisonOperation::LessEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<typename InputScalarType , typename OutputScalarType > | |
void | arithmetic_op_loop (svbool_t pg, const LoopArguments< InputScalarType, OutputScalarType, ArithmeticOperation > &args) |
template<typename InputScalarType , typename OutputScalarType > | |
void | arithmetic_op_broadcast_loop (svbool_t pg, const BroadcastLoopArguments< InputScalarType, OutputScalarType, ArithmeticOperation > &args) |
template<typename InputScalarType , typename OutputScalarType > | |
void | comparison_op_loop (svbool_t pg, const LoopArguments< InputScalarType, OutputScalarType, ComparisonOperation > &args) |
template<typename InputScalarType , typename OutputScalarType > | |
void | comparison_op_broadcast_loop (svbool_t pg, const BroadcastLoopArguments< InputScalarType, OutputScalarType, ComparisonOperation > &args) |
template<typename InputVectorType , typename OutputVectorType , typename OperatorType , typename InputScalarType = typename sve_scalar<InputVectorType>::type, typename OutputScalarType = typename sve_scalar<OutputVectorType>::type> | |
void | elementwise_op (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window, OperatorType op, LoopFuncType< InputScalarType, OutputScalarType, OperatorType > func, BroadcastLoopFuncType< InputScalarType, OutputScalarType, OperatorType > broadcast_func) |
template<ArithmeticOperation op, typename ScalarType > | |
void | elementwise_arithmetic_op (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::ADD, float32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::SUB, float32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::DIV, float32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::MIN, float32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::MAX, float32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::SQUARED_DIFF, float32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::POWER, float32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::PRELU, float32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::ADD, float16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::SUB, float16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::DIV, float16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::MIN, float16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::MAX, float16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::SQUARED_DIFF, float16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::POWER, float16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::PRELU, float16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::ADD, int16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::SUB, int16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::DIV, int16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::MIN, int16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::MAX, int16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::SQUARED_DIFF, int16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::POWER, int16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::PRELU, int16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::ADD, int32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::SUB, int32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::DIV, int32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::MIN, int32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::MAX, int32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::SQUARED_DIFF, int32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::POWER, int32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_arithmetic_op< ArithmeticOperation::PRELU, int32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ComparisonOperation op, typename InputScalarType , typename OutputScalarType > | |
void | elementwise_comparison_op (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::Equal, float32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::NotEqual, float32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::Greater, float32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::GreaterEqual, float32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::Less, float32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::LessEqual, float32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::Equal, float16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::NotEqual, float16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::Greater, float16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::GreaterEqual, float16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::Less, float16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::LessEqual, float16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::Equal, uint8_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::NotEqual, uint8_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::Greater, uint8_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::GreaterEqual, uint8_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::Less, uint8_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::LessEqual, uint8_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::Equal, int16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::NotEqual, int16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::Greater, int16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::GreaterEqual, int16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::Less, int16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::LessEqual, int16_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::Equal, int32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::NotEqual, int32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::Greater, int32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::GreaterEqual, int32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::Less, int32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | elementwise_comparison_op< ComparisonOperation::LessEqual, int32_t > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<> | |
svint32_t | elementwise_pow< svint32_t > (svbool_t &pg, const svint32_t &a, const svint32_t &b) |
template<> | |
svint32_t | elementwise_div< svint32_t > (svbool_t &pg, const svint32_t &a, const svint32_t &b) |
template<> | |
svint16_t | elementwise_div< svint16_t > (svbool_t &pg, const svint16_t &a, const svint16_t &b) |
template<typename VectorType > | |
VectorType | elementwise_pow (svbool_t &pg, const VectorType &a, const VectorType &b) |
template<typename VectorType > | |
VectorType | elementwise_div (svbool_t &pg, const VectorType &a, const VectorType &b) |
template<uint32_t bytewidth> | |
svbool_t | narrow_to_byte_predicate (svbool_t pg) |
template<typename VectorType > | |
VectorType | elementwise_arithmetic_op (svbool_t &pg, const VectorType &a, const VectorType &b, ArithmeticOperation op) |
template<typename InputVectorType , typename OutputVectorType > | |
OutputVectorType | elementwise_comparison_op (svbool_t &pg, const InputVectorType &a, const InputVectorType &b, ComparisonOperation op) |
template<ArithmeticOperation op> | |
void | sve_s32_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s32_elementwise_binary< ArithmeticOperation::ADD > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s32_elementwise_binary< ArithmeticOperation::SUB > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s32_elementwise_binary< ArithmeticOperation::DIV > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s32_elementwise_binary< ArithmeticOperation::MIN > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s32_elementwise_binary< ArithmeticOperation::MAX > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s32_elementwise_binary< ArithmeticOperation::SQUARED_DIFF > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s32_elementwise_binary< ArithmeticOperation::POWER > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s32_elementwise_binary< ArithmeticOperation::PRELU > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ArithmeticOperation op> | |
void | sve_s16_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s16_elementwise_binary< ArithmeticOperation::ADD > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s16_elementwise_binary< ArithmeticOperation::SUB > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s16_elementwise_binary< ArithmeticOperation::DIV > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s16_elementwise_binary< ArithmeticOperation::MIN > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s16_elementwise_binary< ArithmeticOperation::MAX > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s16_elementwise_binary< ArithmeticOperation::SQUARED_DIFF > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s16_elementwise_binary< ArithmeticOperation::POWER > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s16_elementwise_binary< ArithmeticOperation::PRELU > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ComparisonOperation op> | |
void | sve_u8_comparison_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_u8_comparison_elementwise_binary< ComparisonOperation::Equal > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_u8_comparison_elementwise_binary< ComparisonOperation::NotEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_u8_comparison_elementwise_binary< ComparisonOperation::Greater > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_u8_comparison_elementwise_binary< ComparisonOperation::GreaterEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_u8_comparison_elementwise_binary< ComparisonOperation::Less > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_u8_comparison_elementwise_binary< ComparisonOperation::LessEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ComparisonOperation op> | |
void | sve_s16_comparison_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s16_comparison_elementwise_binary< ComparisonOperation::Equal > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s16_comparison_elementwise_binary< ComparisonOperation::NotEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s16_comparison_elementwise_binary< ComparisonOperation::Greater > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s16_comparison_elementwise_binary< ComparisonOperation::GreaterEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s16_comparison_elementwise_binary< ComparisonOperation::Less > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s16_comparison_elementwise_binary< ComparisonOperation::LessEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ComparisonOperation op> | |
void | sve_s32_comparison_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s32_comparison_elementwise_binary< ComparisonOperation::Equal > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s32_comparison_elementwise_binary< ComparisonOperation::NotEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s32_comparison_elementwise_binary< ComparisonOperation::Greater > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s32_comparison_elementwise_binary< ComparisonOperation::GreaterEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s32_comparison_elementwise_binary< ComparisonOperation::Less > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve_s32_comparison_elementwise_binary< ComparisonOperation::LessEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
svfloat32x4_t | load_quantized (const int8_t *ptr, svbool_t pg, const svint32_t &offset, const svfloat32_t &scale) |
svfloat32x4_t | load_quantized (const uint8_t *ptr, svbool_t pg, const svint32_t &offset, const svfloat32_t &scale) |
void | store_quantized (uint8_t *ptr, svbool_t pg, svfloat32x4_t data, const svint32_t &offset, const svfloat32_t &inv_scale) |
void | store_quantized (int8_t *ptr, svbool_t pg, svfloat32x4_t data, const svint32_t &offset, const svfloat32_t &inv_scale) |
template<typename InputScalarType , typename OutputScalarType > | |
void | arithmetic_op_quantized_loop (svbool_t pg, const QuantizedLoopArguments< InputScalarType, OutputScalarType, ArithmeticOperation > &args) |
template<typename InputScalarType , typename OutputScalarType > | |
void | arithmetic_op_broadcast_quantized_loop (svbool_t pg, const BroadcastQuantizedLoopArguments< InputScalarType, OutputScalarType, ArithmeticOperation > &args) |
template<typename InputScalarType , typename OutputScalarType > | |
void | comparison_op_quantized_loop (svbool_t pg, const QuantizedLoopArguments< InputScalarType, OutputScalarType, ComparisonOperation > &args) |
template<typename InputScalarType , typename OutputScalarType > | |
void | comparison_op_broadcast_quantized_loop (svbool_t pg, const BroadcastQuantizedLoopArguments< InputScalarType, OutputScalarType, ComparisonOperation > &args) |
template<typename InputVectorType , typename OutputVectorType , typename OperatorType , typename InputScalarType = typename wrapper::sve_scalar<InputVectorType>::type, typename OutputScalarType = typename wrapper::sve_scalar<OutputVectorType>::type> | |
void | elementwise_quantized_op (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window, OperatorType op, LoopQuantizedFuncType< InputScalarType, OutputScalarType, OperatorType > func, BroadcastQuantizedLoopFuncType< InputScalarType, OutputScalarType, OperatorType > broadcast_func) |
template<ArithmeticOperation op, typename ScalarType > | |
void | elementwise_arithmetic_quantized_op (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ComparisonOperation op, typename InputScalarType , typename OutputScalarType = uint8_t> | |
void | elementwise_comparison_quantized_op (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ArithmeticOperation op> | |
void | sve2_qasymm8_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_elementwise_binary< ArithmeticOperation::ADD > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_elementwise_binary< ArithmeticOperation::SUB > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_elementwise_binary< ArithmeticOperation::DIV > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_elementwise_binary< ArithmeticOperation::MIN > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_elementwise_binary< ArithmeticOperation::MAX > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_elementwise_binary< ArithmeticOperation::SQUARED_DIFF > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_elementwise_binary< ArithmeticOperation::POWER > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_elementwise_binary< ArithmeticOperation::PRELU > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ComparisonOperation op> | |
void | sve2_qasymm8_comparison_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_comparison_elementwise_binary< ComparisonOperation::Equal > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_comparison_elementwise_binary< ComparisonOperation::NotEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_comparison_elementwise_binary< ComparisonOperation::Greater > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_comparison_elementwise_binary< ComparisonOperation::GreaterEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_comparison_elementwise_binary< ComparisonOperation::Less > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_comparison_elementwise_binary< ComparisonOperation::LessEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ArithmeticOperation op> | |
void | sve2_qasymm8_signed_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_signed_elementwise_binary< ArithmeticOperation::ADD > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_signed_elementwise_binary< ArithmeticOperation::SUB > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_signed_elementwise_binary< ArithmeticOperation::DIV > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_signed_elementwise_binary< ArithmeticOperation::MIN > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_signed_elementwise_binary< ArithmeticOperation::MAX > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_signed_elementwise_binary< ArithmeticOperation::SQUARED_DIFF > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_signed_elementwise_binary< ArithmeticOperation::POWER > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_signed_elementwise_binary< ArithmeticOperation::PRELU > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ComparisonOperation op> | |
void | sve2_qasymm8_signed_comparison_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_signed_comparison_elementwise_binary< ComparisonOperation::Equal > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_signed_comparison_elementwise_binary< ComparisonOperation::NotEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_signed_comparison_elementwise_binary< ComparisonOperation::Greater > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_signed_comparison_elementwise_binary< ComparisonOperation::GreaterEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_signed_comparison_elementwise_binary< ComparisonOperation::Less > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | sve2_qasymm8_signed_comparison_elementwise_binary< ComparisonOperation::LessEqual > (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ArithmeticOperation op> | |
void | sve_fp16_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ArithmeticOperation op> | |
void | neon_fp16_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ComparisonOperation op> | |
void | sve_fp16_comparison_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<ComparisonOperation op> | |
void | neon_fp16_comparison_elementwise_binary (const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
void | neon_fp32_elementwise_unary (const ITensor *in, ITensor *out, const Window &window, ElementWiseUnary op) |
template<typename ScalarType > | |
ScalarType | elementwise_op_scalar_imp (ElementWiseUnary op, const ScalarType &a) |
template<typename ScalarType , typename VectorType > | |
VectorType | elementwise_op_imp (ElementWiseUnary op, const VectorType &a) |
template<typename ScalarType > | |
void | elementwise_op (const ITensor *in, ITensor *out, const Window &window, ElementWiseUnary op) |
template void | elementwise_op< float > (const ITensor *in, ITensor *out, const Window &window, ElementWiseUnary op) |
template void | elementwise_op< int32_t > (const ITensor *in, ITensor *out, const Window &window, ElementWiseUnary op) |
void | neon_s32_elementwise_unary (const ITensor *in, ITensor *out, const Window &window, ElementWiseUnary op) |
void | sve_fp32_elementwise_unary (const ITensor *in, ITensor *out, const Window &window, ElementWiseUnary op) |
template<typename ScalarType , typename VectorType > | |
std::enable_if< utils::traits::is_floating_point< ScalarType >::value, VectorType >::type | elementwise_op_sve_imp (svbool_t pg, ElementWiseUnary op, const VectorType &a) |
template<typename ScalarType , typename VectorType > | |
std::enable_if< std::is_integral< ScalarType >::value, VectorType >::type | elementwise_op_sve_imp (svbool_t pg, ElementWiseUnary op, const VectorType &a) |
template<typename ScalarType > | |
void | elementwise_sve_op (const ITensor *in, ITensor *out, const Window &window, ElementWiseUnary op) |
template void | elementwise_sve_op< float16_t > (const ITensor *in, ITensor *out, const Window &window, ElementWiseUnary op) |
template void | elementwise_sve_op< float32_t > (const ITensor *in, ITensor *out, const Window &window, ElementWiseUnary op) |
template void | elementwise_sve_op< int32_t > (const ITensor *in, ITensor *out, const Window &window, ElementWiseUnary op) |
void | sve_s32_elementwise_unary (const ITensor *in, ITensor *out, const Window &window, ElementWiseUnary op) |
void | sve_fp16_elementwise_unary (const ITensor *in, ITensor *out, const Window &window, ElementWiseUnary op) |
void | neon_fp16_elementwise_unary (const ITensor *in, ITensor *out, const Window &window, ElementWiseUnary op) |
void | fp16_neon_floor (const void *src, void *dst, int len) |
void | fp32_neon_floor (const void *src, void *dst, int len) |
void | fused_batch_normalization_conv_f32 (const ITensor *conv_weights, const ITensor *conv_bias, ITensor *fused_weights, ITensor *fused_bias, const ITensor *bn_mean, const ITensor *bn_var, const ITensor *bn_beta, const ITensor *bn_gamma, float epsilon, const Window &window) |
template<typename T > | |
void | fused_batch_normalization_conv (const ITensor *conv_weights, const ITensor *conv_bias, ITensor *fused_weights, ITensor *fused_bias, const ITensor *bn_mean, const ITensor *bn_var, const ITensor *bn_beta, const ITensor *bn_gamma, float epsilon, const Window &window) |
template void | fused_batch_normalization_conv< float32_t > (const ITensor *conv_weights, const ITensor *conv_bias, ITensor *fused_weights, ITensor *fused_bias, const ITensor *bn_mean, const ITensor *bn_var, const ITensor *bn_beta, const ITensor *bn_gamma, float epsilon, const Window &window) |
void | fused_batch_normalization_conv_f16 (const ITensor *conv_weights, const ITensor *conv_bias, ITensor *fused_weights, ITensor *fused_bias, const ITensor *bn_mean, const ITensor *bn_var, const ITensor *bn_beta, const ITensor *bn_gamma, float epsilon, const Window &window) |
void | fused_batch_normalization_dwc_nhwc_f16 (const ITensor *dwc_weights, const ITensor *dwc_bias, ITensor *fused_weights, ITensor *fused_bias, const ITensor *bn_mean, const ITensor *bn_var, const ITensor *bn_beta, const ITensor *bn_gamma, float epsilon, const Window &window) |
void | fused_batch_normalization_dwc_nhwc_f32 (const ITensor *dwc_weights, const ITensor *dwc_bias, ITensor *fused_weights, ITensor *fused_bias, const ITensor *bn_mean, const ITensor *bn_var, const ITensor *bn_beta, const ITensor *bn_gamma, float epsilon, const Window &window) |
void | fused_batch_normalization_dwc_nchw_f16 (const ITensor *dwc_weights, const ITensor *dwc_bias, ITensor *fused_weights, ITensor *fused_bias, const ITensor *bn_mean, const ITensor *bn_var, const ITensor *bn_beta, const ITensor *bn_gamma, float epsilon, const Window &window) |
void | fused_batch_normalization_dwc_nchw_f32 (const ITensor *dwc_weights, const ITensor *dwc_bias, ITensor *fused_weights, ITensor *fused_bias, const ITensor *bn_mean, const ITensor *bn_var, const ITensor *bn_beta, const ITensor *bn_gamma, float epsilon, const Window &window) |
template<typename T > | |
void | fused_batch_normalization_dwc_nchw (const ITensor *dwc_weights, const ITensor *dwc_bias, ITensor *fused_weights, ITensor *fused_bias, const ITensor *bn_mean, const ITensor *bn_var, const ITensor *bn_beta, const ITensor *bn_gamma, float epsilon, const Window &window) |
template<typename T > | |
void | fused_batch_normalization_dwc_nhwc (const ITensor *dwc_weights, const ITensor *dwc_bias, ITensor *fused_weights, ITensor *fused_bias, const ITensor *bn_mean, const ITensor *bn_var, const ITensor *bn_beta, const ITensor *bn_gamma, float epsilon, const Window &window) |
template void | fused_batch_normalization_dwc_nhwc< float32_t > (const ITensor *dwc_weights, const ITensor *dwc_bias, ITensor *fused_weights, ITensor *fused_bias, const ITensor *bn_mean, const ITensor *bn_var, const ITensor *bn_beta, const ITensor *bn_gamma, float epsilon, const Window &window) |
void | neon_fp32_gemm_matrix_add (const ITensor *src, ITensor *dst, const Window &window, float beta) |
void | matrix_addition_f32 (const ITensor *src, ITensor *dst, const Window &window, float beta) |
void | neon_fp16_gemm_matrix_add (const ITensor *src, ITensor *dst, const Window &window, float beta) |
void | neon_fp32_gemm_matrix_mul (const ITensor *lhs, const ITensor *rhs, ITensor *dst, const Window &window, const ThreadInfo &info, float alpha, const bool is_dst_vector) |
void | vector_matrix_multiply_f32 (const ITensor *lhs, const ITensor *rhs, ITensor *dst, const Window &window, const ThreadInfo &info, float alpha) |
void | matrix_matrix_multiply_f32 (const ITensor *lhs, const ITensor *rhs, ITensor *dst, const Window &window, const ThreadInfo &info, float alpha) |
void | neon_fp16_gemm_matrix_mul (const ITensor *lhs, const ITensor *rhs, ITensor *dst, const Window &window, const ThreadInfo &info, float alpha, const bool is_dst_vector) |
void | neon_fp32_computeallanchors (const ITensor *anchors, ITensor *all_anchors, ComputeAnchorsInfo anchors_info, const Window &window) |
template<typename T > | |
void | compute_all_anchors (const ITensor *anchors, ITensor *all_anchors, ComputeAnchorsInfo anchors_info, const Window &window) |
template void | compute_all_anchors< float > (const ITensor *anchors, ITensor *all_anchors, ComputeAnchorsInfo anchors_info, const Window &window) |
void | compute_all_anchors_qasymm16 (const ITensor *anchors, ITensor *all_anchors, ComputeAnchorsInfo anchors_info, const Window &window) |
void | neon_qu16_computeallanchors (const ITensor *anchors, ITensor *all_anchors, ComputeAnchorsInfo anchors_info, const Window &window) |
void | neon_fp16_computeallanchors (const ITensor *anchors, ITensor *all_anchors, ComputeAnchorsInfo anchors_info, const Window &window) |
void | neon_fp32_instancenorm (ITensor *input, ITensor *output, float gamma, float beta, float epsilon, bool use_mixed_precision, const Window &window) |
template<typename InputType , typename AccType > | |
void | vector_float_sum (AccType &result, AccType &result_square, const InputType &inputs) |
template<typename InputType , typename AccType > | |
InputType | vector_float_norm (const InputType &inputs, const AccType &vec_mean, const AccType &vec_multip, const AccType &vec_beta) |
template<typename T , typename AccType > | |
void | instance_normalization_nchw (ITensor *input, ITensor *output, float gamma, float beta, float epsilon, const Window &window) |
template void | instance_normalization_nchw< float > (ITensor *input, ITensor *output, float gamma, float beta, float epsilon, const Window &window) |
void | neon_fp16_instancenorm (ITensor *input, ITensor *output, float gamma, float beta, float epsilon, bool use_mixed_precision, const Window &window) |
void | neon_fp32_l2_normalize_x (const ITensor *in, const ITensor *sum, ITensor *out, float epsilon, const Window &window, size_t unused_axis) |
void | neon_fp32_l2_normalize_yz (const ITensor *in, const ITensor *sum, ITensor *out, float epsilon, const Window &window, size_t axis) |
template<typename T , int S> | |
void | l2_normalize_x (const ITensor *in, const ITensor *sum, ITensor *out, float epsilon, const Window &window) |
template<typename T , int S> | |
void | l2_normalize_yz (const ITensor *in, const ITensor *sum, ITensor *out, float epsilon, const Window &window, size_t axis) |
template void | l2_normalize_yz< float, 4 > (const ITensor *in, const ITensor *sum, ITensor *out, float epsilon, const Window &window, size_t axis) |
template void | l2_normalize_x< float, 4 > (const ITensor *in, const ITensor *sum, ITensor *out, float epsilon, const Window &window) |
void | neon_fp16_l2_normalize_x (const ITensor *in, const ITensor *sum, ITensor *out, float epsilon, const Window &window, size_t axis) |
void | neon_fp16_l2_normalize_yz (const ITensor *in, const ITensor *sum, ITensor *out, float epsilon, const Window &window, size_t axis) |
void | neon_fp32_maxunpooling (const ITensor *input, const ITensor *indices, ITensor *output, const Window &window) |
template<typename T > | |
void | max_unpooling (const ITensor *input, const ITensor *indices, ITensor *output, const Window &window) |
template void | max_unpooling< float > (const ITensor *input, const ITensor *indices, ITensor *output, const Window &window) |
template void | max_unpooling< int8_t > (const ITensor *input, const ITensor *indices, ITensor *output, const Window &window) |
template void | max_unpooling< uint8_t > (const ITensor *input, const ITensor *indices, ITensor *output, const Window &window) |
void | neon_qs8_maxunpooling (const ITensor *input, const ITensor *indices, ITensor *output, const Window &window) |
void | neon_qu8_maxunpooling (const ITensor *input, const ITensor *indices, ITensor *output, const Window &window) |
void | neon_fp16_maxunpooling (const ITensor *input, const ITensor *indices, ITensor *output, const Window &window) |
void | neon_fp32_meanstddevnorm (ITensor *input, ITensor *output, float epsilon, const Window &window) |
template<typename ScalarType , int size> | |
void | mean_stddev_normalization (ITensor *input, ITensor *output, float epsilon, const Window &window) |
template void | mean_stddev_normalization< float, 4 > (ITensor *input, ITensor *output, float epsilon, const Window &window) |
void | neon_fp16_meanstddevnorm (ITensor *input, ITensor *output, float epsilon, const Window &window) |
void | poolingMxN_fp32_neon_nhwc (const ITensor *src, ITensor *dst0, ITensor *dst1, PoolingLayerInfo &pool_info, const Window &window_src, const Window &window) |
void | poolingMxN_qasymm8_neon_nhwc (const ITensor *src0, ITensor *dst0, ITensor *dst1, PoolingLayerInfo &, const Window &window_src, const Window &window) |
void | poolingMxN_qasymm8_signed_neon_nhwc (const ITensor *src0, ITensor *dst0, ITensor *dst1, PoolingLayerInfo &, const Window &window_src, const Window &window) |
void | poolingMxN_fp16_neon_nhwc (const ITensor *src0, ITensor *dst0, ITensor *dst1, PoolingLayerInfo &, const Window &window_src, const Window &window) |
template<typename T > | |
uint32_t | offset_no_padding (uint32_t padded_offset, const Coordinates &id, const ITensorInfo &info, int pool_stride_x, int pool_stride_y, DataLayout data_layout) |
template<typename T > | |
void | poolingMxN_q8_neon_nhwc (const ITensor *src, ITensor *dst0, ITensor *dst1, PoolingLayerInfo &pool_info, const Window &window_src, const Window &window) |
void | neon_q8_pool3d (const ITensor *src0, ITensor *dst0, Pooling3dLayerInfo &, const Window &window) |
void | neon_q8_signed_pool3d (const ITensor *src0, ITensor *dst0, Pooling3dLayerInfo &, const Window &window) |
void | neon_fp16_pool3d (const ITensor *src0, ITensor *dst0, Pooling3dLayerInfo &, const Window &window) |
void | neon_fp32_pool3d (const ITensor *src0, ITensor *dst0, Pooling3dLayerInfo &, const Window &window) |
template<typename T > | |
void | poolingMxNxD_fp_neon_ndhwc (const ITensor *src, ITensor *dst0, Pooling3dLayerInfo &pool_info, const Window &window) |
template<typename T > | |
void | poolingMxNxD_q8_neon_ndhwc (const ITensor *src, ITensor *dst0, Pooling3dLayerInfo &pool_info, const Window &window) |
template void | poolingMxNxD_fp_neon_ndhwc< float > (const ITensor *src, ITensor *dst0, Pooling3dLayerInfo &pool_info, const Window &window) |
template void | poolingMxNxD_q8_neon_ndhwc< uint8_t > (const ITensor *src, ITensor *dst0, Pooling3dLayerInfo &pool_info, const Window &window) |
template void | poolingMxNxD_q8_neon_ndhwc< int8_t > (const ITensor *src, ITensor *dst0, Pooling3dLayerInfo &pool_info, const Window &window) |
template<typename T > | |
void | avg_poolingMxNxD_q8_neon_ndhwc (const ITensor *src, ITensor *dst0, Pooling3dLayerInfo &pool_info, const Window &window_out, const int window_step_x) |
template<typename T > | |
void | max_poolingMxNxD_q8_neon_ndhwc (const ITensor *src, ITensor *dst0, Pooling3dLayerInfo &pool_info, const Window &window_out, const int window_step_x) |
void | fp32_neon_range_function (ITensor *output, float start, float step, const Window &window) |
template<typename T > | |
void | neon_range_function (ITensor *output, float start, float step, const Window &window) |
template void | neon_range_function< uint8_t > (ITensor *output, float start, float step, const Window &window) |
template void | neon_range_function< uint16_t > (ITensor *output, float start, float step, const Window &window) |
template void | neon_range_function< uint32_t > (ITensor *output, float start, float step, const Window &window) |
template void | neon_range_function< int8_t > (ITensor *output, float start, float step, const Window &window) |
template void | neon_range_function< int16_t > (ITensor *output, float start, float step, const Window &window) |
template void | neon_range_function< int32_t > (ITensor *output, float start, float step, const Window &window) |
template void | neon_range_function< float32_t > (ITensor *output, float start, float step, const Window &window) |
void | u8_neon_range_function (ITensor *output, float start, float step, const Window &window) |
void | u16_neon_range_function (ITensor *output, float start, float step, const Window &window) |
void | u32_neon_range_function (ITensor *output, float start, float step, const Window &window) |
void | s8_neon_range_function (ITensor *output, float start, float step, const Window &window) |
void | s16_neon_range_function (ITensor *output, float start, float step, const Window &window) |
void | s32_neon_range_function (ITensor *output, float start, float step, const Window &window) |
void | fp16_neon_range_function (ITensor *output, float start, float step, const Window &window) |
void | neon_fp32_roialign (const ITensor *input, ITensor *output, const ITensor *rois, ROIPoolingLayerInfo pool_info, const Window &window, const ThreadInfo &info) |
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) |
template<typename input_data_type , typename roi_data_type > | |
void | roi_align (const ITensor *input, ITensor *output, const ITensor *rois, ROIPoolingLayerInfo pool_info, const Window &window, const ThreadInfo &info) |
template void | roi_align< float, float > (const ITensor *input, ITensor *output, const ITensor *rois, ROIPoolingLayerInfo pool_info, const Window &window, const ThreadInfo &info) |
template void | roi_align< uint8_t, uint16_t > (const ITensor *input, ITensor *output, const ITensor *rois, ROIPoolingLayerInfo pool_info, const Window &window, const ThreadInfo &info) |
template void | roi_align< int8_t, uint16_t > (const ITensor *input, ITensor *output, const ITensor *rois, ROIPoolingLayerInfo pool_info, const Window &window, const ThreadInfo &info) |
void | neon_qu8_roialign (const ITensor *input, ITensor *output, const ITensor *rois, ROIPoolingLayerInfo pool_info, const Window &window, const ThreadInfo &info) |
void | neon_qs8_roialign (const ITensor *input, ITensor *output, const ITensor *rois, ROIPoolingLayerInfo pool_info, const Window &window, const ThreadInfo &info) |
void | neon_fp16_roialign (const ITensor *input, ITensor *output, const ITensor *rois, ROIPoolingLayerInfo pool_info, const Window &window, const ThreadInfo &info) |
void | u8_neon_scale (const ITensor *src, ITensor *dst, const ITensor *offsets, const ITensor *dx, const ITensor *dy, InterpolationPolicy policy, BorderMode border_mode, PixelValue constant_border_value, float sampling_offset, bool align_corners, const Window &window) |
void | s16_neon_scale (const ITensor *src, ITensor *dst, const ITensor *offsets, const ITensor *dx, const ITensor *dy, InterpolationPolicy policy, BorderMode border_mode, PixelValue constant_border_value, float sampling_offset, bool align_corners, const Window &window) |
void | qasymm8_neon_scale (const ITensor *src, ITensor *dst, const ITensor *offsets, const ITensor *dx, const ITensor *dy, InterpolationPolicy policy, BorderMode border_mode, PixelValue constant_border_value, float sampling_offset, bool align_corners, const Window &window) |
void | qasymm8_signed_neon_scale (const ITensor *src, ITensor *dst, const ITensor *offsets, const ITensor *dx, const ITensor *dy, InterpolationPolicy policy, BorderMode border_mode, PixelValue constant_border_value, float sampling_offset, bool align_corners, const Window &window) |
template<typename T > | |
void | nearest_neon_scale (const ITensor *src, ITensor *dst, const ITensor *offsets, float sampling_offset, bool align_corners, const Window &window) |
template<typename T > | |
void | bilinear_neon_scale (const ITensor *src, ITensor *dst, const ITensor *offsets, const ITensor *dx, const ITensor *dy, BorderMode border_mode, PixelValue constant_border_value, float sampling_offset, bool align_corners, const Window &window) |
template<typename T > | |
void | common_neon_scale (const ITensor *src, ITensor *dst, const ITensor *offsets, const ITensor *dx, const ITensor *dy, InterpolationPolicy policy, BorderMode border_mode, PixelValue constant_border_value, float sampling_offset, bool align_corners, const Window &window) |
void | fp32_sve_scale (const ITensor *src, ITensor *dst, const ITensor *offsets, const ITensor *dx, const ITensor *dy, InterpolationPolicy policy, BorderMode border_mode, PixelValue constant_border_value, float sampling_offset, bool align_corners, const Window &window) |
void | u8_sve_scale (const ITensor *src, ITensor *dst, const ITensor *offsets, const ITensor *dx, const ITensor *dy, InterpolationPolicy policy, BorderMode border_mode, PixelValue constant_border_value, float sampling_offset, bool align_corners, const Window &window) |
void | s16_sve_scale (const ITensor *src, ITensor *dst, const ITensor *offsets, const ITensor *dx, const ITensor *dy, InterpolationPolicy policy, BorderMode border_mode, PixelValue constant_border_value, float sampling_offset, bool align_corners, const Window &window) |
void | fp16_sve_scale (const ITensor *src, ITensor *dst, const ITensor *offsets, const ITensor *dx, const ITensor *dy, InterpolationPolicy policy, BorderMode border_mode, PixelValue constant_border_value, float sampling_offset, bool align_corners, const Window &window) |
void | qasymm8_sve_scale (const ITensor *src, ITensor *dst, const ITensor *offsets, const ITensor *dx, const ITensor *dy, InterpolationPolicy policy, BorderMode border_mode, PixelValue constant_border_value, float sampling_offset, bool align_corners, const Window &window) |
void | qasymm8_signed_sve_scale (const ITensor *src, ITensor *dst, const ITensor *offsets, const ITensor *dx, const ITensor *dy, InterpolationPolicy policy, BorderMode border_mode, PixelValue constant_border_value, float sampling_offset, bool align_corners, const Window &window) |
void | neon_f32_select_same_rank (const ITensor *c, const ITensor *x, const ITensor *y, ITensor *output, const Window &window) |
void | neon_f32_select_not_same_rank (const ITensor *c, const ITensor *x, const ITensor *y, ITensor *output, const Window &window) |
template<typename ScalarType , typename VectorType > | |
void | select_op (const ITensor *cond, const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window, const int window_step_x, const int window_start_x, const int window_end_x, const int limit, VectorType(*condition_conversion)(const uint8_t *)) |
template<typename ScalarType , typename VectorType > | |
void | select_op_8 (const ITensor *cond, const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<typename ScalarType , typename VectorType > | |
void | select_op_16 (const ITensor *cond, const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<typename ScalarType , typename VectorType > | |
void | select_op_32 (const ITensor *cond, const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template<typename ScalarType > | |
void | select_op_not_same_rank (const ITensor *cond, const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | select_op_32< float, uint32x4_t > (const ITensor *cond, const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | select_op_not_same_rank< float > (const ITensor *cond, const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | select_op_8< int8_t, uint8x16_t > (const ITensor *cond, const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | select_op_16< int16_t, uint16x8_t > (const ITensor *cond, const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | select_op_32< int32_t, uint32x4_t > (const ITensor *cond, const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | select_op_not_same_rank< int8_t > (const ITensor *cond, const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | select_op_not_same_rank< int16_t > (const ITensor *cond, const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | select_op_not_same_rank< int32_t > (const ITensor *cond, const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | select_op_8< uint8_t, uint8x16_t > (const ITensor *cond, const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | select_op_16< uint16_t, uint16x8_t > (const ITensor *cond, const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | select_op_32< uint32_t, uint32x4_t > (const ITensor *cond, const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | select_op_not_same_rank< uint8_t > (const ITensor *cond, const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | select_op_not_same_rank< uint16_t > (const ITensor *cond, const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
template void | select_op_not_same_rank< uint32_t > (const ITensor *cond, const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) |
void | neon_s8_select_same_rank (const ITensor *c, const ITensor *x, const ITensor *y, ITensor *output, const Window &window) |
void | neon_s16_select_same_rank (const ITensor *c, const ITensor *x, const ITensor *y, ITensor *output, const Window &window) |
void | neon_s32_select_same_rank (const ITensor *c, const ITensor *x, const ITensor *y, ITensor *output, const Window &window) |
void | neon_s8_select_not_same_rank (const ITensor *c, const ITensor *x, const ITensor *y, ITensor *output, const Window &window) |
void | neon_s16_select_not_same_rank (const ITensor *c, const ITensor *x, const ITensor *y, ITensor *output, const Window &window) |
void | neon_s32_select_not_same_rank (const ITensor *c, const ITensor *x, const ITensor *y, ITensor *output, const Window &window) |
void | neon_u8_select_same_rank (const ITensor *c, const ITensor *x, const ITensor *y, ITensor *output, const Window &window) |
void | neon_u16_select_same_rank (const ITensor *c, const ITensor *x, const ITensor *y, ITensor *output, const Window &window) |
void | neon_u32_select_same_rank (const ITensor *c, const ITensor *x, const ITensor *y, ITensor *output, const Window &window) |
void | neon_u8_select_not_same_rank (const ITensor *c, const ITensor *x, const ITensor *y, ITensor *output, const Window &window) |
void | neon_u16_select_not_same_rank (const ITensor *c, const ITensor *x, const ITensor *y, ITensor *output, const Window &window) |
void | neon_u32_select_not_same_rank (const ITensor *c, const ITensor *x, const ITensor *y, ITensor *output, const Window &window) |
void | neon_f16_select_same_rank (const ITensor *c, const ITensor *x, const ITensor *y, ITensor *output, const Window &window) |
void | neon_f16_select_not_same_rank (const ITensor *c, const ITensor *x, const ITensor *y, ITensor *output, const Window &window) |
void | neon_fp32_softmax (const ITensor *in, const ITensor *max, void *const tmp, ITensor *out, const float beta, bool is_log, const Window &window) |
void | neon_fp32_logits (const ITensor *in, ITensor *out, const Window &window) |
template<typename T > | |
void | neon_logits_1d_max (const ITensor *in, ITensor *out, const Window &window) |
template void | neon_logits_1d_max< float > (const ITensor *in, ITensor *out, const Window &window) |
template void | neon_logits_1d_max< qasymm8_signed_t > (const ITensor *in, ITensor *out, const Window &window) |
template void | neon_logits_1d_max< qasymm8_t > (const ITensor *in, ITensor *out, const Window &window) |
template<typename T > | |
void | neon_softmax_logits_1d_quantized (const ITensor *in, const ITensor *max, void *const tmp, ITensor *out, float beta, bool is_log, const Window &window) |
template void | neon_softmax_logits_1d_quantized< qasymm8_signed_t > (const ITensor *in, const ITensor *max, void *const tmp, ITensor *out, float beta, bool is_log, const Window &window) |
template void | neon_softmax_logits_1d_quantized< qasymm8_t > (const ITensor *in, const ITensor *max, void *const tmp, ITensor *out, float beta, bool is_log, const Window &window) |
template<typename T > | |
void | neon_softmax_logits_1d_float (const ITensor *in, const ITensor *max, void *const tmp, ITensor *out, const float beta, bool is_log, const Window &window) |
template void | neon_softmax_logits_1d_float< float > (const ITensor *in, const ITensor *max, void *const tmp, ITensor *out, const float beta, bool is_log, const Window &window) |
void | neon_qasymm8_softmax (const ITensor *in, const ITensor *max, void *const tmp, ITensor *out, const float beta, bool is_log, const Window &window) |
void | neon_qasymm8_logits (const ITensor *in, ITensor *out, const Window &window) |
void | neon_qasymm8_signed_softmax (const ITensor *in, const ITensor *max, void *const tmp, ITensor *out, const float beta, bool is_log, const Window &window) |
void | neon_qasymm8_singed_logits (const ITensor *in, ITensor *out, const Window &window) |
void | sve_fp32_softmax (const ITensor *in, const ITensor *max, void *const tmp, ITensor *out, const float beta, bool is_log, const Window &window) |
void | sve_fp32_logits (const ITensor *in, ITensor *out, const Window &window) |
template<typename ScalarType > | |
void | sve_logits_1d_max (const ITensor *in, ITensor *out, const Window &window) |
template<typename ScalarType > | |
void | sve_softmax_logits_1d_float (const ITensor *in, const ITensor *max, void *const tmp, ITensor *out, const float beta, bool is_log, const Window &window) |
template void | sve_logits_1d_max< float > (const ITensor *in, ITensor *out, const Window &window) |
template void | sve_logits_1d_max< float16_t > (const ITensor *in, ITensor *out, const Window &window) |
template void | sve_logits_1d_max< qasymm8_t > (const ITensor *in, ITensor *out, const Window &window) |
template void | sve_logits_1d_max< qasymm8_signed_t > (const ITensor *in, ITensor *out, const Window &window) |
template void | sve_softmax_logits_1d_float< float > (const ITensor *in, const ITensor *max, void *const tmp, ITensor *out, const float beta, bool is_log, const Window &window) |
template void | sve_softmax_logits_1d_float< float16_t > (const ITensor *in, const ITensor *max, void *const tmp, ITensor *out, const float beta, bool is_log, const Window &window) |
void | sve_qasymm8_logits (const ITensor *in, ITensor *out, const Window &window) |
void | sve_qasymm8_signed_logits (const ITensor *in, ITensor *out, const Window &window) |
template<typename ScalarType > | |
void | sve2_softmax_logits_1d_quantized (const ITensor *in, const ITensor *max, void *const tmp, ITensor *out, float beta, bool is_log, const Window &window) |
template void | sve2_softmax_logits_1d_quantized< qasymm8_signed_t > (const ITensor *in, const ITensor *max, void *const tmp, ITensor *out, float beta, bool is_log, const Window &window) |
template void | sve2_softmax_logits_1d_quantized< qasymm8_t > (const ITensor *in, const ITensor *max, void *const tmp, ITensor *out, float beta, bool is_log, const Window &window) |
void | sve2_qasymm8_softmax (const ITensor *in, const ITensor *max, void *const tmp, ITensor *out, const float beta, bool is_log, const Window &window) |
void | sve2_qasymm8_signed_softmax (const ITensor *in, const ITensor *max, void *const tmp, ITensor *out, const float beta, bool is_log, const Window &window) |
void | neon_fp16_softmax (const ITensor *in, const ITensor *max, void *const tmp, ITensor *out, const float beta, bool is_log, const Window &window) |
void | sve_fp16_softmax (const ITensor *in, const ITensor *max, void *const tmp, ITensor *out, const float beta, bool is_log, const Window &window) |
void | neon_fp16_logits (const ITensor *in, ITensor *out, const Window &window) |
void | sve_fp16_logits (const ITensor *in, ITensor *out, const Window &window) |
void | sub_qasymm8_neon (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
void | sub_qasymm8_signed_neon (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
void | sub_qsymm16_neon (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
template<typename T > | |
void | sub_same_neon (const ITensor *src0, const ITensor *src1, ITensor *dst, const ConvertPolicy &policy, const Window &window) |
Variables | |
constexpr int | step = 4 |
using BroadcastLoopFuncType = void (*)(svbool_t, const BroadcastLoopArguments<InputScalarType, OutputScalarType, OperatorType> &) |
using BroadcastQuantizedLoopFuncType = void (*)(svbool_t, const BroadcastQuantizedLoopArguments<InputScalarType, OutputScalarType, OperatorType> &) |
Class to run cpu::kernels::CpuArithmeticKernel except for maximum operation.
Definition at line 65 of file CpuElementwise.h.
Class to run cpu::kernels::CpuArithmeticKernel except for minimum operation.
Definition at line 67 of file CpuElementwise.h.
Class to run cpu::kernels::CpuArithmeticKernel except for squared difference operation.
Definition at line 69 of file CpuElementwise.h.
using CpuLogSoftmax = CpuSoftmaxGeneric<true> |
Definition at line 107 of file CpuSoftmax.h.
Class to run cpu::kernels::CpuArithmeticKernel except for PRelu operation.
Definition at line 34 of file CpuPRelu.h.
using CpuSoftmax = CpuSoftmaxGeneric<false> |
Definition at line 106 of file CpuSoftmax.h.
Definition at line 33 of file ICpuOperator.h.
Definition at line 33 of file CpuElementwiseUnary.cpp.
using LoopFuncType = void (*)(svbool_t, const LoopArguments<InputScalarType, OutputScalarType, OperatorType> &) |
using LoopQuantizedFuncType = void (*)(svbool_t, const QuantizedLoopArguments<InputScalarType, OutputScalarType, OperatorType> &) |
Basic function to run equal comparison.
Definition at line 171 of file CpuElementwise.h.
Basic function to run greater comparison.
Definition at line 175 of file CpuElementwise.h.
Basic function to run greater-equal comparison.
Definition at line 177 of file CpuElementwise.h.
Basic function to run less comparison.
Definition at line 179 of file CpuElementwise.h.
Basic function to run less-equal comparison.
Definition at line 181 of file CpuElementwise.h.
Basic function to run not equal comparison.
Definition at line 173 of file CpuElementwise.h.
|
strong |
Enumerator | |
---|---|
Im2Col | |
Indirect | |
Conv |
Definition at line 35 of file CpuGemmAssemblyDispatch.h.
|
strong |
Definition at line 34 of file ICpuKernel.h.
void arm_compute::cpu::add_fp16_neon | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
void arm_compute::cpu::add_fp16_sve | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
void add_fp32_neon | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Definition at line 31 of file fp32.cpp.
References add_same_neon< float >(), and arm_compute::test::validation::dst.
void add_fp32_sve | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Definition at line 33 of file fp32.cpp.
References add_same_sve< float >(), and arm_compute::test::validation::dst.
void add_qasymm8_neon | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Definition at line 35 of file qasymm8.cpp.
References ARM_COMPUTE_UNUSED, arm_compute::test::validation::b, arm_compute::graph::bfs(), Window::broadcast_if_dimension_le_one(), Window::DimX, Window::Dimension::end(), arm_compute::execute_window_loop(), ITensor::info(), UniformQuantizationInfo::offset, Iterator::ptr(), ITensorInfo::quantization_info(), arm_compute::quantize_qasymm8(), UniformQuantizationInfo::scale, Window::set(), Window::Dimension::start(), Window::Dimension::step(), ITensorInfo::tensor_shape(), QuantizationInfo::uniform(), Dimensions< T >::x(), and Window::x().
void add_qasymm8_signed_neon | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Definition at line 35 of file qasymm8_signed.cpp.
References ARM_COMPUTE_UNUSED, arm_compute::test::validation::b, arm_compute::graph::bfs(), Window::broadcast_if_dimension_le_one(), Window::DimX, Window::Dimension::end(), arm_compute::execute_window_loop(), ITensor::info(), UniformQuantizationInfo::offset, Iterator::ptr(), ITensorInfo::quantization_info(), arm_compute::quantize_qasymm8_signed(), UniformQuantizationInfo::scale, Window::set(), Window::Dimension::start(), Window::Dimension::step(), ITensorInfo::tensor_shape(), QuantizationInfo::uniform(), Dimensions< T >::x(), and Window::x().
void add_qasymm8_signed_sve2 | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Definition at line 37 of file qasymm8_signed.cpp.
References ARM_COMPUTE_UNUSED, arm_compute::test::validation::b, Window::broadcast_if_dimension_le_one(), Window::DimX, Window::Dimension::end(), arm_compute::execute_window_loop(), ITensor::info(), UniformQuantizationInfo::offset, Iterator::ptr(), ITensorInfo::quantization_info(), UniformQuantizationInfo::scale, Window::set(), Window::Dimension::start(), Window::Dimension::step(), ITensorInfo::tensor_shape(), QuantizationInfo::uniform(), Dimensions< T >::x(), and Window::x().
void add_qasymm8_sve2 | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Definition at line 37 of file qasymm8.cpp.
References ARM_COMPUTE_UNUSED, arm_compute::test::validation::b, Window::broadcast_if_dimension_le_one(), Window::DimX, Window::Dimension::end(), arm_compute::execute_window_loop(), ITensor::info(), UniformQuantizationInfo::offset, Iterator::ptr(), ITensorInfo::quantization_info(), UniformQuantizationInfo::scale, Window::set(), Window::Dimension::start(), Window::Dimension::step(), ITensorInfo::tensor_shape(), QuantizationInfo::uniform(), Dimensions< T >::x(), and Window::x().
void add_qsymm16_neon | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Definition at line 35 of file qsymm16.cpp.
References ARM_COMPUTE_UNUSED, arm_compute::test::validation::b, arm_compute::graph::bfs(), Window::broadcast_if_dimension_le_one(), Window::DimX, Window::Dimension::end(), arm_compute::execute_window_loop(), ITensor::info(), Iterator::ptr(), ITensorInfo::quantization_info(), arm_compute::quantize_qsymm16(), UniformQuantizationInfo::scale, Window::set(), Window::Dimension::start(), Window::Dimension::step(), ITensorInfo::tensor_shape(), QuantizationInfo::uniform(), Dimensions< T >::x(), and Window::x().
void add_qsymm16_sve2 | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Definition at line 37 of file qsymm16.cpp.
References ARM_COMPUTE_UNUSED, arm_compute::test::validation::b, Window::broadcast_if_dimension_le_one(), Window::DimX, Window::Dimension::end(), arm_compute::execute_window_loop(), ITensor::info(), Iterator::ptr(), ITensorInfo::quantization_info(), UniformQuantizationInfo::scale, Window::set(), Window::Dimension::start(), Window::Dimension::step(), ITensorInfo::tensor_shape(), QuantizationInfo::uniform(), Dimensions< T >::x(), and Window::x().
void add_s16_neon | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Definition at line 36 of file integer.cpp.
References add_same_neon< int16_t >(), and arm_compute::test::validation::dst.
void add_s16_sve | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Definition at line 38 of file integer.cpp.
References add_same_sve< int16_t >(), and arm_compute::test::validation::dst.
void add_s32_neon | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Definition at line 41 of file integer.cpp.
References add_same_neon< int32_t >(), and arm_compute::test::validation::dst.
void add_s32_sve | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Definition at line 43 of file integer.cpp.
References add_same_sve< int32_t >(), and arm_compute::test::validation::dst.
void add_same_neon | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
SIMD vector tag type.
Definition at line 34 of file impl.cpp.
References add_same_neon< float >(), add_same_neon< int16_t >(), add_same_neon< int32_t >(), add_same_neon< uint8_t >(), arm_compute::wrapper::add_sat(), Window::broadcast_if_dimension_le_one(), Window::DimX, arm_compute::test::validation::dst, Window::Dimension::end(), arm_compute::execute_window_loop(), ITensor::info(), Iterator::ptr(), arm_compute::SATURATE, Window::set(), Window::Dimension::start(), Window::Dimension::step(), ITensorInfo::tensor_shape(), arm_compute::wrapper::vadd(), arm_compute::wrapper::vdup_n(), arm_compute::wrapper::vloadq(), arm_compute::wrapper::vqadd(), arm_compute::wrapper::vstore(), Dimensions< T >::x(), and Window::x().
template void arm_compute::cpu::add_same_neon< float > | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Referenced by add_fp32_neon(), and add_same_neon().
template void arm_compute::cpu::add_same_neon< int16_t > | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Referenced by add_s16_neon(), and add_same_neon().
template void arm_compute::cpu::add_same_neon< int32_t > | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Referenced by add_s32_neon(), and add_same_neon().
template void arm_compute::cpu::add_same_neon< uint8_t > | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Referenced by add_same_neon(), and add_u8_neon().
void add_same_sve | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Definition at line 36 of file impl.cpp.
References add_same_sve< float >(), add_same_sve< int16_t >(), add_same_sve< int32_t >(), add_same_sve< uint8_t >(), Window::broadcast_if_dimension_le_one(), Window::DimX, arm_compute::test::validation::dst, Window::Dimension::end(), arm_compute::execute_window_loop(), ITensor::info(), Iterator::ptr(), arm_compute::SATURATE, Window::set(), Window::Dimension::start(), Window::Dimension::step(), ITensorInfo::tensor_shape(), Dimensions< T >::x(), and Window::x().
template void arm_compute::cpu::add_same_sve< float > | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Referenced by add_fp32_sve(), and add_same_sve().
template void arm_compute::cpu::add_same_sve< int16_t > | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Referenced by add_s16_sve(), and add_same_sve().
template void arm_compute::cpu::add_same_sve< int32_t > | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Referenced by add_s32_sve(), and add_same_sve().
template void arm_compute::cpu::add_same_sve< uint8_t > | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Referenced by add_same_sve(), and add_u8_sve().
void add_u8_neon | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Definition at line 31 of file integer.cpp.
References add_same_neon< uint8_t >(), and arm_compute::test::validation::dst.
void add_u8_sve | ( | const ITensor * | src0, |
const ITensor * | src1, | ||
ITensor * | dst, | ||
const ConvertPolicy & | policy, | ||
const Window & | window | ||
) |
Definition at line 33 of file integer.cpp.
References add_same_sve< uint8_t >(), and arm_compute::test::validation::dst.
void arm_compute::cpu::arithmetic_op_broadcast_loop | ( | svbool_t | pg, |
const BroadcastLoopArguments< InputScalarType, OutputScalarType, ArithmeticOperation > & | args | ||
) |
Definition at line 64 of file impl.cpp.
References type.
|
inline |
Definition at line 150 of file impl.h.
References BroadcastQuantizedLoopArguments< InputScalarType, OutputScalarType, OperatorType >::broadcast_value, BroadcastQuantizedLoopArguments< InputScalarType, OutputScalarType, OperatorType >::in1_offset, BroadcastQuantizedLoopArguments< InputScalarType, OutputScalarType, OperatorType >::in1_scale, BroadcastQuantizedLoopArguments< InputScalarType, OutputScalarType, OperatorType >::input1_ptr, load_quantized(), BroadcastQuantizedLoopArguments< InputScalarType, OutputScalarType, OperatorType >::op, BroadcastQuantizedLoopArguments< InputScalarType, OutputScalarType, OperatorType >::out_offset, BroadcastQuantizedLoopArguments< InputScalarType, OutputScalarType, OperatorType >::out_scale, BroadcastQuantizedLoopArguments< InputScalarType, OutputScalarType, OperatorType >::output_ptr, BroadcastQuantizedLoopArguments< InputScalarType, OutputScalarType, OperatorType >::reorder, and store_quantized().
void arm_compute::cpu::arithmetic_op_loop | ( | svbool_t | pg, |
const LoopArguments< InputScalarType, OutputScalarType, ArithmeticOperation > & | args | ||
) |
Definition at line 55 of file impl.cpp.
References type.
|
inline |
Definition at line 135 of file impl.h.
References QuantizedLoopArguments< InputScalarType, OutputScalarType, OperatorType >::in1_offset, QuantizedLoopArguments< InputScalarType, OutputScalarType, OperatorType >::in1_scale, QuantizedLoopArguments< InputScalarType, OutputScalarType, OperatorType >::in2_offset, QuantizedLoopArguments< InputScalarType, OutputScalarType, OperatorType >::in2_scale, QuantizedLoopArguments< InputScalarType, OutputScalarType, OperatorType >::input1_ptr, QuantizedLoopArguments< InputScalarType, OutputScalarType, OperatorType >::input2_ptr, load_quantized(), QuantizedLoopArguments< InputScalarType, OutputScalarType, OperatorType >::op, QuantizedLoopArguments< InputScalarType, OutputScalarType, OperatorType >::out_offset, QuantizedLoopArguments< InputScalarType, OutputScalarType, OperatorType >::out_scale, QuantizedLoopArguments< InputScalarType, OutputScalarType, OperatorType >::output_ptr, and store_quantized().
void arm_compute::cpu::avg_poolingMxNxD_q8_neon_ndhwc | ( | const ITensor * | src, |
ITensor * | dst0, | ||
Pooling3dLayerInfo & | pool_info, | ||
const Window & | window_out, | ||
const int | window_step_x | ||
) |
Definition at line 38 of file quantized.h.
References Padding3D::back, Padding3D::bottom, ITensor::buffer(), Size3D::depth, ITensorInfo::dimension(), Pooling3dLayerInfo::exclude_padding, arm_compute::execute_window_loop(), Padding3D::front, Size3D::height, ITensor::info(), Pooling3dLayerInfo::is_global_pooling, Padding3D::left, UniformQuantizationInfo::offset, ITensorInfo::offset_first_element_in_bytes(), Pooling3dLayerInfo::padding, Pooling3dLayerInfo::pool_size, Iterator::ptr(), ITensorInfo::quantization_info(), Padding3D::right, UniformQuantizationInfo::scale, arm_compute::test::validation::scale, Pooling3dLayerInfo::stride, ITensorInfo::strides_in_bytes(), ITensorInfo::tensor_shape(), Padding3D::top, QuantizationInfo::uniform(), arm_compute::wrapper::vadd(), arm_compute::wrapper::vcombine(), arm_compute::wrapper::vdup_n(), arm_compute::wrapper::vgethigh(), arm_compute::wrapper::vgetlow(), arm_compute::wrapper::vloadq(), arm_compute::wrapper::vmla(), arm_compute::wrapper::vmovl(), arm_compute::wrapper::vmovn(), arm_compute::wrapper::vstore(), Size3D::width, Dimensions< T >::y(), and Dimensions< T >::z().
void arm_compute::cpu::bilinear_neon_scale | ( | const ITensor * | src, |
ITensor * | dst, | ||
const ITensor * | offsets, | ||
const ITensor * | dx, | ||
const ITensor * | dy, | ||
BorderMode | border_mode, | ||
PixelValue | constant_border_value, | ||
float | sampling_offset, | ||
bool | align_corners, | ||
const Window & | window | ||
) |
Definition at line 143 of file list.h.
References ARM_COMPUTE_ERROR, ARM_COMPUTE_UNUSED, arm_compute::test::validation::b, arm_compute::scale_utils::calculate_resize_ratio(), arm_compute::CONSTANT, ITensorInfo::dimension(), Window::DimX, Window::DimY, Window::DimZ, Window::Dimension::end(), PixelValue::get(), ITensor::info(), Iterator::ptr(), arm_compute::REPLICATE, arm_compute::test::validation::scale_x, arm_compute::test::validation::scale_y, Window::set(), Window::Dimension::start(), Window::Dimension::step(), ITensorInfo::strides_in_bytes(), type, arm_compute::wrapper::vdup_n(), arm_compute::wrapper::vloadq(), arm_compute::wrapper::vmla(), arm_compute::wrapper::vstore(), Window::y(), and Window::z().
void bounding_box_transform | ( | const ITensor * | boxes, |
ITensor * | pred_boxes, | ||
const ITensor * | deltas, | ||
BoundingBoxTransformInfo | bbinfo, | ||
const Window & | window | ||
) |
Definition at line 87 of file impl.cpp.
References BoundingBoxTransformInfo::apply_scale(), ARM_COMPUTE_ERROR_ON, BoundingBoxTransformInfo::bbox_xform_clip(), bounding_box_transform< float >(), ITensor::buffer(), BoundingBoxTransformInfo::correct_transform_coords(), arm_compute::execute_window_loop(), BoundingBoxTransformInfo::img_height(), BoundingBoxTransformInfo::img_width(), ITensor::info(), offset(), ITensorInfo::offset_first_element_in_bytes(), Iterator::ptr(), BoundingBoxTransformInfo::scale(), ITensorInfo::tensor_shape(), and BoundingBoxTransformInfo::weights().
template void arm_compute::cpu::bounding_box_transform< float > | ( | const ITensor * | boxes, |
ITensor * | pred_boxes, | ||
const ITensor * | deltas, | ||
BoundingBoxTransformInfo | bbinfo, | ||
const Window & | window | ||
) |
Referenced by bounding_box_transform(), and neon_fp32_boundingboxtransform().
void bounding_box_transform_qsymm16 | ( | const ITensor * | boxes, |
ITensor * | pred_boxes, | ||
const ITensor * | deltas, | ||
BoundingBoxTransformInfo | bbinfo, | ||
const Window & | window | ||
) |
Definition at line 29 of file impl.cpp.
References BoundingBoxTransformInfo::apply_scale(), BoundingBoxTransformInfo::bbox_xform_clip(), ITensor::buffer(), BoundingBoxTransformInfo::correct_transform_coords(), arm_compute::dequantize_qasymm16(), arm_compute::dequantize_qasymm8(), arm_compute::execute_window_loop(), BoundingBoxTransformInfo::img_height(), BoundingBoxTransformInfo::img_width(), ITensor::info(), offset(), ITensorInfo::offset_first_element_in_bytes(), Iterator::ptr(), ITensorInfo::quantization_info(), arm_compute::quantize_qasymm16(), BoundingBoxTransformInfo::scale(), ITensorInfo::tensor_shape(), QuantizationInfo::uniform(), and BoundingBoxTransformInfo::weights().
Referenced by neon_qu16_boundingboxtransform().
void arm_compute::cpu::common_neon_scale | ( | const ITensor * | src, |
ITensor * | dst, | ||
const ITensor * | offsets, | ||
const ITensor * | dx, | ||
const ITensor * | dy, | ||
InterpolationPolicy | policy, | ||
BorderMode | border_mode, | ||
PixelValue |