aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorMichalis Spyrou <michalis.spyrou@arm.com>2021-02-23 11:48:12 +0000
committerMichalis Spyrou <michalis.spyrou@arm.com>2021-03-03 15:04:20 +0000
commit473cb01e84cef6cab057e9492bfa3b68f708e5d7 (patch)
treea500b8a8afe6a0442e1a54fb8d52c77d22543bcb /docs
parentf466d75f85938b96dd14675ec091193bdce12122 (diff)
downloadComputeLibrary-473cb01e84cef6cab057e9492bfa3b68f708e5d7.tar.gz
Remove Compute Vision CL support
Resolves COMPMID-4151 Change-Id: I46f541efe8c4087f27794d2e158b6c1547d459ba Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5160 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/00_introduction.dox105
-rw-r--r--docs/01_library.dox7
-rw-r--r--docs/06_functions_list.dox52
3 files changed, 74 insertions, 90 deletions
diff --git a/docs/00_introduction.dox b/docs/00_introduction.dox
index 7659d56e25..8616cb6d13 100644
--- a/docs/00_introduction.dox
+++ b/docs/00_introduction.dox
@@ -27,7 +27,7 @@ namespace arm_compute
@tableofcontents
-The Computer Vision and Machine Learning library is a set of functions optimised for both Arm CPUs and GPUs using SIMD technologies.
+The Compute Library is a collection of low-level machine learning functions optimized for both Arm CPUs and GPUs using SIMD technologies.
Several builds of the library are available using various configurations:
- OS: Linux, Android, macOS or bare metal.
@@ -95,6 +95,7 @@ v21.05 Public major release
- NEChannelCombine
- NEChannelExtract
- NEColorConvert
+ - NEConvolution
- NEDerivative
- NEDilate
- NEEqualizeHistogram
@@ -119,7 +120,6 @@ v21.05 Public major release
- NENonLinearFilter
- NEOpticalFlow
- NEPhase
- - NERemap
- NEScharr3x3
- NESobel3x3
- NESobel5x5
@@ -127,9 +127,52 @@ v21.05 Public major release
- NETableLookup
- NEThreshold
- NEWarpAffine
- - NEWarpPerspective
- - Remove all GLES kernels / functions / tests / examples
+ - NEWarpPerspectiveKernel
+ - Remove all GLES kernels / functions / tests / examples
+ - Removed computer vision support from CL backend
+ - Removed the following functions:
+ - CLAbsoluteDifference
+ - CLAccumulate
+ - CLBox3x3
+ - CLCannyEdge
+ - CLChannelCombine
+ - CLChannelExtract
+ - CLColorConvert
+ - CLConvolution
+ - CLDerivative
+ - CLDilate
+ - CLEqualizeHistogram
+ - CLErode
+ - CLFastCorners
+ - CLGaussian3x3
+ - CLGaussian5x5
+ - CLGaussianPyramid
+ - CLHOGDescriptor
+ - CLHOGDetector
+ - CLHOGGradient
+ - CLHOGMultiDetection
+ - CLHarrisCorners
+ - CLHistogram
+ - CLIntegralImage
+ - CLLaplacianPyramid
+ - CLLaplacianReconstruct
+ - CLMagnitude
+ - CLMeanStdDev
+ - CLMedian3x3
+ - CLMinMaxLocation
+ - CLNonLinearFilter
+ - CLOpticalFlow
+ - CLPhase
+ - CLScharr3x3
+ - CLSobel3x3
+ - CLSobel5x5
+ - CLSobel7x7
+ - CLTableLookup
+ - CLThreshold
+ - CLWarpAffine
+ - CLWarpPerspective
+
v21.02 Public major release
- Various bug fixes.
- Various optimisations.
@@ -212,8 +255,8 @@ v20.11 Public major release
- @ref NELogicalOr
- Removed padding from Neon kernels:
- @ref NEComplexPixelWiseMultiplicationKernel
- - @ref NENonMaximaSuppression3x3Kernel
- - NERemapKernel
+ - NENonMaximaSuppression3x3Kernel
+ - @ref NERemapKernel
- @ref NEGEMMInterleave4x4Kernel
- @ref NEDirectConvolutionLayerKernel
- @ref NEScaleKernel
@@ -221,7 +264,7 @@ v20.11 Public major release
- @ref NEGEMMLowpOffsetContributionKernel
- @ref NEGEMMTranspose1xWKernel
- NEPoolingLayerKernel
- - @ref NEConvolutionKernel
+ - NEConvolutionKernel
- @ref NEDepthwiseConvolutionLayerNativeKernel
- @ref NEGEMMLowpMatrixMultiplyKernel
- @ref NEGEMMMatrixMultiplyKernel
@@ -534,7 +577,7 @@ v20.08 Public major release
- NEGEMMLowpQuantizeDownInt32ToUint8Scale
- NEGEMMMatrixAccumulateBiasesKernel
- Deprecated functions / interfaces:
- - Non-descriptor based interfaces for NEThreshold, @ref CLThreshold
+ - Non-descriptor based interfaces for NEThreshold, CLThreshold
- Non-descriptor based interfaces for @ref NEScale, @ref CLScale and GCScale
- In @ref NESoftmaxLayer, @ref NELogSoftmaxLayer, @ref CLSoftmaxLayer, @ref CLLogSoftmaxLayer and GCSoftmaxLayer :
The default "axis" value for @ref CLSoftmaxLayer, @ref CLLogSoftmaxLayer and GCSoftmaxLayer is changed from 1 to 0.
@@ -791,7 +834,7 @@ v19.08 Public major release
- @ref CLGEMMLowpMatrixMultiplyNativeKernel
- CLGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPointKernel
- @ref CLGEMMMatrixMultiplyNativeKernel
- - @ref CLMeanStdDevNormalizationKernel / @ref CLMeanStdDevNormalizationLayer
+ - CLMeanStdDevNormalizationKernel /CLMeanStdDevNormalizationLayer
- @ref CLSpaceToDepthLayerKernel / @ref CLSpaceToDepthLayer
- New examples:
- neon_opticalflow
@@ -1286,7 +1329,7 @@ v17.06 Public major release
- New OpenCL kernels / functions:
- @ref CLBatchNormalizationLayerKernel / @ref CLBatchNormalizationLayer
- CLDepthConcatenateLayerKernel / CLDepthConcatenateLayer
- - @ref CLHOGOrientationBinningKernel @ref CLHOGBlockNormalizationKernel, @ref CLHOGDetectorKernel / @ref CLHOGDescriptor @ref CLHOGDetector @ref CLHOGGradient @ref CLHOGMultiDetection
+ - CLHOGOrientationBinningKernel CLHOGBlockNormalizationKernel, CLHOGDetectorKernel / CLHOGDescriptor CLHOGDetector CLHOGGradient CLHOGMultiDetection
- CLLocallyConnectedMatrixMultiplyKernel / CLLocallyConnectedLayer
- @ref CLWeightsReshapeKernel / @ref CLConvolutionLayerReshapeWeights
- New C++ kernels:
@@ -1308,12 +1351,12 @@ v17.05 Public bug fixes release
v17.04 Public bug fixes release
The following functions have been ported to use the new accurate padding:
- - @ref CLColorConvertKernel
- - @ref CLEdgeNonMaxSuppressionKernel
- - @ref CLEdgeTraceKernel
- - @ref CLGaussianPyramidHorKernel
- - @ref CLGaussianPyramidVertKernel
- - @ref CLGradientKernel
+ - CLColorConvertKernel
+ - CLEdgeNonMaxSuppressionKernel
+ - CLEdgeTraceKernel
+ - CLGaussianPyramidHorKernel
+ - CLGaussianPyramidVertKernel
+ - CLGradientKernel
- NEChannelCombineKernel
- @ref NEFillArrayKernel
- NEGaussianPyramidHorKernel
@@ -1324,8 +1367,8 @@ v17.04 Public bug fixes release
- NELogits1DMaxKernel
- NELogits1DShiftExpSumKernel
- NELogits1DNormKernel
- - @ref NENonMaximaSuppression3x3FP16Kernel
- - @ref NENonMaximaSuppression3x3Kernel
+ - NENonMaximaSuppression3x3FP16Kernel
+ - NENonMaximaSuppression3x3Kernel
v17.03.1 First Major public release of the sources
- Renamed the library to arm_compute
@@ -1343,13 +1386,13 @@ v17.03.1 First Major public release of the sources
v17.03 Sources preview
- New OpenCL kernels / functions:
- - @ref CLGradientKernel, @ref CLEdgeNonMaxSuppressionKernel, @ref CLEdgeTraceKernel / @ref CLCannyEdge
+ - CLGradientKernel, CLEdgeNonMaxSuppressionKernel, CLEdgeTraceKernel / CLCannyEdge
- GEMM refactoring + FP16 support: CLGEMMInterleave4x4Kernel, CLGEMMTranspose1xWKernel, @ref CLGEMMMatrixMultiplyKernel, CLGEMMMatrixAdditionKernel / @ref CLGEMM
- CLGEMMMatrixAccumulateBiasesKernel / @ref CLFullyConnectedLayer
- @ref CLTransposeKernel / @ref CLTranspose
- - @ref CLLKTrackerInitKernel, @ref CLLKTrackerStage0Kernel, @ref CLLKTrackerStage1Kernel, @ref CLLKTrackerFinalizeKernel / @ref CLOpticalFlow
+ - @ref CLLKTrackerInitKernel, @ref CLLKTrackerStage0Kernel, @ref CLLKTrackerStage1Kernel, @ref CLLKTrackerFinalizeKernel / CLOpticalFlow
- @ref CLNormalizationLayerKernel / @ref CLNormalizationLayer
- - @ref CLLaplacianPyramid, @ref CLLaplacianReconstruct
+ - CLLaplacianPyramid, CLLaplacianReconstruct
- New Neon kernels / functions:
- NEActivationLayerKernel / @ref NEActivationLayer
- GEMM refactoring + FP16 support (Requires armv8.2 CPU): @ref NEGEMMInterleave4x4Kernel, @ref NEGEMMTranspose1xWKernel, @ref NEGEMMMatrixMultiplyKernel, @ref NEGEMMMatrixAdditionKernel / @ref NEGEMM
@@ -1359,23 +1402,23 @@ v17.02.1 Sources preview
- New OpenCL kernels / functions:
- CLLogits1DMaxKernel, CLLogits1DShiftExpSumKernel, @ref CLLogits1DNormKernel / @ref CLSoftmaxLayer
- CLPoolingLayerKernel / @ref CLPoolingLayer
- - @ref CLIm2ColKernel, @ref CLCol2ImKernel, CLConvolutionLayerWeightsReshapeKernel / @ref CLConvolutionLayer
+ - @ref CLIm2ColKernel, @ref CLCol2ImKernel, CLConvolutionLayerWeightsReshapeKernel / CLConvolutionLayer
- @ref CLRemapKernel / @ref CLRemap
- - @ref CLGaussianPyramidHorKernel, @ref CLGaussianPyramidVertKernel / @ref CLGaussianPyramid, @ref CLGaussianPyramidHalf, @ref CLGaussianPyramidOrb
- - @ref CLMinMaxKernel, @ref CLMinMaxLocationKernel / @ref CLMinMaxLocation
- - @ref CLNonLinearFilterKernel / @ref CLNonLinearFilter
+ - CLGaussianPyramidHorKernel, CLGaussianPyramidVertKernel / CLGaussianPyramid, CLGaussianPyramidHalf, CLGaussianPyramidOrb
+ - CLMinMaxKernel, CLMinMaxLocationKernel / CLMinMaxLocation
+ - CLNonLinearFilterKernel / CLNonLinearFilter
- New Neon FP16 kernels (Requires armv8.2 CPU)
- NEAccumulateWeightedFP16Kernel
- NEBox3x3FP16Kernel
- - @ref NENonMaximaSuppression3x3FP16Kernel
+ - NENonMaximaSuppression3x3FP16Kernel
v17.02 Sources preview
- New OpenCL kernels / functions:
- CLActivationLayerKernel / @ref CLActivationLayer
- - @ref CLChannelCombineKernel / @ref CLChannelCombine
- - @ref CLDerivativeKernel / @ref CLChannelExtract
- - @ref CLFastCornersKernel / @ref CLFastCorners
- - @ref CLMeanStdDevKernel / @ref CLMeanStdDev
+ - CLChannelCombineKernel / CLChannelCombine
+ - CLDerivativeKernel / CLChannelExtract
+ - CLFastCornersKernel / CLFastCorners
+ - CLMeanStdDevKernel / CLMeanStdDev
- New Neon kernels / functions:
- HOG / SVM: NEHOGOrientationBinningKernel, NEHOGBlockNormalizationKernel, NEHOGDetectorKernel, NEHOGNonMaximaSuppressionKernel / NEHOGDescriptor, NEHOGDetector, NEHOGGradient, NEHOGMultiDetection
- NENonLinearFilterKernel / NENonLinearFilter
@@ -1893,8 +1936,6 @@ Compute Library requires OpenCL 1.1 and above with support of non uniform workgr
Enabling 16-bit floating point calculations require \a cl_khr_fp16 extension to be supported. All Mali GPUs with compute capabilities have native support for half precision floating points.
-Use of @ref CLMeanStdDev function requires 64-bit atomics support, thus \a cl_khr_int64_base_atomics should be supported in order to use.
-
@subsubsection S3_7_2_cl_performance_requirements Performance improvements
Integer dot product built-in function extensions (and therefore optimized kernels) are available with Mali OpenCL DDK r22p0 and above for the following GPUs : G71, G76. The relevant extensions are \a cl_arm_integer_dot_product_int8, \a cl_arm_integer_dot_product_accumulate_int8 and \a cl_arm_integer_dot_product_accumulate_int16.
diff --git a/docs/01_library.dox b/docs/01_library.dox
index 641fc3e11b..5cd33b67a6 100644
--- a/docs/01_library.dox
+++ b/docs/01_library.dox
@@ -191,7 +191,7 @@ This is a very basic implementation which was originally used in the Neon runtim
Functions will automatically allocate the temporary buffers mentioned above, and will automatically multi-thread kernels' executions using the very basic scheduler described in the previous section.
-Simple functions only call a single kernel (e.g @ref NEConvolution3x3), while more complex ones consist of several kernels pipelined together (e.g @ref NEFullyConnectedLayer ). Check their documentation to find out which kernels are used by each function.
+Simple functions only call a single kernel (e.g NEConvolution3x3), while more complex ones consist of several kernels pipelined together (e.g @ref NEFullyConnectedLayer ). Check their documentation to find out which kernels are used by each function.
@code{.cpp}
//Create a function object:
@@ -225,9 +225,6 @@ If the library is compiled with embed_kernels=0 the application can set the path
In order to block until all the jobs in the CLScheduler's command queue are done executing the user can call @ref CLScheduler::sync() or create a sync event using @ref CLScheduler::enqueue_sync_event()
-For example:
-@snippet cl_events.cpp OpenCL events
-
@subsection S4_4_2_cl_neon OpenCL / Neon interoperability
You can mix OpenCL and Neon kernels and functions. However it is the user's responsibility to handle the mapping/unmapping of OpenCL objects.
@@ -260,8 +257,6 @@ There are different ways padding can be calculated:
- Accurate padding:
-@snippet neon_convolution.cpp Accurate padding
-
@note It's important to call allocate @b after the function is configured: if the image / tensor is already allocated then the function will shrink its execution window instead of increasing the padding. (See below for more details).
- Manual padding / no padding / auto padding: You can allocate your images / tensors up front (before configuring your functions). In that case the function will use whatever padding is available and will shrink its execution window if there isn't enough padding available (which translates into a smaller valid region for the output). See also @ref valid_region).
diff --git a/docs/06_functions_list.dox b/docs/06_functions_list.dox
index 1f4794f131..0c5145cdc8 100644
--- a/docs/06_functions_list.dox
+++ b/docs/06_functions_list.dox
@@ -38,8 +38,6 @@ namespace arm_compute
- @ref NEBoundingBoxTransform
- @ref NECast
- @ref NEComplexPixelWiseMultiplication
- - @ref NEConvolution3x3
- - @ref NEConvolutionRectangle
- @ref NEElementwiseComparison
- @ref NEElementwiseComparisonStatic
- @ref NEElementwiseDivision
@@ -50,7 +48,6 @@ namespace arm_compute
- @ref NELogicalAnd
- @ref NELogicalNot
- @ref NELogicalOr
- - @ref NENonMaximaSuppression3x3
- @ref NEPixelWiseMultiplication
- @ref NEPReluLayer
- @ref NEROIAlignLayer
@@ -90,7 +87,6 @@ namespace arm_compute
- @ref NEConvertFullyConnectedWeights
- @ref NEConvolutionLayer
- @ref NEConvolutionLayerReshapeWeights
- - @ref NEConvolutionSquare &lt;matrix_size&gt;
- @ref NECropResize
- @ref NEDeconvolutionLayer
- @ref NEDepthwiseConvolutionAssemblyDispatch
@@ -140,12 +136,10 @@ namespace arm_compute
- @ref IFunction
- @ref CLBatchNormalizationLayer
- @ref CLBatchToSpaceLayer
- - @ref CLCannyEdge
- @ref CLComplexPixelWiseMultiplication
- @ref CLConcatenateLayer
- @ref CLConvolutionLayer
- @ref CLConvolutionLayerReshapeWeights
- - @ref CLConvolutionSquare &lt;matrix_size&gt;
- @ref CLCropResize
- @ref CLDeconvolutionLayer
- @ref CLDeconvolutionLayerUpsample
@@ -154,32 +148,17 @@ namespace arm_compute
- @ref CLDequantizationLayer
- @ref CLDirectConvolutionLayer
- @ref CLDirectDeconvolutionLayer
- - @ref CLEqualizeHistogram
- - @ref CLFastCorners
- @ref CLFFT1D
- @ref CLFFT2D
- @ref CLFFTConvolutionLayer
- @ref CLFullyConnectedLayer
- @ref CLFuseBatchNormalization
- - @ref CLGaussian5x5
- - @ref CLGaussianPyramid
- - @ref CLGaussianPyramidHalf
- - @ref CLGaussianPyramidOrb
- @ref CLGEMM
- @ref CLGEMMConvolutionLayer
- @ref CLGEMMDeconvolutionLayer
- @ref CLGEMMLowpMatrixMultiplyCore
- @ref CLGenerateProposalsLayer
- - @ref CLHarrisCorners
- - @ref CLHistogram
- - @ref CLHOGDescriptor
- - @ref CLHOGDetector
- - @ref CLHOGGradient
- - @ref CLHOGMultiDetection
- - @ref CLIntegralImage
- @ref CLL2NormalizeLayer
- - @ref CLLaplacianPyramid
- - @ref CLLaplacianReconstruct
- @ref CLLogicalAnd
- @ref CLLogicalNot
- @ref CLLogicalOr
@@ -187,18 +166,13 @@ namespace arm_compute
- @ref CLLSTMLayerQuantized
- @ref CLQLSTMLayer
- @ref CLMaxUnpoolingLayer
- - @ref CLMeanStdDev
- - @ref CLMinMaxLocation
- @ref CLNormalizationLayer
- @ref CLNormalizePlanarYUVLayer
- - @ref CLOpticalFlow
- @ref CLPadLayer
- @ref CLQuantizationLayer
- @ref CLReduceMean
- @ref CLReductionOperation
- @ref CLRNNLayer
- - @ref CLSobel5x5
- - @ref CLSobel7x7
- @ref CLSoftmaxLayerGeneric &lt;IS_LOG&gt;
- @ref CLSpaceToBatchLayer
- @ref CLSpaceToDepthLayer
@@ -207,10 +181,6 @@ namespace arm_compute
- @ref CLUnstack
- @ref CLWinogradConvolutionLayer
- @ref ICLSimpleFunction
- - @ref CLAbsoluteDifference
- - @ref CLAccumulate
- - @ref CLAccumulateSquared
- - @ref CLAccumulateWeighted
- @ref CLActivationLayer
- @ref CLArgMinMaxLayer
- @ref CLArithmeticAddition
@@ -221,25 +191,16 @@ namespace arm_compute
- @ref CLBitwiseOr
- @ref CLBitwiseXor
- @ref CLBoundingBoxTransform
- - @ref CLBox3x3
- @ref CLCast
- - @ref CLChannelCombine
- - @ref CLChannelExtract
- @ref CLChannelShuffleLayer
- - @ref CLColorConvert
- @ref CLComparison
- @ref CLComparisonStatic
- @ref CLConvertFullyConnectedWeights
- - @ref CLConvolution3x3
- - @ref CLConvolutionRectangle
- @ref CLCopy
- @ref CLDepthConvertLayer
- - @ref CLDerivative
- - @ref CLDilate
- @ref CLElementwiseMax
- @ref CLElementwiseMin
- @ref CLElementwiseSquaredDiff
- - @ref CLErode
- @ref CLExpLayer
- @ref CLFill
- @ref CLFillBorder
@@ -247,23 +208,16 @@ namespace arm_compute
- @ref CLFloor
- @ref CLFullyConnectedLayerReshapeWeights
- @ref CLGather
- - @ref CLGaussian3x3
- @ref CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint
- @ref CLGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPoint
- @ref CLGEMMLowpQuantizeDownInt32ScaleByFixedPointKernel
- - @ref CLMagnitude
- @ref CLMeanStdDevNormalizationLayer
- - @ref CLMedian3x3
- - @ref CLNonLinearFilter
- - @ref CLNonMaximaSuppression3x3
- @ref CLPermute
- - @ref CLPhase
- @ref CLPixelWiseMultiplication
- @ref CLPoolingLayer
- @ref CLPReluLayer
- @ref CLPriorBoxLayer
- @ref CLRange
- - @ref CLRemap
- @ref CLReorgLayer
- @ref CLReshapeLayer
- @ref CLReverse
@@ -271,17 +225,11 @@ namespace arm_compute
- @ref CLROIPoolingLayer
- @ref CLRsqrtLayer
- @ref CLScale
- - @ref CLScharr3x3
- @ref CLSelect
- @ref CLSlice
- - @ref CLSobel3x3
- @ref CLStridedSlice
- - @ref CLTableLookup
- - @ref CLThreshold
- @ref CLTile
- @ref CLTranspose
- - @ref CLWarpAffine
- - @ref CLWarpPerspective
- @ref CLWinogradInputTransform
@section S6_3 CPP functions