aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/runtime
diff options
context:
space:
mode:
authorAlex Gilday <alexander.gilday@arm.com>2018-03-21 13:54:09 +0000
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:49:16 +0000
commitc357c47be8a3f210f9eee9a05cc13f1051b036d3 (patch)
treea88ac857150da970a0862a3479b78c616d8aa1d3 /arm_compute/runtime
parent724079d6fce3bf6a05cd6c7b4884b132b27e9e90 (diff)
downloadComputeLibrary-c357c47be8a3f210f9eee9a05cc13f1051b036d3.tar.gz
COMPMID-1008: Fix Doxygen issues
Change-Id: Ie73d8771f85d1f5b059f3a56f1bbd73c98e94a38 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/124723 Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'arm_compute/runtime')
-rw-r--r--arm_compute/runtime/Array.h32
-rw-r--r--arm_compute/runtime/CL/CLArray.h37
-rw-r--r--arm_compute/runtime/CL/CLDistribution1D.h6
-rw-r--r--arm_compute/runtime/CL/CLLutAllocator.h16
-rw-r--r--arm_compute/runtime/CL/CLMemoryGroup.h3
-rw-r--r--arm_compute/runtime/CL/CLTensor.h3
-rw-r--r--arm_compute/runtime/CL/CLTensorAllocator.h22
-rw-r--r--arm_compute/runtime/CL/CLTuner.h3
-rw-r--r--arm_compute/runtime/CL/functions/CLGEMM.h5
-rw-r--r--arm_compute/runtime/CL/functions/CLGEMMConvolutionLayer.h7
-rw-r--r--arm_compute/runtime/CL/functions/CLGaussian5x5.h7
-rw-r--r--arm_compute/runtime/CL/functions/CLHistogram.h3
-rw-r--r--arm_compute/runtime/CL/functions/CLOpticalFlow.h9
-rw-r--r--arm_compute/runtime/CL/functions/CLReductionOperation.h7
-rw-r--r--arm_compute/runtime/CL/functions/CLSobel5x5.h7
-rw-r--r--arm_compute/runtime/CL/functions/CLSobel7x7.h7
-rw-r--r--arm_compute/runtime/GLES_COMPUTE/GCTensor.h5
-rw-r--r--arm_compute/runtime/GLES_COMPUTE/GCTensorAllocator.h9
-rw-r--r--arm_compute/runtime/ILifetimeManager.h4
-rw-r--r--arm_compute/runtime/LutAllocator.h7
-rw-r--r--arm_compute/runtime/MemoryGroup.h3
-rw-r--r--arm_compute/runtime/MemoryGroupBase.h6
-rw-r--r--arm_compute/runtime/NEON/AssemblyHelper.h60
-rw-r--r--arm_compute/runtime/NEON/NEScheduler.h3
-rw-r--r--arm_compute/runtime/NEON/functions/NECannyEdge.h4
-rw-r--r--arm_compute/runtime/NEON/functions/NEHarrisCorners.h4
-rw-r--r--arm_compute/runtime/NEON/functions/NEOpticalFlow.h8
-rw-r--r--arm_compute/runtime/Scheduler.h11
-rw-r--r--arm_compute/runtime/Tensor.h3
-rw-r--r--arm_compute/runtime/TensorAllocator.h16
30 files changed, 229 insertions, 88 deletions
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<T[]> _values;
};
-using KeyPointArray = Array<KeyPoint>;
-using Coordinates2DArray = Array<Coordinates2D>;
+/** Array of Key Points. */
+using KeyPointArray = Array<KeyPoint>;
+/** Array of 2D Coordinates. */
+using Coordinates2DArray = Array<Coordinates2D>;
+/** Array of Detection Windows. */
using DetectionWindowArray = Array<DetectionWindow>;
-using Size2DArray = Array<Size2D>;
-using UInt8Array = Array<uint8_t>;
-using UInt16Array = Array<uint16_t>;
-using UInt32Array = Array<uint32_t>;
-using Int16Array = Array<int16_t>;
-using Int32Array = Array<int32_t>;
-using FloatArray = Array<float>;
+/** Array of ROIs. */
+using ROIArray = Array<ROI>;
+/** Array of 2D Sizes. */
+using Size2DArray = Array<Size2D>;
+/** Array of uint8s. */
+using UInt8Array = Array<uint8_t>;
+/** Array of uint16s. */
+using UInt16Array = Array<uint16_t>;
+/** Array of uint32s. */
+using UInt32Array = Array<uint32_t>;
+/** Array of int16s. */
+using Int16Array = Array<int16_t>;
+/** Array of int32s. */
+using Int32Array = Array<int32_t>;
+/** Array of floats. */
+using FloatArray = Array<float>;
}
#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<KeyPoint>;
-using CLCoordinates2DArray = CLArray<Coordinates2D>;
+/** OpenCL Array of Key Points. */
+using CLKeyPointArray = CLArray<KeyPoint>;
+/** OpenCL Array of 2D Coordinates. */
+using CLCoordinates2DArray = CLArray<Coordinates2D>;
+/** OpenCL Array of Detection Windows. */
using CLDetectionWindowArray = CLArray<DetectionWindow>;
-using CLROIArray = CLArray<ROI>;
-using CLSize2DArray = CLArray<Size2D>;
-using CLUInt8Array = CLArray<cl_uchar>;
-using CLUInt16Array = CLArray<cl_ushort>;
-using CLUInt32Array = CLArray<cl_uint>;
-using CLInt16Array = CLArray<cl_short>;
-using CLInt32Array = CLArray<cl_int>;
-using CLFloatArray = CLArray<cl_float>;
+/** OpenCL Array of ROIs. */
+using CLROIArray = CLArray<ROI>;
+/** OpenCL Array of 2D Sizes. */
+using CLSize2DArray = CLArray<Size2D>;
+/** OpenCL Array of uint8s. */
+using CLUInt8Array = CLArray<cl_uchar>;
+/** OpenCL Array of uint16s. */
+using CLUInt16Array = CLArray<cl_ushort>;
+/** OpenCL Array of uint32s. */
+using CLUInt32Array = CLArray<cl_uint>;
+/** OpenCL Array of int16s. */
+using CLInt16Array = CLArray<cl_short>;
+/** OpenCL Array of int32s. */
+using CLInt32Array = CLArray<cl_int>;
+/** OpenCL Array of floats. */
+using CLFloatArray = CLArray<cl_float>;
}
#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<CLTensor>;
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 <typename>
class MemoryGroupBase;
+/** Memory Group in OpenCL */
using CLMemoryGroup = MemoryGroupBase<CLTensor>;
/** 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<std::string, cl::NDRange> &lws_table() const;
@@ -83,6 +83,7 @@ public:
*/
void set_cl_kernel_event(cl_event kernel_event);
+ /** clEnqueueNDRangeKernel symbol */
std::function<decltype(clEnqueueNDRangeKernel)> 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<IMemoryManager> 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<IMemoryManager> 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<IMemoryManager> 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<CLLKInternalKeypoint>;
-using CLCoefficientTableArray = CLArray<CLCoefficientTable>;
-using CLOldValueArray = CLArray<CLOldValue>;
+/** OpenCL Array of Coefficient Tables */
+using CLCoefficientTableArray = CLArray<CLCoefficientTable>;
+/** OpenCL Array of Old Values */
+using CLOldValueArray = CLArray<CLOldValue>;
/** 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<IMemoryManager> 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<IMemoryManager> 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<IMemoryManager> 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<Tensor>;
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<IMemoryManager> 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 <typename TypeInput, typename TypeOutput>
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<TypeInput, TypeOutput>;
+ /** Prevent instances of this class from being copy constructed */
const AssemblyKernelGlue<TypeInput, TypeOutput> &operator=(const AssemblyKernelGlue<TypeInput, TypeOutput> &) = delete;
+ /** Prevent instances of this class from being copied */
AssemblyKernelGlue(const AssemblyKernelGlue<TypeInput, TypeOutput> &) = delete;
+ /** Assembly Gemm kernel */
std::unique_ptr<AssemblyGemm> _gemm_kernel_asm;
- std::unique_ptr<INEKernel> _optimised_kernel;
- const ITensor *_a;
- const ITensor *_b;
- ITensor *_d;
+ /** Optimised NEON kernel */
+ std::unique_ptr<INEKernel> _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, float>;
+/** Float 32 assembly kernel glue */
+using AssemblyKernelGlueF32 = AssemblyKernelGlue<float, float>;
+/** Uint 8 to Uint 32 kernel glue */
using AssemblyKernelGlueU8U32 = AssemblyKernelGlue<uint8_t, uint32_t>;
+/** Int 8 to Int 32 kernel glue */
using AssemblyKernelGlueS8S32 = AssemblyKernelGlue<int8_t, int32_t>;
+/** 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 <typename T>
std::unique_ptr<NEGEMMAssemblyWrapper<T>> 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<NEGEMMAssemblyWrapper<T>> 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 <typename T>
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<IMemoryManager> 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<IMemoryManager> 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<NELKInternalKeypoint>;
/** Basic function to execute optical flow. This function calls the following NEON kernels and functions:
*
@@ -52,7 +53,10 @@ using LKInternalKeypointArray = Array<NELKInternalKeypoint>;
class NEOpticalFlow : public IFunction
{
public:
- /** Constructor */
+ /** Constructor
+ *
+ * @param[in] memory_manager (Optional) Memory manager.
+ */
NEOpticalFlow(std::shared_ptr<IMemoryManager> 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.
*
@@ -64,6 +65,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.
*/
static bool is_available(Type t);
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<Tensor>;
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.