From c357c47be8a3f210f9eee9a05cc13f1051b036d3 Mon Sep 17 00:00:00 2001 From: Alex Gilday Date: Wed, 21 Mar 2018 13:54:09 +0000 Subject: COMPMID-1008: Fix Doxygen issues Change-Id: Ie73d8771f85d1f5b059f3a56f1bbd73c98e94a38 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/124723 Reviewed-by: Michalis Spyrou Tested-by: Jenkins --- arm_compute/runtime/Array.h | 32 ++++++++---- arm_compute/runtime/CL/CLArray.h | 37 ++++++++----- arm_compute/runtime/CL/CLDistribution1D.h | 6 +-- arm_compute/runtime/CL/CLLutAllocator.h | 16 ++++-- arm_compute/runtime/CL/CLMemoryGroup.h | 3 +- arm_compute/runtime/CL/CLTensor.h | 3 +- arm_compute/runtime/CL/CLTensorAllocator.h | 22 +++++--- arm_compute/runtime/CL/CLTuner.h | 3 +- arm_compute/runtime/CL/functions/CLGEMM.h | 5 +- .../runtime/CL/functions/CLGEMMConvolutionLayer.h | 7 ++- arm_compute/runtime/CL/functions/CLGaussian5x5.h | 7 ++- arm_compute/runtime/CL/functions/CLHistogram.h | 3 +- arm_compute/runtime/CL/functions/CLOpticalFlow.h | 9 ++-- .../runtime/CL/functions/CLReductionOperation.h | 7 ++- arm_compute/runtime/CL/functions/CLSobel5x5.h | 7 ++- arm_compute/runtime/CL/functions/CLSobel7x7.h | 7 ++- arm_compute/runtime/GLES_COMPUTE/GCTensor.h | 5 +- .../runtime/GLES_COMPUTE/GCTensorAllocator.h | 9 ++-- arm_compute/runtime/ILifetimeManager.h | 4 +- arm_compute/runtime/LutAllocator.h | 7 ++- arm_compute/runtime/MemoryGroup.h | 3 +- arm_compute/runtime/MemoryGroupBase.h | 6 +-- arm_compute/runtime/NEON/AssemblyHelper.h | 60 +++++++++++++++++++--- arm_compute/runtime/NEON/NEScheduler.h | 3 +- arm_compute/runtime/NEON/functions/NECannyEdge.h | 4 +- .../runtime/NEON/functions/NEHarrisCorners.h | 4 +- arm_compute/runtime/NEON/functions/NEOpticalFlow.h | 8 ++- arm_compute/runtime/Scheduler.h | 11 ++-- arm_compute/runtime/Tensor.h | 3 +- arm_compute/runtime/TensorAllocator.h | 16 ++++-- 30 files changed, 229 insertions(+), 88 deletions(-) (limited to 'arm_compute/runtime') diff --git a/arm_compute/runtime/Array.h b/arm_compute/runtime/Array.h index 61e0953edd..4fc79026e0 100644 --- a/arm_compute/runtime/Array.h +++ b/arm_compute/runtime/Array.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017 ARM Limited. + * Copyright (c) 2016-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -61,15 +61,27 @@ private: std::unique_ptr _values; }; -using KeyPointArray = Array; -using Coordinates2DArray = Array; +/** Array of Key Points. */ +using KeyPointArray = Array; +/** Array of 2D Coordinates. */ +using Coordinates2DArray = Array; +/** Array of Detection Windows. */ using DetectionWindowArray = Array; -using Size2DArray = Array; -using UInt8Array = Array; -using UInt16Array = Array; -using UInt32Array = Array; -using Int16Array = Array; -using Int32Array = Array; -using FloatArray = Array; +/** Array of ROIs. */ +using ROIArray = Array; +/** Array of 2D Sizes. */ +using Size2DArray = Array; +/** Array of uint8s. */ +using UInt8Array = Array; +/** Array of uint16s. */ +using UInt16Array = Array; +/** Array of uint32s. */ +using UInt32Array = Array; +/** Array of int16s. */ +using Int16Array = Array; +/** Array of int32s. */ +using Int32Array = Array; +/** Array of floats. */ +using FloatArray = Array; } #endif /* __ARM_COMPUTE_ARRAY_H__ */ diff --git a/arm_compute/runtime/CL/CLArray.h b/arm_compute/runtime/CL/CLArray.h index dda26e2e89..01c6d8df3d 100644 --- a/arm_compute/runtime/CL/CLArray.h +++ b/arm_compute/runtime/CL/CLArray.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017 ARM Limited. + * Copyright (c) 2016-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -46,7 +46,9 @@ public: CLArray(const CLArray &) = delete; /** Prevent instances of this class from being copied (As this class contains pointers) */ CLArray &operator=(const CLArray &) = delete; - CLArray(CLArray &&) = default; + /** Allow instances of this class to be move constructed */ + CLArray(CLArray &&) = default; + /** Allow instances of this class to be moved */ CLArray &operator=(CLArray &&) = default; /** Constructor: initializes an array which can contain up to max_num_points values * @@ -101,16 +103,27 @@ private: cl::Buffer _buffer; }; -using CLKeyPointArray = CLArray; -using CLCoordinates2DArray = CLArray; +/** OpenCL Array of Key Points. */ +using CLKeyPointArray = CLArray; +/** OpenCL Array of 2D Coordinates. */ +using CLCoordinates2DArray = CLArray; +/** OpenCL Array of Detection Windows. */ using CLDetectionWindowArray = CLArray; -using CLROIArray = CLArray; -using CLSize2DArray = CLArray; -using CLUInt8Array = CLArray; -using CLUInt16Array = CLArray; -using CLUInt32Array = CLArray; -using CLInt16Array = CLArray; -using CLInt32Array = CLArray; -using CLFloatArray = CLArray; +/** OpenCL Array of ROIs. */ +using CLROIArray = CLArray; +/** OpenCL Array of 2D Sizes. */ +using CLSize2DArray = CLArray; +/** OpenCL Array of uint8s. */ +using CLUInt8Array = CLArray; +/** OpenCL Array of uint16s. */ +using CLUInt16Array = CLArray; +/** OpenCL Array of uint32s. */ +using CLUInt32Array = CLArray; +/** OpenCL Array of int16s. */ +using CLInt16Array = CLArray; +/** OpenCL Array of int32s. */ +using CLInt32Array = CLArray; +/** OpenCL Array of floats. */ +using CLFloatArray = CLArray; } #endif /* __ARM_COMPUTE_CLARRAY_H__ */ diff --git a/arm_compute/runtime/CL/CLDistribution1D.h b/arm_compute/runtime/CL/CLDistribution1D.h index 55dd1247ed..f077893bc0 100644 --- a/arm_compute/runtime/CL/CLDistribution1D.h +++ b/arm_compute/runtime/CL/CLDistribution1D.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017 ARM Limited. + * Copyright (c) 2016-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -44,9 +44,9 @@ public: * @param[in] range The total number of the consecutive values of the distribution interval. */ CLDistribution1D(size_t num_bins, int32_t offset, uint32_t range); - /** Prevent instances of this class from being copied (As this class contains pointers). */ + /** Prevent instances of this class from being copied (As this class contains pointers) */ CLDistribution1D(const CLDistribution1D &) = delete; - /** Prevent instances of this class from being copied (As this class contains pointers). */ + /** Prevent instances of this class from being copied (As this class contains pointers) */ CLDistribution1D &operator=(const CLDistribution1D &) = delete; /** Enqueue a map operation of the allocated buffer. * diff --git a/arm_compute/runtime/CL/CLLutAllocator.h b/arm_compute/runtime/CL/CLLutAllocator.h index 4648ffb51f..851e625f84 100644 --- a/arm_compute/runtime/CL/CLLutAllocator.h +++ b/arm_compute/runtime/CL/CLLutAllocator.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017 ARM Limited. + * Copyright (c) 2016-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -40,13 +40,19 @@ public: CLLutAllocator(); /** Default destructor. */ ~CLLutAllocator() = default; - /** Prevent instances of this class from being copied (As this class contains pointers). */ + /** Prevent instances of this class from being copied (As this class contains pointers) */ CLLutAllocator(const CLLutAllocator &) = delete; - /** Prevent instances of this class from being copy assigned (As this class contains pointers). */ + /** Prevent instances of this class from being copy assigned (As this class contains pointers) */ const CLLutAllocator &operator=(const CLLutAllocator &) = delete; - /** Interface to be implemented by the child class to return the pointer to the mapped data. */ + /** Interface to be implemented by the child class to return the pointer to the mapped data. + * + * @return pointer to the mapped data. + */ uint8_t *data(); - /** Interface to be implemented by the child class to return the pointer to the CL data. */ + /** Interface to be implemented by the child class to return the pointer to the CL data. + * + * @return pointer to the CL data. + */ const cl::Buffer &cl_data() const; /** Enqueue a map operation of the allocated buffer on the given queue. * diff --git a/arm_compute/runtime/CL/CLMemoryGroup.h b/arm_compute/runtime/CL/CLMemoryGroup.h index a6f3eb1c3c..db23720253 100644 --- a/arm_compute/runtime/CL/CLMemoryGroup.h +++ b/arm_compute/runtime/CL/CLMemoryGroup.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -31,6 +31,7 @@ namespace arm_compute { +/** Memory Group in OpenCL */ using CLMemoryGroup = MemoryGroupBase; template <> diff --git a/arm_compute/runtime/CL/CLTensor.h b/arm_compute/runtime/CL/CLTensor.h index 2c685d1ed1..e05f307621 100644 --- a/arm_compute/runtime/CL/CLTensor.h +++ b/arm_compute/runtime/CL/CLTensor.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017 ARM Limited. + * Copyright (c) 2016-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -76,6 +76,7 @@ private: mutable CLTensorAllocator _allocator; /**< Instance of the OpenCL tensor allocator */ }; +/** OpenCL Image */ using CLImage = CLTensor; } #endif /*__ARM_COMPUTE_CLTENSOR_H__ */ diff --git a/arm_compute/runtime/CL/CLTensorAllocator.h b/arm_compute/runtime/CL/CLTensorAllocator.h index 682de174a8..7515074afd 100644 --- a/arm_compute/runtime/CL/CLTensorAllocator.h +++ b/arm_compute/runtime/CL/CLTensorAllocator.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017 ARM Limited. + * Copyright (c) 2016-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -35,28 +35,38 @@ namespace arm_compute class CLTensor; template class MemoryGroupBase; +/** Memory Group in OpenCL */ using CLMemoryGroup = MemoryGroupBase; /** Basic implementation of a CL memory tensor allocator. */ class CLTensorAllocator : public ITensorAllocator { public: - /** Default constructor. */ + /** Default constructor. + * + * @param[in] owner (Optional) Owner of the allocator. + */ CLTensorAllocator(CLTensor *owner = nullptr); /** Default destructor */ ~CLTensorAllocator(); - /** Prevent instances of this class from being copied (As this class contains pointers). */ + /** Prevent instances of this class from being copied (As this class contains pointers) */ CLTensorAllocator(const CLTensorAllocator &) = delete; - /** Prevent instances of this class from being copy assigned (As this class contains pointers). */ + /** Prevent instances of this class from being copy assigned (As this class contains pointers) */ CLTensorAllocator &operator=(const CLTensorAllocator &) = delete; /** Allow instances of this class to be moved */ CLTensorAllocator(CLTensorAllocator &&) = default; /** Allow instances of this class to be moved */ CLTensorAllocator &operator=(CLTensorAllocator &&) = default; - /** Interface to be implemented by the child class to return the pointer to the mapped data. */ + /** Interface to be implemented by the child class to return the pointer to the mapped data. + * + * @return pointer to the mapped data. + */ uint8_t *data(); - /** Interface to be implemented by the child class to return the pointer to the CL data. */ + /** Interface to be implemented by the child class to return the pointer to the CL data. + * + * @return pointer to the CL data. + */ const cl::Buffer &cl_data() const; /** Enqueue a map operation of the allocated buffer on the given queue. * diff --git a/arm_compute/runtime/CL/CLTuner.h b/arm_compute/runtime/CL/CLTuner.h index 1c71709a7a..c1fbfd249c 100644 --- a/arm_compute/runtime/CL/CLTuner.h +++ b/arm_compute/runtime/CL/CLTuner.h @@ -71,7 +71,7 @@ public: /** Give read access to the LWS table * - * return The lws table as unordered_map container + * @return The lws table as unordered_map container */ const std::unordered_map &lws_table() const; @@ -83,6 +83,7 @@ public: */ void set_cl_kernel_event(cl_event kernel_event); + /** clEnqueueNDRangeKernel symbol */ std::function real_clEnqueueNDRangeKernel; /** Load the LWS table from file diff --git a/arm_compute/runtime/CL/functions/CLGEMM.h b/arm_compute/runtime/CL/functions/CLGEMM.h index 2e82457ee2..f2dd60340c 100644 --- a/arm_compute/runtime/CL/functions/CLGEMM.h +++ b/arm_compute/runtime/CL/functions/CLGEMM.h @@ -51,7 +51,10 @@ class ICLTensor; class CLGEMM : public IFunction { public: - /** Default constructor. */ + /** Default constructor. + * + * @param[in] memory_manager (Optional) Memory manager. + */ CLGEMM(std::shared_ptr memory_manager = nullptr); /** Initialise the kernel's inputs and output * diff --git a/arm_compute/runtime/CL/functions/CLGEMMConvolutionLayer.h b/arm_compute/runtime/CL/functions/CLGEMMConvolutionLayer.h index ca805d90f1..0548ce7be7 100644 --- a/arm_compute/runtime/CL/functions/CLGEMMConvolutionLayer.h +++ b/arm_compute/runtime/CL/functions/CLGEMMConvolutionLayer.h @@ -98,7 +98,10 @@ private: class CLGEMMConvolutionLayer : public IFunction { public: - /** Default constructor */ + /** Default constructor + * + * @param[in] memory_manager (Optional) Memory manager. + */ CLGEMMConvolutionLayer(std::shared_ptr memory_manager = nullptr); /** Set the input and output tensors. * @@ -128,6 +131,8 @@ public: * @param[in] conv_info Contains padding and stride information described in @ref PadStrideInfo. * @param[in] weights_info Specifies if the weights tensor has been reshaped with CLWeightsReshapeKernel. If this is not part of the fully connected layer the weights * tensor has also been transposed with CLGEMMTranspose1xWKernel. Data type supported: Same as @p input. + * + * @return a status */ static Status validate(const ITensorInfo *input, const ITensorInfo *weights, const ITensorInfo *biases, const ITensorInfo *output, const PadStrideInfo &conv_info, const WeightsInfo &weights_info = WeightsInfo()); diff --git a/arm_compute/runtime/CL/functions/CLGaussian5x5.h b/arm_compute/runtime/CL/functions/CLGaussian5x5.h index 3c60cc66a3..892fe146dd 100644 --- a/arm_compute/runtime/CL/functions/CLGaussian5x5.h +++ b/arm_compute/runtime/CL/functions/CLGaussian5x5.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017 ARM Limited. + * Copyright (c) 2016-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -49,7 +49,10 @@ class ICLTensor; class CLGaussian5x5 : public IFunction { public: - /** Default Constructor. */ + /** Default Constructor. + * + * @param[in] memory_manager (Optional) Memory manager. + */ CLGaussian5x5(std::shared_ptr memory_manager = nullptr); /** Initialise the function's source, destinations and border mode. * diff --git a/arm_compute/runtime/CL/functions/CLHistogram.h b/arm_compute/runtime/CL/functions/CLHistogram.h index 455b61812d..05b08db9da 100644 --- a/arm_compute/runtime/CL/functions/CLHistogram.h +++ b/arm_compute/runtime/CL/functions/CLHistogram.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017 ARM Limited. + * Copyright (c) 2016-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -31,7 +31,6 @@ namespace arm_compute { class ICLDistribution1D; class ICLTensor; -using ICLTensor = ICLImage; /** Basic function to execute histogram. This function calls the following OpenCL kernels: * diff --git a/arm_compute/runtime/CL/functions/CLOpticalFlow.h b/arm_compute/runtime/CL/functions/CLOpticalFlow.h index 94dda186bf..e2aaf404ce 100644 --- a/arm_compute/runtime/CL/functions/CLOpticalFlow.h +++ b/arm_compute/runtime/CL/functions/CLOpticalFlow.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -43,9 +43,12 @@ namespace arm_compute { class CLPyramid; +/** OpenCL Array of Internal Keypoints */ using CLLKInternalKeypointArray = CLArray; -using CLCoefficientTableArray = CLArray; -using CLOldValueArray = CLArray; +/** OpenCL Array of Coefficient Tables */ +using CLCoefficientTableArray = CLArray; +/** OpenCL Array of Old Values */ +using CLOldValueArray = CLArray; /** Basic function to execute optical flow. This function calls the following OpenCL kernels and functions: * diff --git a/arm_compute/runtime/CL/functions/CLReductionOperation.h b/arm_compute/runtime/CL/functions/CLReductionOperation.h index 4ce17ae3a9..abec9b8dc5 100644 --- a/arm_compute/runtime/CL/functions/CLReductionOperation.h +++ b/arm_compute/runtime/CL/functions/CLReductionOperation.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -45,7 +45,10 @@ class ICLTensor; class CLReductionOperation : public IFunction { public: - /* Constructor */ + /** Default Constructor. + * + * @param[in] memory_manager (Optional) Memory manager. + */ CLReductionOperation(std::shared_ptr memory_manager = nullptr); /** Set the input and output tensors. diff --git a/arm_compute/runtime/CL/functions/CLSobel5x5.h b/arm_compute/runtime/CL/functions/CLSobel5x5.h index 3e603f8311..2b5807b54a 100644 --- a/arm_compute/runtime/CL/functions/CLSobel5x5.h +++ b/arm_compute/runtime/CL/functions/CLSobel5x5.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017 ARM Limited. + * Copyright (c) 2016-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -49,7 +49,10 @@ class ICLTensor; class CLSobel5x5 : public IFunction { public: - /** Default Constructor. */ + /** Default Constructor. + * + * @param[in] memory_manager (Optional) Memory manager. + */ CLSobel5x5(std::shared_ptr memory_manager = nullptr); /** Initialise the function's source, destinations and border mode. * diff --git a/arm_compute/runtime/CL/functions/CLSobel7x7.h b/arm_compute/runtime/CL/functions/CLSobel7x7.h index 0dc0a1c5e9..65b3cf2da0 100644 --- a/arm_compute/runtime/CL/functions/CLSobel7x7.h +++ b/arm_compute/runtime/CL/functions/CLSobel7x7.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017 ARM Limited. + * Copyright (c) 2016-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -49,7 +49,10 @@ class ICLTensor; class CLSobel7x7 : public IFunction { public: - /** Default Constructor. */ + /** Default Constructor. + * + * @param[in] memory_manager (Optional) Memory manager. + */ CLSobel7x7(std::shared_ptr memory_manager = nullptr); /** Initialise the function's source, destinations and border mode. * diff --git a/arm_compute/runtime/GLES_COMPUTE/GCTensor.h b/arm_compute/runtime/GLES_COMPUTE/GCTensor.h index 0f5f194266..05305f9b1b 100644 --- a/arm_compute/runtime/GLES_COMPUTE/GCTensor.h +++ b/arm_compute/runtime/GLES_COMPUTE/GCTensor.h @@ -40,10 +40,10 @@ public: /** Default constructor */ GCTensor(); - /** Prevent instances of this class from being copied (As this class contains pointers). */ + /** Prevent instances of this class from being copied (As this class contains pointers) */ GCTensor(const GCTensor &) = delete; - /** Prevent instances of this class from being copy assigned (As this class contains pointers). */ + /** Prevent instances of this class from being copy assigned (As this class contains pointers) */ GCTensor &operator=(const GCTensor &) = delete; /** Allow instances of this class to be moved */ @@ -94,6 +94,7 @@ private: mutable GCTensorAllocator _allocator; /**< Instance of the OpenGL ES tensor allocator */ }; +/** OpenGL ES Image */ using GCImage = GCTensor; } diff --git a/arm_compute/runtime/GLES_COMPUTE/GCTensorAllocator.h b/arm_compute/runtime/GLES_COMPUTE/GCTensorAllocator.h index fc14f04ac2..1bd3582b6c 100644 --- a/arm_compute/runtime/GLES_COMPUTE/GCTensorAllocator.h +++ b/arm_compute/runtime/GLES_COMPUTE/GCTensorAllocator.h @@ -59,10 +59,10 @@ public: /** Default constructor. */ GCTensorAllocator(GCTensor *owner = nullptr); - /** Prevent instances of this class from being copied (As this class contains pointers). */ + /** Prevent instances of this class from being copied (As this class contains pointers) */ GCTensorAllocator(const GCTensorAllocator &) = delete; - /** Prevent instances of this class from being copy assigned (As this class contains pointers). */ + /** Prevent instances of this class from being copy assigned (As this class contains pointers) */ GCTensorAllocator &operator=(const GCTensorAllocator &) = delete; /** Allow instances of this class to be moved */ @@ -74,7 +74,10 @@ public: /** Default destructor */ ~GCTensorAllocator(); - /** Interface to be implemented by the child class to return the pointer to the mapped data. */ + /** Interface to be implemented by the child class to return the pointer to the mapped data. + * + * @return a pointer to the data. + */ uint8_t *data(); /** Get the OpenGL ES buffer object name diff --git a/arm_compute/runtime/ILifetimeManager.h b/arm_compute/runtime/ILifetimeManager.h index 6f2c68d372..36743ac404 100644 --- a/arm_compute/runtime/ILifetimeManager.h +++ b/arm_compute/runtime/ILifetimeManager.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -43,7 +43,7 @@ public: virtual ~ILifetimeManager() = default; /** Registers a group to the lifetime manager and assigns a group id * - * @return The group id of the group + * @param[in] group The group id of the group */ virtual void register_group(IMemoryGroup *group) = 0; /** Registers and starts lifetime of an object diff --git a/arm_compute/runtime/LutAllocator.h b/arm_compute/runtime/LutAllocator.h index 76b596bfa0..077b4693af 100644 --- a/arm_compute/runtime/LutAllocator.h +++ b/arm_compute/runtime/LutAllocator.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017 ARM Limited. + * Copyright (c) 2016-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -37,7 +37,10 @@ class LutAllocator : public ILutAllocator public: /** Default constructor. */ LutAllocator(); - /** Interface to be implemented by the child class to return the pointer to the allocate data. */ + /** Interface to be implemented by the child class to return the pointer to the allocate data. + * + * @return a pointer to the data. + */ uint8_t *data() const; protected: diff --git a/arm_compute/runtime/MemoryGroup.h b/arm_compute/runtime/MemoryGroup.h index d3f647e7d4..9127d0849d 100644 --- a/arm_compute/runtime/MemoryGroup.h +++ b/arm_compute/runtime/MemoryGroup.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -30,6 +30,7 @@ namespace arm_compute { +/** Memory Group */ using MemoryGroup = MemoryGroupBase; template <> diff --git a/arm_compute/runtime/MemoryGroupBase.h b/arm_compute/runtime/MemoryGroupBase.h index 19e9834923..dc640f10a6 100644 --- a/arm_compute/runtime/MemoryGroupBase.h +++ b/arm_compute/runtime/MemoryGroupBase.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -44,9 +44,9 @@ public: MemoryGroupBase(std::shared_ptr memory_manager = nullptr); /** Default destructor */ ~MemoryGroupBase() = default; - /** Prevent instances of this class from being copied (As this class contains pointers). */ + /** Prevent instances of this class from being copied (As this class contains pointers) */ MemoryGroupBase(const MemoryGroupBase &) = delete; - /** Prevent instances of this class from being copy assigned (As this class contains pointers). */ + /** Prevent instances of this class from being copy assigned (As this class contains pointers) */ MemoryGroupBase &operator=(const MemoryGroupBase &) = delete; /** Allow instances of this class to be moved */ MemoryGroupBase(MemoryGroupBase &&) = default; diff --git a/arm_compute/runtime/NEON/AssemblyHelper.h b/arm_compute/runtime/NEON/AssemblyHelper.h index 2b304b8022..e2d27cf941 100644 --- a/arm_compute/runtime/NEON/AssemblyHelper.h +++ b/arm_compute/runtime/NEON/AssemblyHelper.h @@ -40,26 +40,38 @@ namespace arm_compute { +/** Assembly kernel glue */ template class AssemblyKernelGlue final { public: + /** Operator type */ using TypeOperator = TypeInput; - using TypeResult = TypeOutput; + /** Result type */ + using TypeResult = TypeOutput; + /** Default constructor. */ AssemblyKernelGlue() : _gemm_kernel_asm(nullptr), _optimised_kernel(nullptr), _a(nullptr), _b(nullptr), _d(nullptr) { } + /** Assembly Gemm */ using AssemblyGemm = arm_gemm::GemmCommon; + /** Prevent instances of this class from being copy constructed */ const AssemblyKernelGlue &operator=(const AssemblyKernelGlue &) = delete; + /** Prevent instances of this class from being copied */ AssemblyKernelGlue(const AssemblyKernelGlue &) = delete; + /** Assembly Gemm kernel */ std::unique_ptr _gemm_kernel_asm; - std::unique_ptr _optimised_kernel; - const ITensor *_a; - const ITensor *_b; - ITensor *_d; + /** Optimised NEON kernel */ + std::unique_ptr _optimised_kernel; + /** Input A */ + const ITensor *_a; + /** Input B */ + const ITensor *_b; + /** Output */ + ITensor *_d; /** Configures the arrays pointers and strides in the assembly kernel and executes the assembly kernel. * The call to set_arrays is needed to deal with the input sizes containing batches (dims > 2) @@ -91,10 +103,21 @@ public: } }; -using AssemblyKernelGlueF32 = AssemblyKernelGlue; +/** Float 32 assembly kernel glue */ +using AssemblyKernelGlueF32 = AssemblyKernelGlue; +/** Uint 8 to Uint 32 kernel glue */ using AssemblyKernelGlueU8U32 = AssemblyKernelGlue; +/** Int 8 to Int 32 kernel glue */ using AssemblyKernelGlueS8S32 = AssemblyKernelGlue; +/** Allocate a workspace tensor. + * + * @param[in] workspace_size Size to allocate. + * @param[out] workspace Tensor to allocate. + * @param[in] memory_group Tensor memory group. + * @param[in] alignment Workspace memory alignment. + * @param[in] num_threads Number of workspace threads. + */ inline void allocate_workspace(size_t workspace_size, Tensor &workspace, MemoryGroup &memory_group, size_t alignment, unsigned int num_threads) { ARM_COMPUTE_ERROR_ON_MSG(workspace_size == 0, "size cannot be 0"); @@ -102,6 +125,17 @@ inline void allocate_workspace(size_t workspace_size, Tensor &workspace, MemoryG workspace.allocator()->allocate(); } +/** Create a wrapper kernel. + * + * @param[in] a Input tensor A. + * @param[in] b Input tensor B. + * @param[in] c (Optional) Input tensor C. + * @param[out] d Output tensor. + * @param[in] alpha Alpha value. + * @param[in] beta Beta value. + * + * @return the wrapper kernel. + */ template std::unique_ptr> create_wrapper_kernel(const ITensor *a, const ITensor *b, const ITensor *c, ITensor *d, float alpha, float beta) { @@ -128,6 +162,20 @@ std::unique_ptr> create_wrapper_kernel(const ITensor *a return nullptr; } +/** Setup assembly kernel. + * + * @param[in] a Input tensor A. + * @param[in] b Input tensor B. + * @param[in] c (Optional) Input tensor C. + * @param[in] d Output tensor. + * @param[in] alpha Alpha value. + * @param[in] beta Beta value. + * @param[out] workspace Workspace tensor + * @param[in] memory_group Tensor memory group. + * @param[out] asm_glue Assembly glue kernel. + * + * @return True if the assembly kernel is setup correctly. + */ template inline bool setup_assembly_kernel(const ITensor *a, const ITensor *b, const ITensor *c, ITensor *d, float alpha, float beta, Tensor &workspace, MemoryGroup &memory_group, T &asm_glue) diff --git a/arm_compute/runtime/NEON/NEScheduler.h b/arm_compute/runtime/NEON/NEScheduler.h index 94c82b2f03..affc281cc2 100644 --- a/arm_compute/runtime/NEON/NEScheduler.h +++ b/arm_compute/runtime/NEON/NEScheduler.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -28,6 +28,7 @@ namespace arm_compute { +/** NEON Scheduler */ using NEScheduler = Scheduler; } #endif /*__ARM_COMPUTE_NESCHEDULER_H__ */ diff --git a/arm_compute/runtime/NEON/functions/NECannyEdge.h b/arm_compute/runtime/NEON/functions/NECannyEdge.h index b7e0ffbcf1..17fefcc0ab 100644 --- a/arm_compute/runtime/NEON/functions/NECannyEdge.h +++ b/arm_compute/runtime/NEON/functions/NECannyEdge.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -56,6 +56,8 @@ public: /** Constructor * * Initialize Sobel kernel to nullptr. + * + * @param[in] memory_manager (Optional) Memory manager. */ NECannyEdge(std::shared_ptr memory_manager = nullptr); /** Prevent instances of this class from being copied (As this class contains pointers) */ diff --git a/arm_compute/runtime/NEON/functions/NEHarrisCorners.h b/arm_compute/runtime/NEON/functions/NEHarrisCorners.h index a9a6786db5..6ea14a38e5 100644 --- a/arm_compute/runtime/NEON/functions/NEHarrisCorners.h +++ b/arm_compute/runtime/NEON/functions/NEHarrisCorners.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017 ARM Limited. + * Copyright (c) 2016-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -64,6 +64,8 @@ public: /** Constructor * * Initialize _sobel, _harris_score and _corner_list to nullptr. + * + * @param[in] memory_manager (Optional) Memory manager. */ NEHarrisCorners(std::shared_ptr memory_manager = nullptr); /** Initialize the function's source, destination, conv and border_mode. diff --git a/arm_compute/runtime/NEON/functions/NEOpticalFlow.h b/arm_compute/runtime/NEON/functions/NEOpticalFlow.h index 5d1fbe3a22..ad703f0788 100644 --- a/arm_compute/runtime/NEON/functions/NEOpticalFlow.h +++ b/arm_compute/runtime/NEON/functions/NEOpticalFlow.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017 ARM Limited. + * Copyright (c) 2016-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -42,6 +42,7 @@ namespace arm_compute { class Pyramid; +/** Array of LK Internel Keypoints */ using LKInternalKeypointArray = Array; /** Basic function to execute optical flow. This function calls the following NEON kernels and functions: * @@ -52,7 +53,10 @@ using LKInternalKeypointArray = Array; class NEOpticalFlow : public IFunction { public: - /** Constructor */ + /** Constructor + * + * @param[in] memory_manager (Optional) Memory manager. + */ NEOpticalFlow(std::shared_ptr memory_manager = nullptr); /** Prevent instances of this class from being copied (As this class contains pointers) */ NEOpticalFlow(const NEOpticalFlow &) = delete; diff --git a/arm_compute/runtime/Scheduler.h b/arm_compute/runtime/Scheduler.h index 524622f89d..7e10461b5a 100644 --- a/arm_compute/runtime/Scheduler.h +++ b/arm_compute/runtime/Scheduler.h @@ -33,12 +33,13 @@ namespace arm_compute class Scheduler { public: + /** Scheduler type */ enum class Type { - ST, // Single thread. - CPP, // C++11 threads. - OMP, // OpenMP. - CUSTOM // Provided by the user. + ST, /**< Single thread. */ + CPP, /**< C++11 threads. */ + OMP, /**< OpenMP. */ + CUSTOM /**< Provided by the user. */ }; /** Sets the user defined scheduler and makes it the active scheduler. * @@ -63,6 +64,8 @@ public: */ static Type get_type(); /** Returns true if the given scheduler type is supported. False otherwise. + * + * @param[in] t the type of the scheduler to check. * * @return true if the given scheduler type is supported. False otherwise. */ diff --git a/arm_compute/runtime/Tensor.h b/arm_compute/runtime/Tensor.h index 1fe73a2353..7022afff87 100644 --- a/arm_compute/runtime/Tensor.h +++ b/arm_compute/runtime/Tensor.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017 ARM Limited. + * Copyright (c) 2016-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -60,6 +60,7 @@ private: mutable TensorAllocator _allocator; /**< Instance of the basic CPU allocator.*/ }; +/** Image */ using Image = Tensor; } #endif /*__ARM_COMPUTE_TENSOR_H__ */ diff --git a/arm_compute/runtime/TensorAllocator.h b/arm_compute/runtime/TensorAllocator.h index 9af100c129..2ad37d0576 100644 --- a/arm_compute/runtime/TensorAllocator.h +++ b/arm_compute/runtime/TensorAllocator.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017 ARM Limited. + * Copyright (c) 2016-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -44,13 +44,16 @@ using MemoryGroup = MemoryGroupBase; class TensorAllocator : public ITensorAllocator { public: - /** Default constructor. */ + /** Default constructor. + * + * @param[in] owner Owner of the tensor allocator. + */ TensorAllocator(Tensor *owner = nullptr); /** Default destructor */ ~TensorAllocator(); - /** Prevent instances of this class from being copied (As this class contains pointers). */ + /** Prevent instances of this class from being copied (As this class contains pointers) */ TensorAllocator(const TensorAllocator &) = delete; - /** Prevent instances of this class from being copy assigned (As this class contains pointers). */ + /** Prevent instances of this class from being copy assigned (As this class contains pointers) */ TensorAllocator &operator=(const TensorAllocator &) = delete; /** Allow instances of this class to be moved */ TensorAllocator(TensorAllocator &&) noexcept; @@ -71,7 +74,10 @@ public: */ void init(const TensorAllocator &allocator, const Coordinates &coords, TensorInfo sub_info); - /** Returns the pointer to the allocated data. */ + /** Returns the pointer to the allocated data. + * + * @return a pointer to the allocated data. + */ uint8_t *data() const; /** Allocate size specified by TensorInfo of CPU memory. -- cgit v1.2.1