Fix doxygen references to new kernels
authorMichele Di Giorgio <michele.digiorgio@arm.com>
Tue, 19 Jan 2021 15:29:02 +0000 (15:29 +0000)
committerSheri Zhang <sheri.zhang@arm.com>
Tue, 19 Jan 2021 18:21:47 +0000 (18:21 +0000)
Resolves COMPMID-4117

Change-Id: I9945a92402e34b9cfe0ba9ef2a961b168bf62721
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4883
Reviewed-by: Pablo Marquez Tello <pablo.tello@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
30 files changed:
arm_compute/runtime/NEON/functions/NEActivationLayer.h
arm_compute/runtime/NEON/functions/NEArithmeticAddition.h
arm_compute/runtime/NEON/functions/NEConcatenateLayer.h
arm_compute/runtime/NEON/functions/NECopy.h
arm_compute/runtime/NEON/functions/NEFill.h
arm_compute/runtime/NEON/functions/NEFloor.h
arm_compute/runtime/NEON/functions/NEGEMM.h
arm_compute/runtime/NEON/functions/NEGEMMConvolutionLayer.h
arm_compute/runtime/NEON/functions/NEMaxUnpoolingLayer.h
arm_compute/runtime/NEON/functions/NEPermute.h
arm_compute/runtime/NEON/functions/NEQLSTMLayer.h
arm_compute/runtime/NEON/functions/NEReshapeLayer.h
arm_compute/runtime/NEON/functions/NESpaceToBatchLayer.h
docs/00_introduction.dox
docs/04_adding_operator.dox
src/core/NEON/kernels/NEConvertQuantizedSignednessKernel.h
src/core/NEON/kernels/NEReorgLayerKernel.h
src/core/SubTensorInfo.cpp
src/core/cpu/kernels/CpuActivationKernel.cpp
src/core/cpu/kernels/CpuActivationKernel.h
src/core/cpu/kernels/CpuCopyKernel.h
src/core/helpers/ScaleHelpers.h
src/runtime/cpu/operators/CpuActivation.h
src/runtime/cpu/operators/CpuAdd.h
src/runtime/cpu/operators/CpuConcatenate.h
src/runtime/cpu/operators/CpuCopy.h
src/runtime/cpu/operators/CpuFill.h
src/runtime/cpu/operators/CpuFloor.h
src/runtime/cpu/operators/CpuPermute.h
src/runtime/cpu/operators/CpuReshape.h

index 3d89355be5249f6350758622fcb8ae3e50487026..ffda8406aabb940efa9c904233dc30e1b80fb754 100644 (file)
@@ -37,7 +37,7 @@ namespace arm_compute
 class ITensor;
 class ITensorInfo;
 
-/** Basic function to run @ref NEActivationLayerKernel
+/** Basic function to run @ref cpu::kernels::CpuActivationKernel
  *
  * @note The function simulates an activation layer with the specified activation function.
  */
index 6648e462095999b6d268543c1382b2a745c36ddc..8f9fd27906e0e05d7847ad8adab5671775fdd401 100644 (file)
@@ -33,7 +33,7 @@ namespace arm_compute
 class ITensor;
 class ITensorInfo;
 
-/** Basic function to run @ref CpuAddKernel */
+/** Basic function to run @ref cpu::kernels::CpuAddKernel */
 class NEArithmeticAddition : public IFunction
 {
 public:
index d16ab130a376689d7442103137b9c4559560f27f..6aa724ab0c37d81bb13036e3bb916027f107ceac 100644 (file)
@@ -56,7 +56,8 @@ public:
     /** Initialise the kernel's inputs vector and output.
      *
      * @note Input and output tensor dimensions preconditions defer depending on the concatenation axis.
-     * @note Preconditions can be found respectively at @ref NEWidthConcatenateLayerKernel, @ref NEHeightConcatenateLayerKernel and @ref NEDepthConcatenateLayerKernel.
+     * @note Preconditions can be found respectively at @ref cpu::kernels::CpuConcatenateWidthKernel, @ref cpu::kernels::CpuConcatenateHeightKernel,
+     *       @ref cpu::kernels::CpuConcatenateDepthKernel and @ref cpu::kernels::CpuConcatenateBatchKernel.
      *
      * @param[in,out] inputs_vector The vectors containing all the tensors to concatenate. Data types supported: QASYMM8/QASYMM8_SIGNED/F16/F32.
      * @param[out]    output        Output tensor. Data types supported: Same as @p input.
@@ -66,7 +67,8 @@ public:
     /** Static function to check if given info will lead to a valid configuration of @ref NEConcatenateLayer
      *
      * @note Input and output tensor dimensions preconditions defer depending on the concatenation axis.
-     * @note Preconditions can be found respectively at @ref NEWidthConcatenateLayerKernel, @ref NEHeightConcatenateLayerKernel and @ref NEDepthConcatenateLayerKernel.
+     * @note Preconditions can be found respectively at @ref cpu::kernels::CpuConcatenateWidthKernel, @ref cpu::kernels::CpuConcatenateHeightKernel,
+     *       @ref cpu::kernels::CpuConcatenateDepthKernel and @ref cpu::kernels::CpuConcatenateBatchKernel.
      *
      * @param[in] inputs_vector The vectors containing all the tensors info to concatenate. Data types supported: QASYMM8/QASYMM8_SIGNED/F16/F32.
      * @param[in] output        Output tensor info. Data types supported: Same as @p input.
index d5f22d72a66fdb12b080702049e8adf4aa64b26c..56f8bd98037893f1bfa755c052686ff9b455ef25 100644 (file)
@@ -35,7 +35,7 @@ namespace arm_compute
 class ITensor;
 class ITensorInfo;
 
-/** Basic function to run @ref CpuCopyKernel */
+/** Basic function to run @ref cpu::kernels::CpuCopyKernel */
 class NECopy : public IFunction
 {
 public:
index 3162e267474f1799ee3f509abe04a0c9066a1618..ba5d020496636df19177719c6d0bfb5bc8a18532 100644 (file)
@@ -35,7 +35,7 @@ namespace arm_compute
 {
 class ITensor;
 
-/** Basic function to run @ref CpuFillKernel */
+/** Basic function to run @ref cpu::kernels::CpuFillKernel */
 class NEFill : public IFunction
 {
 public:
index 739225cdce4d17e0e06909a709cf1db29613b989..9560eb916934056799abff4e54399cf1521d4ec8 100644 (file)
@@ -36,7 +36,7 @@ namespace arm_compute
 class ITensor;
 class ITensorInfo;
 
-/** Basic function to run @ref NEFloorKernel */
+/** Basic function to run @ref cpu::kernels::CpuFloorKernel */
 class NEFloor : public IFunction
 {
 public:
index 124f02722714006860fceb3fc2a2cb5d3678ef62..c67154c13a8cb95f12cb4294c900739381a355c1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2020 Arm Limited.
+ * Copyright (c) 2017-2021 Arm Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -55,7 +55,7 @@ class NEGEMMAssemblyDispatch;
  * In both cases:
  *  -# @ref NEGEMMMatrixAdditionKernel (if c != nullptr and beta != 0.0 and is not reshaped once)
  * Else:
- *  -# @ref NEArithmeticAdditionKernel (if c != nullptr and is reshaped once and not optimized assembly in place)
+ *  -# @ref NEArithmeticAddition (if c != nullptr and is reshaped once and not optimized assembly in place)
  *
  *  -# @ref NEActivationLayer (if activation is specified in GEMMInfo)
  */
index 59d83ed68de2aca71f185b8a19779c8225591698..aadc429864db008e9b6ef5ea3f34ee4c82b0081b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2020 Arm Limited.
+ * Copyright (c) 2017-2021 Arm Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -156,7 +156,7 @@ private:
  * -# @ref NEGEMM (if the data type is BFLOAT16/FP16/FP32)
  * -# @ref NEGEMMLowpMatrixMultiplyCore (if the data type is QASYMM8/QASYMM8_SIGNED)
  * -# @ref NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint (if the data type is QASYMM8/QASYMM8_SIGNED)
- * -# @ref NEArithmeticAdditionKernel (if biases != nullptr and we have a 1x1 convolution with the NHWC data layout)
+ * -# @ref NEArithmeticAddition (if biases != nullptr and we have a 1x1 convolution with the NHWC data layout)
  * -# @ref NECol2ImKernel (if NCHW data layout)
  *
  */
index 7973a6e2e1bb4aadcb915390fe645b73caaaec91..9626ca6f66534944edc4c8dd07c938befeff45dc 100644 (file)
@@ -37,7 +37,7 @@ class NEMaxUnpoolingLayerKernel;
 
 /** Function to perform MaxUnpooling. This function calls the following NEON kernels:
  *
- * -# @ref NEFillKernel
+ * -# @ref NEFill
  * -# @ref NEMaxUnpoolingLayerKernel
  */
 class NEMaxUnpoolingLayer : public IFunction
index 998a1d60940bf78f81eecd84a5a8062ed1283356..e2e50f464f28f2d256a5eb985fef2e1d5579f337 100644 (file)
@@ -36,7 +36,7 @@ namespace arm_compute
 class ITensor;
 class ITensorInfo;
 
-/** Basic function to run @ref CpuPermuteKernel */
+/** Basic function to run @ref cpu::kernels::CpuPermuteKernel */
 class NEPermute : public IFunction
 {
 public:
index e0054bceff30567248014335c699c6aae898ce26..34f51d3d309472a756bc437bf338d2f9e5d3bff5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2020 Arm Limited.
+ * Copyright (c) 2020-2021 Arm Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -50,13 +50,13 @@ class NEGEMMLowpMatrixAReductionKernel;
  * This function calls the following NEON functions/kernels:
  *
  * -# @ref NEActivationLayer                                     Activation functions (tanh and logistic)
- * -# @ref NEArithmeticAddition                            Elementwise addition
+ * -# @ref NEArithmeticAddition                                  Elementwise addition
  * -# @ref NEArithmeticSubtractionKernel                         Elementwise subtraction
- * -# @ref NECopyKernel                                          Copy kernel for copying output_state_out to output
+ * -# @ref NECopy                                                Copy kernel for copying output_state_out to output
  * -# @ref NEGEMMLowpMatrixMultiplyCore                          Quantized matrix multiplication core. Accumulators are 32-bit integers
  * -# @ref NEGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPoint   Convert 32-bit integers into QSYMM16
  * -# @ref NEGEMMLowpMatrixAReductionKernel                      For precomputing effective biases to use
- * -# @ref NEPixelWiseMultiplication                       Elementwise multiplication
+ * -# @ref NEPixelWiseMultiplication                             Elementwise multiplication
  * -# @ref NETranspose                                           Transpose function for reshaping the weights
  * */
 class NEQLSTMLayer : public IFunction
index b4c3af1fab69c1310c6602c71ce2591e5df64378..b8c0a841bc11b0b0bd0f510d8326cf83900e6547 100644 (file)
@@ -34,7 +34,7 @@ namespace arm_compute
 // Forward declarations
 class ITensor;
 
-/** Basic function to run @ref NEReshapeLayerKernel */
+/** Basic function to run @ref cpu::kernels::CpuReshapeKernel */
 class NEReshapeLayer : public IFunction
 {
 public:
index 3a6f8d7b0a05e5996da60785a69b00462cab2ffc..6a38dfba1e025b75e2c6047944cd69c17cdb3e6d 100644 (file)
@@ -38,7 +38,7 @@ class NEFill;
 
 /** Basic function to spatial divide a tensor. This function calls the following NEON kernels/functions:
  *
- *  -# @ref NEMemsetKernel
+ *  -# @ref NEFill
  *  -# @ref NESpaceToBatchLayerKernel
  */
 class NESpaceToBatchLayer : public IFunction
index 5e8769c366452df5a4f39fb70b420f969d3137bc..effeb7b8d276b00793fe4d71c69118e992c05297 100644 (file)
@@ -110,8 +110,8 @@ v20.11 Public major release
    This is planned to be resolved in 21.02 release.
  - Added new data type QASYMM8_SIGNED support for @ref NEROIAlignLayer.
  - Added new data type S32 support for:
-   - @ref NEArithmeticSubtraction
-   - @ref NEArithmeticSubtractionKernel
+   - NEArithmeticSubtraction
+   - NEArithmeticSubtractionKernel
    - @ref NEPixelWiseMultiplication
    - @ref NEPixelWiseMultiplicationKernel
    - @ref NEElementwiseDivision
@@ -430,12 +430,12 @@ v20.08 Public major release
    - More robust script for running benchmarks
  - Removed padding from:
    - @ref NEPixelWiseMultiplicationKernel
-   - @ref NEHeightConcatenateLayerKernel
+   - NEHeightConcatenateLayerKernel
    - @ref NEThresholdKernel
-   - @ref NEBatchConcatenateLayerKernel
+   - NEBatchConcatenateLayerKernel
    - @ref NETransposeKernel
    - @ref NEBatchNormalizationLayerKernel
-   - @ref NEArithmeticSubtractionKernel
+   - NEArithmeticSubtractionKernel
    - @ref NEBoundingBoxTransformKernel
    - @ref NELogits1DMaxKernel
    - @ref NELogits1DSoftmaxKernel
@@ -444,8 +444,8 @@ v20.08 Public major release
    - NEYOLOLayerKernel
    - NEUpsampleLayerKernel
    - NEFloorKernel
-   - @ref NEWidthConcatenateLayerKernel
-   - @ref NEDepthConcatenateLayerKernel
+   - NEWidthConcatenateLayerKernel
+   - NEDepthConcatenateLayerKernel
    - @ref NENormalizationLayerKernel
    - @ref NEL2NormalizeLayerKernel
    - @ref NEFillArrayKernel
@@ -526,7 +526,7 @@ v20.05 Public major release
      - @ref NEQLSTMLayerNormalizationKernel
  - Added HARD_SWISH support in:
      - @ref CLActivationLayerKernel
-     - @ref NEActivationLayerKernel
+     - NEActivationLayerKernel
  - Deprecated OpenCL kernels / functions:
      - CLGEMMLowpQuantizeDownInt32ToUint8Scale
      - CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloat
@@ -697,7 +697,7 @@ v19.08 Public major release
     - @ref NENegLayer
     - @ref NEPReluLayer
     - @ref NESinLayer
-    - @ref NEBatchConcatenateLayerKernel
+    - NEBatchConcatenateLayerKernel
     - @ref NEDepthToSpaceLayerKernel / @ref NEDepthToSpaceLayer
     - @ref NEDepthwiseConvolutionLayerNativeKernel
     - @ref NEGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPointKernel
@@ -749,7 +749,7 @@ v19.05 Public major release
     - @ref NEFFTRadixStageKernel
     - @ref NEFFTScaleKernel
     - @ref NEGEMMLowpOffsetContributionOutputStageKernel
-    - @ref NEHeightConcatenateLayerKernel
+    - NEHeightConcatenateLayerKernel
     - @ref NESpaceToBatchLayerKernel / @ref NESpaceToBatchLayer
     - @ref NEFFT1D
     - @ref NEFFT2D
@@ -882,7 +882,7 @@ v19.02 Public major release
     - @ref CLROIAlignLayer
     - @ref CLGenerateProposalsLayer
  - Added QASYMM8 support to the following kernels:
-    - @ref NEArithmeticAdditionKernel
+    - NEArithmeticAdditionKernel
     - @ref NEScale
  - Added new tests and improved validation and benchmarking suites.
  - Deprecated functions/interfaces
@@ -1062,7 +1062,7 @@ v18.02 Public major release
  - Added FP16 support to:
     - CLDepthwiseConvolutionLayer3x3
     - @ref CLDepthwiseConvolutionLayer
- - Added broadcasting support to @ref NEArithmeticAddition / @ref CLArithmeticAddition / @ref CLPixelWiseMultiplication
+ - Added broadcasting support to NEArithmeticAddition / @ref CLArithmeticAddition / @ref CLPixelWiseMultiplication
  - Added fused batched normalization and activation to @ref CLBatchNormalizationLayer and @ref NEBatchNormalizationLayer
  - Added support for non-square pooling to @ref NEPoolingLayer and @ref CLPoolingLayer
  - New OpenCL kernels / functions:
@@ -1218,7 +1218,7 @@ v17.06 Public major release
     - @ref CPPDetectionWindowNonMaximaSuppressionKernel
  - New NEON kernels / functions:
     - @ref NEBatchNormalizationLayerKernel / @ref NEBatchNormalizationLayer
-    - @ref NEDepthConcatenateLayerKernel / NEDepthConcatenateLayer
+    - NEDepthConcatenateLayerKernel / NEDepthConcatenateLayer
     - @ref NEDirectConvolutionLayerKernel / @ref NEDirectConvolutionLayer
     - NELocallyConnectedMatrixMultiplyKernel / NELocallyConnectedLayer
     - @ref NEWeightsReshapeKernel / @ref NEConvolutionLayerReshapeWeights
@@ -1276,7 +1276,7 @@ v17.03 Sources preview
    - @ref CLNormalizationLayerKernel / @ref CLNormalizationLayer
    - @ref CLLaplacianPyramid, @ref CLLaplacianReconstruct
  - New NEON kernels / functions:
-   - @ref NEActivationLayerKernel / @ref NEActivationLayer
+   - NEActivationLayerKernel / @ref NEActivationLayer
    - GEMM refactoring + FP16 support (Requires armv8.2 CPU): @ref NEGEMMInterleave4x4Kernel, @ref NEGEMMTranspose1xWKernel, @ref NEGEMMMatrixMultiplyKernel, @ref NEGEMMMatrixAdditionKernel / @ref NEGEMM
    - @ref NEPoolingLayerKernel / @ref NEPoolingLayer
 
index 13be712549fdc5abad50e88b576e68387b40c30e..9e6f3751b82117c0d13fee8b2398b33d4cee3290 100644 (file)
@@ -121,7 +121,7 @@ For OpenCL:
 The run will call the function defined in the .cl file.
 
 For the NEON backend case:
-@snippet src/core/NEON/kernels/NEReshapeLayerKernel.cpp NEReshapeLayerKernel Kernel
+@snippet src/core/cpu/kernels/CpuReshapeKernel.cpp NEReshapeLayerKernel Kernel
 
 In the NEON case, there is no need to add an extra file and we implement the kernel in the same NEReshapeLayerKernel.cpp file.
 If the tests are already in place, the new kernel can be tested using the existing tests by adding the configure and run of the kernel to the compute_target() in the fixture.
index 2f80361ba5ea94abdcf3e8ef5b7bea7c63e9e78f..39e53002381da69c49b11c70f2cf026582c1d26b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019-2020 Arm Limited.
+ * Copyright (c) 2019-2021 Arm Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -58,7 +58,7 @@ public:
      * @param[out] output Destination tensor. Data types supported: opposite of @p input.
      */
     void configure(const ITensor *input, ITensor *output);
-    /** Static function to check if given info will lead to a valid configuration of @ref NECopyKernel
+    /** Static function to check if given info will lead to a valid configuration of @ref NEConvertQuantizedSignednessKernel
      *
      * @param[in] input  Source tensor. Data types supported: QASYMM8/QASYMM8_SIGNED.
      * @param[in] output Destination tensor. Data types supported: opposite of @p input.
index eac91154a1c285d1a83319c02ecbe428691508d0..38a7d9f196ce2df3d922dc93d3846fea1865c1a9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018-2020 Arm Limited.
+ * Copyright (c) 2018-2021 Arm Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -60,7 +60,7 @@ public:
      */
     void configure(const ITensor *input, ITensor *output, int32_t stride);
 
-    /** Static function to check if given info will lead to a valid configuration of @ref NEReshapeLayerKernel
+    /** Static function to check if given info will lead to a valid configuration of @ref cpu::kernels::CpuReshapeKernel
      *
      * @param[in] input  Source tensor info. Data type supported: All
      * @param[in] output Destination tensor info. Data type supported: Same as @p input
index 6279992e89085f9e332e4517ebb1e9aa363a6e6e..fd3ebf26e8757d7450109e7f5efe6903f852e87e 100644 (file)
@@ -27,8 +27,8 @@
 #include "arm_compute/core/Helpers.h"
 #include "arm_compute/core/Validate.h"
 
-using namespace arm_compute;
-
+namespace arm_compute
+{
 namespace
 {
 /** Extends parent shape depending on subtensor's coordinates and shape
@@ -149,3 +149,4 @@ int32_t SubTensorInfo::offset_element_in_bytes(const Coordinates &pos) const
 
     return offset;
 }
+} // namespace arm_compute
index abdba3ae53500a3e6262a613ff6a5bbd29273745..efdb42b8a5ececb83aed5726b7e4727f33a1bef9 100644 (file)
@@ -150,16 +150,16 @@ static const std::array<ActivationLayerInfo::ActivationFunction, 3> qsymm16_acti
     ActivationLayerInfo::ActivationFunction::HARD_SWISH
 };
 
-Status validate_arguments(const ITensorInfo *input, const ITensorInfo *output, const ActivationLayerInfo &activation_info)
+Status validate_arguments(const ITensorInfo *src, const ITensorInfo *dst, const ActivationLayerInfo &activation_info)
 {
-    ARM_COMPUTE_RETURN_ERROR_ON_CPU_F16_UNSUPPORTED(input);
-    ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(input, 1, DataType::QASYMM8_SIGNED, DataType::QASYMM8, DataType::QSYMM16, DataType::F16, DataType::F32);
+    ARM_COMPUTE_RETURN_ERROR_ON_CPU_F16_UNSUPPORTED(src);
+    ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(src, 1, DataType::QASYMM8_SIGNED, DataType::QASYMM8, DataType::QSYMM16, DataType::F16, DataType::F32);
 
-    const auto *uk = get_implementation(ActivationSelectorData{ input->data_type() });
+    const auto *uk = get_implementation(ActivationSelectorData{ src->data_type() });
     ARM_COMPUTE_RETURN_ERROR_ON(uk == nullptr || uk->ukernel == nullptr);
 
-    const DataType                                data_type = input->data_type();
-    const QuantizationInfo                       &oq_info   = (output != nullptr) ? output->quantization_info() : input->quantization_info();
+    const DataType                                data_type = src->data_type();
+    const QuantizationInfo                       &oq_info   = (dst != nullptr) ? dst->quantization_info() : src->quantization_info();
     const ActivationLayerInfo::ActivationFunction f_act     = activation_info.activation();
 
     ARM_COMPUTE_RETURN_ERROR_ON_MSG(is_data_type_quantized_asymmetric(data_type) && (std::find(std::begin(qasymm8_activations), std::end(qasymm8_activations), f_act) == std::end(qasymm8_activations)),
@@ -178,54 +178,54 @@ Status validate_arguments(const ITensorInfo *input, const ITensorInfo *output, c
     ARM_COMPUTE_RETURN_ERROR_ON(is_data_type_quantized_symmetric(data_type) && (f_act == ActivationLayerInfo::ActivationFunction::TANH) && (oq_info != QuantizationInfo(1.f / 32768.f, 0)));
     ARM_COMPUTE_RETURN_ERROR_ON(is_data_type_quantized_symmetric(data_type) && (f_act == ActivationLayerInfo::ActivationFunction::LOGISTIC) && (oq_info != QuantizationInfo(1.f / 32768.f, 0)));
 
-    // Checks performed when output is configured
-    if((output != nullptr) && (output->total_size() != 0))
+    // Checks performed when dst is configured
+    if((dst != nullptr) && (dst->total_size() != 0))
     {
-        ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_SHAPES(input, output);
-        ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_DATA_TYPES(input, output);
+        ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_SHAPES(src, dst);
+        ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_DATA_TYPES(src, dst);
     }
 
     return Status{};
 }
 
-std::pair<Status, Window> validate_and_configure_window(const ITensorInfo *input, ITensorInfo *output)
+std::pair<Status, Window> validate_and_configure_window(const ITensorInfo *src, ITensorInfo *dst)
 {
     // Configure kernel window
-    Window win = calculate_max_window(*input, Steps());
+    Window win = calculate_max_window(*src, Steps());
 
-    if(output != nullptr)
+    if(dst != nullptr)
     {
-        // Output auto inizialitation if not yet initialized
-        auto_init_if_empty(*output, *input->clone());
+        // dst auto inizialitation if not yet initialized
+        auto_init_if_empty(*dst, *src->clone());
 
         Coordinates coord;
-        coord.set_num_dimensions(output->num_dimensions());
-        output->set_valid_region(ValidRegion(coord, output->tensor_shape()));
+        coord.set_num_dimensions(dst->num_dimensions());
+        dst->set_valid_region(ValidRegion(coord, dst->tensor_shape()));
     }
 
     return std::make_pair(Status{}, win);
 }
 } // namespace
 
-void CpuActivationKernel::configure(const ITensorInfo *input, ITensorInfo *output, ActivationLayerInfo activation_info)
+void CpuActivationKernel::configure(const ITensorInfo *src, ITensorInfo *dst, ActivationLayerInfo activation_info)
 {
-    ARM_COMPUTE_ERROR_ON_NULLPTR(input, output);
+    ARM_COMPUTE_ERROR_ON_NULLPTR(src, dst);
 
     _act_info = activation_info;
 
-    ARM_COMPUTE_ERROR_THROW_ON(validate_arguments(input, output, activation_info));
+    ARM_COMPUTE_ERROR_THROW_ON(validate_arguments(src, dst, activation_info));
 
     // Configure kernel window
-    auto win_config = validate_and_configure_window(input, output);
+    auto win_config = validate_and_configure_window(src, dst);
     ARM_COMPUTE_ERROR_THROW_ON(win_config.first);
     ICPPKernel::configure(win_config.second);
 }
 
-Status CpuActivationKernel::validate(const ITensorInfo *input, const ITensorInfo *output, const ActivationLayerInfo &act_info)
+Status CpuActivationKernel::validate(const ITensorInfo *src, const ITensorInfo *dst, const ActivationLayerInfo &act_info)
 {
     ARM_COMPUTE_UNUSED(act_info);
-    ARM_COMPUTE_RETURN_ON_ERROR(validate_arguments(input, output, act_info));
-    ARM_COMPUTE_RETURN_ON_ERROR(validate_and_configure_window(input->clone().get(), (output != nullptr) ? output->clone().get() : nullptr).first);
+    ARM_COMPUTE_RETURN_ON_ERROR(validate_arguments(src, dst, act_info));
+    ARM_COMPUTE_RETURN_ON_ERROR(validate_and_configure_window(src->clone().get(), (dst != nullptr) ? dst->clone().get() : nullptr).first);
 
     return Status{};
 }
index e49171b7247553b15b4e04572bbe20e7ac8e21c2..de71014303f0dedf3b0162165ee9d9716b2cbddf 100644 (file)
@@ -49,7 +49,7 @@ public:
      * @param[in]      activation_info Activation layer information.
      */
     void configure(const ITensorInfo *src, ITensorInfo *dst, ActivationLayerInfo activation_info);
-    /** Static function to check if given info will lead to a valid configuration of @ref NEActivationLayerKernel
+    /** Static function to check if given info will lead to a valid configuration of @ref CpuActivationKernel
      *
      * @param[in] src      Source tensor info. In case of @p dst tensor info = nullptr, this tensor will store the result
      *                     of the activation function. Data types supported: QASYMM8/QASYMM8_SIGNED/QSYMM16/F16/F32.
@@ -58,7 +58,7 @@ public:
      *
      * @return a status
      */
-    static Status validate(const ITensorInfo *input, const ITensorInfo *output, const ActivationLayerInfo &act_info);
+    static Status validate(const ITensorInfo *src, const ITensorInfo *dst, const ActivationLayerInfo &act_info);
 
     // Inherited methods overridden:
     void run_op(ITensorPack &tensors, const Window &window, const ThreadInfo &info) override;
index 7e33bf4e1895db74d0005b6f728fc67056ecdb6c..98b79a964c39b279635fd1caa93b8e0466e0b74e 100644 (file)
@@ -48,7 +48,7 @@ public:
     void configure(const ITensorInfo *src, ITensorInfo *dst, const PaddingList &padding = PaddingList());
     /** Static function to check if given info will lead to a valid configuration of @ref CpuCopyKernel
      *
-     * @param[in] srd     Source tensor. Data types supported: All
+     * @param[in] src     Source tensor. Data types supported: All
      * @param[in] dst     Destination tensor. Data types supported: same as @p src.
      * @param[in] padding (Optional) Padding to be applied to the input tensor
      *
index f19a8b8f60f9542c792e77a0b70d0eb9c20a1cdc..c500f6498e0653e4b031fb8b2cfbb778ca86ae4e 100644 (file)
@@ -329,12 +329,12 @@ pixel_area_c1u8_clamp(const uint8_t *first_pixel_ptr, size_t stride, size_t widt
 /** Computes bilinear interpolation using the top-left, top-right, bottom-left, bottom-right pixels and the pixel's distance between
  * the real coordinates and the smallest following integer coordinates.
  *
- * @param[in] a00 The top-left pixel value.
- * @param[in] a01 The top-right pixel value.
- * @param[in] a10 The bottom-left pixel value.
- * @param[in] a11 The bottom-right pixel value.
- * @param[in] dx  Pixel's distance between the X real coordinate and the smallest X following integer
- * @param[in] dy  Pixel's distance between the Y real coordinate and the smallest Y following integer
+ * @param[in] a00    The top-left pixel value.
+ * @param[in] a01    The top-right pixel value.
+ * @param[in] a10    The bottom-left pixel value.
+ * @param[in] a11    The bottom-right pixel value.
+ * @param[in] dx_val Pixel's distance between the X real coordinate and the smallest X following integer
+ * @param[in] dy_val Pixel's distance between the Y real coordinate and the smallest Y following integer
  *
  * @note dx and dy must be in the range [0, 1.0]
  *
index a357b326536684b187df179bf032f51b97bc6898..0ae16bf958ba9004a6edf1305e7a8474832a3e9f 100644 (file)
@@ -30,7 +30,7 @@ namespace arm_compute
 {
 namespace cpu
 {
-/** Basic function to run @ref CpuActivationKernel */
+/** Basic function to run @ref kernels::CpuActivationKernel */
 class CpuActivation : public ICpuOperator
 {
 public:
@@ -43,7 +43,7 @@ public:
      * @param[in]  activation_info Activation layer parameters.
      */
     void configure(const ITensorInfo *input, ITensorInfo *output, const ActivationLayerInfo &activation_info);
-    /** Static function to check if given info will lead to a valid configuration of @ref NEActivationLayer
+    /** Static function to check if given info will lead to a valid configuration of @ref CpuActivation
      *
      * @param[in] input    Source tensor info. Data types supported: QASYMM8/QASYMM8_SIGNED/QSYMM16/F16/F32.
      * @param[in] output   Destination tensor info. Data type supported: same as @p src
index 7ddc69b49a02c9560460c96d65f95fc5626197f9..8ae7833f019ae4e1b4c83771b2b3f3accad9adb5 100644 (file)
@@ -30,7 +30,7 @@ namespace arm_compute
 {
 namespace cpu
 {
-/** Basic function to run @ref CpuAddKernel */
+/** Basic function to run @ref kernels::CpuAddKernel */
 class CpuAdd : public ICpuOperator
 {
 public:
@@ -60,7 +60,7 @@ public:
      *
      */
     void configure(const ITensorInfo *src0, const ITensorInfo *src1, ITensorInfo *dst, ConvertPolicy policy, const ActivationLayerInfo &act_info = ActivationLayerInfo());
-    /** Static function to check if given info will lead to a valid configuration of @ref CpuAddKernel
+    /** Static function to check if given info will lead to a valid configuration of @ref CpuAdd
      *
      * @param[in] src0     First input tensor info. Data types supported: U8/QASYMM8/QASYMM8_SIGNED/S16/QSYMM16/F16/S32/F32
      * @param[in] src1     Second input tensor info. Data types supported: U8/QASYMM8/QASYMM8_SIGNED/S16/QSYMM16/F16/S32/F32
index 376534275f35d63670ef06c379b92a77356c2033..d2af3e2ad216474ff5f5713084ed07223e75c128 100644 (file)
@@ -35,10 +35,10 @@ namespace cpu
 {
 /** Basic function to execute concatenate tensors along a given axis. This function calls the following kernels:
  *
- * -# @ref CpuConcatenateWidthKernel (if underlying concatenation axis is 0).
- * -# @ref CpuConcatenateHeightKernel (if underlying concatenation axis is 1).
- * -# @ref CpuConcatenateDepthKernel (if underlying concatenation axis is 2).
- * -# @ref CpuConcatenateBatchKernel (if underlying concatenation axis is 3).
+ * -# @ref kernels::CpuConcatenateWidthKernel (if underlying concatenation axis is 0).
+ * -# @ref kernels::CpuConcatenateHeightKernel (if underlying concatenation axis is 1).
+ * -# @ref kernels::CpuConcatenateDepthKernel (if underlying concatenation axis is 2).
+ * -# @ref kernels::CpuConcatenateBatchKernel (if underlying concatenation axis is 3).
  */
 class CpuConcatenate : public ICpuOperator
 {
@@ -48,7 +48,8 @@ public:
     /** Configure operator for a given list of arguments
      *
      * @note Input and output tensor dimensions preconditions defer depending on the concatenation axis.
-     * @note Preconditions can be found respectively at @ref CpuConcatenateWidthKernel, @ref CpuConcatenateHeightKernel, @ref CpuConcatenateDepthKernel and @ref CpuConcatenateBatchKernel.
+     * @note Preconditions can be found respectively at @ref kernels::CpuConcatenateWidthKernel, @ref kernels::CpuConcatenateHeightKernel,
+     *       @ref kernels::CpuConcatenateDepthKernel and @ref kernels::CpuConcatenateBatchKernel.
      *
      * @param[in,out] srcs_vector The vectors containing all the tensors to concatenate. Data types supported: QASYMM8/QASYMM8_SIGNED/F16/F32.
      * @param[out]    dst         Output tensor. Data types supported: Same as @p srcs_vector.
@@ -58,7 +59,8 @@ public:
     /** Static function to check if given info will lead to a valid configuration of @ref NEConcatenateLayer
      *
      * @note Input and output tensor dimensions preconditions defer depending on the concatenation axis.
-     * @note Preconditions can be found respectively at @ref CpuConcatenateWidthKernel, @ref CpuConcatenateHeightKernel, @ref CpuConcatenateDepthKernel and @ref CpuConcatenateBatchKernel.
+     * @note Preconditions can be found respectively at @ref kernels::CpuConcatenateWidthKernel, @ref kernels::CpuConcatenateHeightKernel,
+     *       @ref kernels::CpuConcatenateDepthKernel and @ref kernels::CpuConcatenateBatchKernel.
      *
      * @param[in] srcs_vector The vectors containing all the tensors info to concatenate. Data types supported: QASYMM8/QASYMM8_SIGNED/F16/F32.
      * @param[in] dst         Output tensor info. Data types supported: Same as @p srcs_vector.
index 576461350e0c0b5084b550d206dddd94b9fd12b4..057bb6efa54aae49a1a6fc37e14cf5f9f9a8da6b 100644 (file)
@@ -30,7 +30,7 @@ namespace arm_compute
 {
 namespace cpu
 {
-/** Basic function to run @ref CpuCopyKernel */
+/** Basic function to run @ref kernels::CpuCopyKernel */
 class CpuCopy : public ICpuOperator
 {
 public:
index 7a75f4222c2ef22e587e53d49a7916f09fcd2610..fac8e76481441fa571fd69352ffdb5998cd1ee4d 100644 (file)
@@ -30,7 +30,7 @@ namespace arm_compute
 {
 namespace cpu
 {
-/** Basic function to run @ref CpuFillKernel */
+/** Basic function to run @ref kernels::CpuFillKernel */
 class CpuFill : public ICpuOperator
 {
 public:
index 86a01e307ce662f09a2b3af7ebdbafeec3150661..cbb9d565ebe28a55947d755146758451e9ed8b00 100644 (file)
@@ -30,7 +30,7 @@ namespace arm_compute
 {
 namespace cpu
 {
-/** Basic function to run @ref CpuFloorKernel */
+/** Basic function to run @ref kernels::CpuFloorKernel */
 class CpuFloor : public ICpuOperator
 {
 public:
@@ -49,7 +49,7 @@ public:
      *
      * @return a status
      */
-    static Status validate(const ITensorInfo *input, const ITensorInfo *output);
+    static Status validate(const ITensorInfo *src, const ITensorInfo *dst);
 };
 } // namespace cpu
 } // namespace arm_compute
index 31ad77ecad4073223bbf856cf5654f00a19d2d80..12f0cf611dc6d2eb8de432748f3663a572805aa7 100644 (file)
@@ -30,7 +30,7 @@ namespace arm_compute
 {
 namespace cpu
 {
-/** Basic function to run @ref CpuPermuteKernel */
+/** Basic function to run @ref kernels::CpuPermuteKernel */
 class CpuPermute : public ICpuOperator
 {
 public:
index b718b078f32ac5f8d6627dc2aeb7a80fe899d035..e1360435682b0fabe7c00498451f83bd5a56fabe 100644 (file)
@@ -30,7 +30,7 @@ namespace arm_compute
 {
 namespace cpu
 {
-/** Basic function to run @ref CpuReshapeKernel */
+/** Basic function to run @ref kernels::CpuReshapeKernel */
 class CpuReshape : public ICpuOperator
 {
 public: