Vidhya Sudhan Loganathan | d646ae1 | 2018-11-19 15:18:20 +0000 | [diff] [blame] | 1 | /// |
Gian Marco Iodice | 716b1be | 2021-02-10 17:33:27 +0000 | [diff] [blame] | 2 | /// Copyright (c) 2017-2021 Arm Limited. |
Vidhya Sudhan Loganathan | d646ae1 | 2018-11-19 15:18:20 +0000 | [diff] [blame] | 3 | /// |
| 4 | /// SPDX-License-Identifier: MIT |
| 5 | /// |
| 6 | /// Permission is hereby granted, free of charge, to any person obtaining a copy |
| 7 | /// of this software and associated documentation files (the "Software"), to |
| 8 | /// deal in the Software without restriction, including without limitation the |
| 9 | /// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or |
| 10 | /// sell copies of the Software, and to permit persons to whom the Software is |
| 11 | /// furnished to do so, subject to the following conditions: |
| 12 | /// |
| 13 | /// The above copyright notice and this permission notice shall be included in all |
| 14 | /// copies or substantial portions of the Software. |
| 15 | /// |
| 16 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| 17 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| 18 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
| 19 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
| 20 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
| 21 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
| 22 | /// SOFTWARE. |
| 23 | /// |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 24 | namespace arm_compute |
| 25 | { |
Sheri Zhang | d813bab | 2021-04-30 16:53:41 +0100 | [diff] [blame] | 26 | /** @page versions_changelogs Release Versions and Changelog |
Anthony Barbier | 6ff3b19 | 2017-09-04 18:44:23 +0100 | [diff] [blame] | 27 | |
| 28 | @tableofcontents |
| 29 | |
Sheri Zhang | d813bab | 2021-04-30 16:53:41 +0100 | [diff] [blame] | 30 | @section S2_1_versions Release versions |
Anthony Barbier | 6ff3b19 | 2017-09-04 18:44:23 +0100 | [diff] [blame] | 31 | |
| 32 | All releases are numbered vYY.MM Where YY are the last two digits of the year, and MM the month number. |
| 33 | If there is more than one release in a month then an extra sequential number is appended at the end: |
| 34 | |
| 35 | v17.03 (First release of March 2017) |
| 36 | v17.03.1 (Second release of March 2017) |
| 37 | v17.04 (First release of April 2017) |
| 38 | |
| 39 | @note We're aiming at releasing one major public release with new features per quarter. All releases in between will only contain bug fixes. |
| 40 | |
Sheri Zhang | d813bab | 2021-04-30 16:53:41 +0100 | [diff] [blame] | 41 | @section S2_2_changelog Changelog |
Anthony Barbier | 6ff3b19 | 2017-09-04 18:44:23 +0100 | [diff] [blame] | 42 | |
Michalis Spyrou | 27e67f0 | 2021-02-16 11:34:39 +0000 | [diff] [blame] | 43 | v21.05 Public major release |
Sheri Zhang | c2bed95 | 2021-05-06 12:12:38 +0100 | [diff] [blame] | 44 | - Various bug fixes. |
| 45 | - Various optimisations. |
| 46 | - Various documentation updates: |
Jakub Sujak | ee301b3 | 2021-06-04 09:46:08 +0100 | [diff] [blame] | 47 | - Add supported operators and corresponding Android NNAPI operators. |
| 48 | - Documentation reorg into user guide and contributor guide. |
Sheri Zhang | c2bed95 | 2021-05-06 12:12:38 +0100 | [diff] [blame] | 49 | - Add support for a global allocator for OpenCL tensors |
| 50 | - Add experimental support for [CLVK](https://github.com/kpet/clvk). |
| 51 | - Add data type S32 support for: |
| 52 | - @ref opencl::kernels::ClArithmeticKernel |
| 53 | - Add data type QASYMM8 support for: |
| 54 | - @ref CLROIPoolingLayer |
| 55 | - @ref CLROIPoolingLayerKernel |
| 56 | - @ref NEROIPoolingLayer |
| 57 | - @ref NEROIPoolingLayerKernel |
| 58 | - Add per-channel quantization support for: |
| 59 | - @ref CLDeconvolutionLayer |
| 60 | - @ref CLDirectDeconvolutionLayer |
| 61 | - @ref NEConvolutionLayer |
| 62 | - @ref NEDeconvolutionLayer |
| 63 | - Remove padding from OpenCL kernels: |
| 64 | - @ref CLL2NormalizeLayerKernel |
Gian Marco Iodice | 561c176 | 2021-04-16 15:08:59 +0100 | [diff] [blame^] | 65 | - CLDepthwiseConvolutionLayer3x3NHWCKernel |
Sheri Zhang | c2bed95 | 2021-05-06 12:12:38 +0100 | [diff] [blame] | 66 | - @ref CLNormalizationLayerKernel |
| 67 | - @ref CLNormalizePlanarYUVLayerKernel |
| 68 | - @ref opencl::kernels::ClMulKernel |
| 69 | - @ref CLReductionOperationKernel |
| 70 | - @ref CLROIPoolingLayerKernel |
| 71 | - Remove computer vision support from Arm® Neon™ backend |
| 72 | - Remove the following functions: |
Michalis Spyrou | 27e67f0 | 2021-02-16 11:34:39 +0000 | [diff] [blame] | 73 | - NEAbsoluteDifference |
| 74 | - NEAccumulate |
| 75 | - NEBox3x3 |
| 76 | - NECannyEdge |
| 77 | - NEChannelCombine |
| 78 | - NEChannelExtract |
| 79 | - NEColorConvert |
Michalis Spyrou | 473cb01 | 2021-02-23 11:48:12 +0000 | [diff] [blame] | 80 | - NEConvolution |
Michalis Spyrou | 27e67f0 | 2021-02-16 11:34:39 +0000 | [diff] [blame] | 81 | - NEDerivative |
| 82 | - NEDilate |
| 83 | - NEEqualizeHistogram |
| 84 | - NEErode |
| 85 | - NEFastCorners |
| 86 | - NEGaussian3x3 |
| 87 | - NEGaussian5x5 |
| 88 | - NEGaussianPyramid |
| 89 | - NEHOGDescriptor |
| 90 | - NEHOGDetector |
| 91 | - NEHOGGradient |
| 92 | - NEHOGMultiDetection |
| 93 | - NEHarrisCorners |
| 94 | - NEHistogram |
| 95 | - NEIntegralImage |
| 96 | - NELaplacianPyramid |
| 97 | - NELaplacianReconstruct |
| 98 | - NEMagnitude |
| 99 | - NEMeanStdDev |
| 100 | - NEMedian3x3 |
| 101 | - NEMinMaxLocation |
| 102 | - NENonLinearFilter |
| 103 | - NEOpticalFlow |
| 104 | - NEPhase |
Michalis Spyrou | 27e67f0 | 2021-02-16 11:34:39 +0000 | [diff] [blame] | 105 | - NEScharr3x3 |
| 106 | - NESobel3x3 |
| 107 | - NESobel5x5 |
| 108 | - NESobel7x7 |
| 109 | - NETableLookup |
| 110 | - NEThreshold |
| 111 | - NEWarpAffine |
Michalis Spyrou | 473cb01 | 2021-02-23 11:48:12 +0000 | [diff] [blame] | 112 | - NEWarpPerspectiveKernel |
Michalis Spyrou | 473cb01 | 2021-02-23 11:48:12 +0000 | [diff] [blame] | 113 | - Remove all GLES kernels / functions / tests / examples |
Sheri Zhang | c2bed95 | 2021-05-06 12:12:38 +0100 | [diff] [blame] | 114 | - Remove computer vision support from CL backend |
| 115 | - Remove the following functions: |
Michalis Spyrou | 473cb01 | 2021-02-23 11:48:12 +0000 | [diff] [blame] | 116 | - CLAbsoluteDifference |
| 117 | - CLAccumulate |
| 118 | - CLBox3x3 |
| 119 | - CLCannyEdge |
| 120 | - CLChannelCombine |
| 121 | - CLChannelExtract |
| 122 | - CLColorConvert |
| 123 | - CLConvolution |
| 124 | - CLDerivative |
| 125 | - CLDilate |
| 126 | - CLEqualizeHistogram |
| 127 | - CLErode |
| 128 | - CLFastCorners |
| 129 | - CLGaussian3x3 |
| 130 | - CLGaussian5x5 |
| 131 | - CLGaussianPyramid |
| 132 | - CLHOGDescriptor |
| 133 | - CLHOGDetector |
| 134 | - CLHOGGradient |
| 135 | - CLHOGMultiDetection |
| 136 | - CLHarrisCorners |
| 137 | - CLHistogram |
| 138 | - CLIntegralImage |
| 139 | - CLLaplacianPyramid |
| 140 | - CLLaplacianReconstruct |
| 141 | - CLMagnitude |
| 142 | - CLMeanStdDev |
| 143 | - CLMedian3x3 |
| 144 | - CLMinMaxLocation |
| 145 | - CLNonLinearFilter |
| 146 | - CLOpticalFlow |
| 147 | - CLPhase |
| 148 | - CLScharr3x3 |
| 149 | - CLSobel3x3 |
| 150 | - CLSobel5x5 |
| 151 | - CLSobel7x7 |
| 152 | - CLTableLookup |
| 153 | - CLThreshold |
| 154 | - CLWarpAffine |
| 155 | - CLWarpPerspective |
| 156 | |
Georgios Pinitas | 40f51a6 | 2020-11-21 03:04:18 +0000 | [diff] [blame] | 157 | v21.02 Public major release |
Sheri Zhang | da6a6eb | 2021-01-06 11:15:06 +0000 | [diff] [blame] | 158 | - Various bug fixes. |
| 159 | - Various optimisations. |
Georgios Pinitas | 4551403 | 2020-12-30 00:03:09 +0000 | [diff] [blame] | 160 | - Upgrade C++ standard to C++14 |
| 161 | - Add macOS support |
Giorgio Arena | 1055dc1 | 2021-02-19 09:53:06 +0000 | [diff] [blame] | 162 | - Add Armv8-R AArch64 architecture support |
Sheri Zhang | da6a6eb | 2021-01-06 11:15:06 +0000 | [diff] [blame] | 163 | - Add SVE/SVE2 support for: |
Manuel Bottini | 10b3826 | 2021-02-19 18:16:44 +0000 | [diff] [blame] | 164 | - NEScaleKernel |
Sheri Zhang | da6a6eb | 2021-01-06 11:15:06 +0000 | [diff] [blame] | 165 | - @ref NEActivationLayer |
| 166 | - @ref NEArithmeticAddition |
| 167 | - @ref NEBatchNormalizationLayerKernel |
Giorgio Arena | 1055dc1 | 2021-02-19 09:53:06 +0000 | [diff] [blame] | 168 | - @ref cpu::kernels::CpuLogits1DSoftmaxKernel |
| 169 | - @ref cpu::kernels::CpuLogits1DMaxKernel |
| 170 | - @ref cpu::kernels::CpuElementwiseUnaryKernel |
Sheri Zhang | dda6914 | 2021-02-01 19:06:57 +0000 | [diff] [blame] | 171 | - Remove padding from OpenCL kernels: |
Sheri Zhang | 1efed92 | 2021-03-10 22:43:38 +0000 | [diff] [blame] | 172 | - CLDirectConvolutionLayerKernel |
Sheri Zhang | dda6914 | 2021-02-01 19:06:57 +0000 | [diff] [blame] | 173 | - @ref CLArgMinMaxLayerKernel |
| 174 | - @ref CLPadLayerKernel |
| 175 | - @ref CLROIAlignLayerKernel |
| 176 | - @ref CLRangeKernel |
Manuel Bottini | 3b131ab | 2021-02-19 18:16:44 +0000 | [diff] [blame] | 177 | - CLScaleKernel |
Sheri Zhang | dda6914 | 2021-02-01 19:06:57 +0000 | [diff] [blame] | 178 | - @ref CLSelectKernel |
| 179 | - @ref CLBitwiseKernel |
Giorgio Arena | 1055dc1 | 2021-02-19 09:53:06 +0000 | [diff] [blame] | 180 | - @ref opencl::kernels::ClFloorKernel |
Teresa Charlin | 2788609 | 2021-02-25 20:15:01 +0000 | [diff] [blame] | 181 | - CLTransposeKernel |
Giorgio Arena | 5b50f42 | 2021-02-17 11:43:05 +0000 | [diff] [blame] | 182 | - Deprecate functions in CLTuner: |
| 183 | - add_lws_to_table |
| 184 | - import_lws_table |
| 185 | - lws_table |
Sheri Zhang | da6a6eb | 2021-01-06 11:15:06 +0000 | [diff] [blame] | 186 | - Remove functions: |
Georgios Pinitas | 96b16b6 | 2020-12-01 17:41:34 +0000 | [diff] [blame] | 187 | - NELocallyConnectedLayer / CLLocallyConnectedLayer |
Georgios Pinitas | f7c5a41 | 2020-12-03 14:38:33 +0000 | [diff] [blame] | 188 | - NEIm2Col |
| 189 | - NECol2Im |
| 190 | - NEGEMMInterleave4x4 |
| 191 | - NEGEMMTranspose1xW |
Georgios Pinitas | 8c3c0e7 | 2020-12-03 20:11:53 +0000 | [diff] [blame] | 192 | - NEComputeAllAnchors / CLComputeAllAnchors |
Georgios Pinitas | ec2256b | 2020-12-03 18:51:58 +0000 | [diff] [blame] | 193 | - NEGEMMAssemblyDispatch |
Georgios Pinitas | c53266e | 2020-12-09 03:11:53 +0000 | [diff] [blame] | 194 | - NEUpsampleLayer / CLUpsampleLayer |
Sheri Zhang | da6a6eb | 2021-01-06 11:15:06 +0000 | [diff] [blame] | 195 | - Remove kernels: |
Georgios Pinitas | d308df3 | 2020-12-01 16:56:36 +0000 | [diff] [blame] | 196 | - NEGEMMMatrixVectorMultiplyKernel |
Georgios Pinitas | 96b16b6 | 2020-12-01 17:41:34 +0000 | [diff] [blame] | 197 | - NELocallyConnectedMatrixMultiplyKernel / CLLocallyConnectedMatrixMultiplyKernel |
Georgios Pinitas | c53266e | 2020-12-09 03:11:53 +0000 | [diff] [blame] | 198 | - NEUpsampleLayerKernel / CLUpsampleLayerKernel |
Gian Marco Iodice | f5aad51 | 2021-02-08 17:34:40 +0000 | [diff] [blame] | 199 | - Extend OpenCL tuner with workgroup batch size support |
| 200 | - Experimental extension for the OpenCL tuner to tune the batches of work groups distribute to compute units |
Gian Marco Iodice | 716b1be | 2021-02-10 17:33:27 +0000 | [diff] [blame] | 201 | - Add functionality to load the OpenCL GEMM heuristics at runtime |
| 202 | - The GEMM heuristic file (MLGO) can be used to update the default GEMM heuristics available for OpenCL |
Giorgio Arena | cd7d178 | 2021-02-22 14:58:37 +0000 | [diff] [blame] | 203 | - Note: there might be performance regressions against v20.08 in Inception v3 using int8 data types on Arm Mali-G77 GPUs. Currently under investigation |
Jakub Sujak | ee301b3 | 2021-06-04 09:46:08 +0100 | [diff] [blame] | 204 | - Note: data-type decoupling is in progress and experimental. Warning of unused symbols might be raised |
Georgios Pinitas | 40f51a6 | 2020-11-21 03:04:18 +0000 | [diff] [blame] | 205 | |
SiCong Li | 96209c7 | 2020-08-21 12:28:30 +0100 | [diff] [blame] | 206 | v20.11 Public major release |
morgolock | 70b1eb8 | 2020-11-24 13:54:19 +0000 | [diff] [blame] | 207 | - Various bug fixes. |
| 208 | - Various optimisations. |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 209 | - Performance regressions can be noted when executing Depthwise Convolution on Arm® Neon™ with a depth multiplier > 1 for quantized data type. |
morgolock | 0e72849 | 2020-11-20 11:03:33 +0000 | [diff] [blame] | 210 | This is planned to be resolved in 21.02 release. |
morgolock | 70b1eb8 | 2020-11-24 13:54:19 +0000 | [diff] [blame] | 211 | - Added new data type QASYMM8_SIGNED support for @ref NEROIAlignLayer. |
SiCong Li | 903f8cc | 2020-08-27 10:17:10 +0100 | [diff] [blame] | 212 | - Added new data type S32 support for: |
Michele Di Giorgio | bd2c8e1 | 2021-01-19 15:29:02 +0000 | [diff] [blame] | 213 | - NEArithmeticSubtraction |
| 214 | - NEArithmeticSubtractionKernel |
SiCong Li | bb88f89 | 2020-08-28 11:18:47 +0100 | [diff] [blame] | 215 | - @ref NEPixelWiseMultiplication |
Sheri Zhang | 1e3ab42 | 2021-03-16 17:35:08 +0000 | [diff] [blame] | 216 | - NEPixelWiseMultiplicationKernel |
Sang-Hoon Park | 63001ac | 2021-01-18 14:20:27 +0000 | [diff] [blame] | 217 | - NEElementwiseDivision |
| 218 | - NEDivisionOperationKernel |
SiCong Li | 96209c7 | 2020-08-21 12:28:30 +0100 | [diff] [blame] | 219 | - Interface change |
| 220 | - Properly support softmax axis to have the same meaning as other major frameworks. That is, axis now defines the dimension |
| 221 | on which Softmax/Logsoftmax is performed. E.g. for input of shape 4x5x6 and axis=1, softmax will be applied to 4x6=24 vectors of size 5. |
| 222 | The supported value range of axis is [-rank, rank). |
| 223 | This change applies to the following functions: |
| 224 | - @ref NESoftmaxLayer |
| 225 | - @ref NELogSoftmaxLayer |
| 226 | - @ref CLSoftmaxLayer |
| 227 | - @ref CLLogSoftmaxLayer |
Manuel Bottini | ceaa0bf | 2021-02-16 15:15:19 +0000 | [diff] [blame] | 228 | - GCSoftmaxLayer |
Sheri Zhang | 824061d | 2020-10-26 15:46:37 +0000 | [diff] [blame] | 229 | - New OpenCL kernels / functions: |
| 230 | - @ref CLGEMMLowpQuantizeDownInt32ScaleByFixedPointKernel |
morgolock | 0e72849 | 2020-11-20 11:03:33 +0000 | [diff] [blame] | 231 | - @ref CLLogicalNot |
| 232 | - @ref CLLogicalAnd |
| 233 | - @ref CLLogicalOr |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 234 | - New Arm® Neon™ kernels / functions: |
morgolock | 0e72849 | 2020-11-20 11:03:33 +0000 | [diff] [blame] | 235 | - @ref NELogicalNot |
| 236 | - @ref NELogicalAnd |
| 237 | - @ref NELogicalOr |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 238 | - Removed padding from Arm® Neon™ kernels: |
Sheri Zhang | 1e3ab42 | 2021-03-16 17:35:08 +0000 | [diff] [blame] | 239 | - NEComplexPixelWiseMultiplicationKernel |
Michalis Spyrou | 473cb01 | 2021-02-23 11:48:12 +0000 | [diff] [blame] | 240 | - NENonMaximaSuppression3x3Kernel |
| 241 | - @ref NERemapKernel |
Sheri Zhang | ed36713 | 2020-10-08 15:46:16 +0100 | [diff] [blame] | 242 | - @ref NEGEMMInterleave4x4Kernel |
Manuel Bottini | 327225d | 2021-04-13 13:09:30 +0100 | [diff] [blame] | 243 | - NEDirectConvolutionLayerKernel |
Manuel Bottini | 10b3826 | 2021-02-19 18:16:44 +0000 | [diff] [blame] | 244 | - NEScaleKernel |
Georgios Pinitas | 96b16b6 | 2020-12-01 17:41:34 +0000 | [diff] [blame] | 245 | - NELocallyConnectedMatrixMultiplyKernel |
Sheri Zhang | ed36713 | 2020-10-08 15:46:16 +0100 | [diff] [blame] | 246 | - @ref NEGEMMLowpOffsetContributionKernel |
| 247 | - @ref NEGEMMTranspose1xWKernel |
Michele Di Giorgio | 1928904 | 2021-02-03 16:05:00 +0000 | [diff] [blame] | 248 | - NEPoolingLayerKernel |
Michalis Spyrou | 473cb01 | 2021-02-23 11:48:12 +0000 | [diff] [blame] | 249 | - NEConvolutionKernel |
Michalis Spyrou | 60c3b0e | 2021-04-08 12:02:58 +0100 | [diff] [blame] | 250 | - NEDepthwiseConvolutionLayerNativeKernel |
Sheri Zhang | ed36713 | 2020-10-08 15:46:16 +0100 | [diff] [blame] | 251 | - @ref NEGEMMLowpMatrixMultiplyKernel |
| 252 | - @ref NEGEMMMatrixMultiplyKernel |
Manuel Bottini | 327225d | 2021-04-13 13:09:30 +0100 | [diff] [blame] | 253 | - NEDirectConvolutionLayerOutputStageKernel |
Sheri Zhang | ed36713 | 2020-10-08 15:46:16 +0100 | [diff] [blame] | 254 | - @ref NEReductionOperationKernel |
| 255 | - @ref NEGEMMLowpMatrixAReductionKernel |
| 256 | - @ref NEGEMMLowpMatrixBReductionKernel |
Sheri Zhang | 824061d | 2020-10-26 15:46:37 +0000 | [diff] [blame] | 257 | - Removed padding from OpenCL kernels: |
Michele Di Giorgio | 7d61ff0 | 2021-01-18 21:15:59 +0000 | [diff] [blame] | 258 | - CLBatchConcatenateLayerKernel |
Michele Di Giorgio | 1e0208a | 2021-01-22 15:42:59 +0000 | [diff] [blame] | 259 | - CLElementwiseOperationKernel |
Sheri Zhang | 824061d | 2020-10-26 15:46:37 +0000 | [diff] [blame] | 260 | - @ref CLBatchNormalizationLayerKernel |
Michele Di Giorgio | e131466 | 2021-02-01 17:09:32 +0000 | [diff] [blame] | 261 | - CLPoolingLayerKernel |
Manuel Bottini | c6f4ec3 | 2021-05-18 18:41:56 +0100 | [diff] [blame] | 262 | - CLWinogradInputTransformKernel |
Sheri Zhang | 824061d | 2020-10-26 15:46:37 +0000 | [diff] [blame] | 263 | - @ref CLGEMMLowpMatrixMultiplyNativeKernel |
| 264 | - @ref CLGEMMLowpMatrixAReductionKernel |
| 265 | - @ref CLGEMMLowpMatrixBReductionKernel |
| 266 | - @ref CLGEMMLowpOffsetContributionOutputStageKernel |
| 267 | - @ref CLGEMMLowpOffsetContributionKernel |
Manuel Bottini | c6f4ec3 | 2021-05-18 18:41:56 +0100 | [diff] [blame] | 268 | - CLWinogradOutputTransformKernel |
Sheri Zhang | 824061d | 2020-10-26 15:46:37 +0000 | [diff] [blame] | 269 | - @ref CLGEMMLowpMatrixMultiplyReshapedKernel |
| 270 | - @ref CLFuseBatchNormalizationKernel |
| 271 | - @ref CLDepthwiseConvolutionLayerNativeKernel |
Georgios Pinitas | 11d8415 | 2021-04-28 10:20:18 +0100 | [diff] [blame] | 272 | - CLDepthConvertLayerKernel |
Sheri Zhang | 7e20e29 | 2021-02-02 11:49:34 +0000 | [diff] [blame] | 273 | - CLCopyKernel |
Gian Marco Iodice | 561c176 | 2021-04-16 15:08:59 +0100 | [diff] [blame^] | 274 | - CLDepthwiseConvolutionLayer3x3NHWCKernel |
Georgios Pinitas | f47f718 | 2021-01-15 09:29:50 +0000 | [diff] [blame] | 275 | - CLActivationLayerKernel |
Manuel Bottini | c6f4ec3 | 2021-05-18 18:41:56 +0100 | [diff] [blame] | 276 | - CLWinogradFilterTransformKernel |
Michele Di Giorgio | 7d61ff0 | 2021-01-18 21:15:59 +0000 | [diff] [blame] | 277 | - CLWidthConcatenateLayerKernel |
| 278 | - CLWidthConcatenate4TensorsKernel |
| 279 | - CLWidthConcatenate2TensorsKernel |
Sang-Hoon Park | 201e0fe | 2021-01-27 13:14:56 +0000 | [diff] [blame] | 280 | - CLLogits1DMaxShiftExpSumKernel |
| 281 | - CLLogits1DNormKernel |
Michele Di Giorgio | 7d61ff0 | 2021-01-18 21:15:59 +0000 | [diff] [blame] | 282 | - CLHeightConcatenateLayerKernel |
Georgios Pinitas | 856f66e | 2021-04-22 21:13:21 +0100 | [diff] [blame] | 283 | - CLGEMMMatrixMultiplyKernel |
Sheri Zhang | 824061d | 2020-10-26 15:46:37 +0000 | [diff] [blame] | 284 | - @ref CLGEMMLowpQuantizeDownInt32ScaleKernel |
| 285 | - @ref CLGEMMLowpQuantizeDownInt32ScaleByFloatKernel |
| 286 | - @ref CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel |
Michele Di Giorgio | 7d61ff0 | 2021-01-18 21:15:59 +0000 | [diff] [blame] | 287 | - CLDepthConcatenateLayerKernel |
Sheri Zhang | 824061d | 2020-10-26 15:46:37 +0000 | [diff] [blame] | 288 | - @ref CLGEMMLowpQuantizeDownInt32ScaleByFixedPointKernel |
| 289 | - Removed OpenCL kernels / functions: |
| 290 | - CLGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPointKernel |
| 291 | - CLGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPointKernel |
| 292 | - CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel |
morgolock | 00c7601 | 2020-11-06 10:40:12 +0000 | [diff] [blame] | 293 | - Deprecated OpenCL kernels / functions (If a kernel is used only by the function that is being deprecated, the kernel is deprecated together): |
Georgios Pinitas | 2d22139 | 2020-09-03 15:16:37 +0100 | [diff] [blame] | 294 | - CLLocallyConnectedLayer |
| 295 | - CLLocallyConnectedMatrixMultiplyKernel |
morgolock | 00c7601 | 2020-11-06 10:40:12 +0000 | [diff] [blame] | 296 | - CLAbsoluteDifference |
| 297 | - CLAbsoluteDifferenceKernel |
| 298 | - CLAccumulate |
| 299 | - CLAccumulateKernel |
| 300 | - CLAccumulateSquared |
| 301 | - CLAccumulateSquaredKernel |
| 302 | - CLAccumulateWeighted |
| 303 | - CLAccumulateWeightedKernel |
| 304 | - CLAccumulateWeightedFP16Kernel |
| 305 | - CLBox3x3 |
| 306 | - CLBox3x3Kernel |
| 307 | - CLBox3x3FP16Kernel |
| 308 | - CLCannyEdge |
| 309 | - CLChannelCombine |
| 310 | - CLChannelCombineKernel |
| 311 | - CLChannelExtract |
| 312 | - CLChannelExtractKernel |
| 313 | - CLColorConvert |
| 314 | - CLColorConvertKernel |
| 315 | - CLConvolution3x3 |
| 316 | - CLConvolutionRectangle |
| 317 | - CLConvolutionRectangleKernel |
| 318 | - CLConvolutionSquare |
| 319 | - CLConvolutionKernel |
| 320 | - CLDerivative |
| 321 | - CLDerivativeKernel |
| 322 | - CLDilate |
| 323 | - CLDilateKernel |
| 324 | - CLEqualizeHistogram |
| 325 | - CLErode |
| 326 | - CLErodeKernel |
| 327 | - CLFastCorners |
| 328 | - CLFastCornersKernel |
| 329 | - CLGaussian3x3 |
| 330 | - CLGaussian3x3Kernel |
| 331 | - CLGaussian5x5 |
| 332 | - CLGaussian5x5HorKernel |
| 333 | - CLGaussian5x5VertKernel |
| 334 | - CLGaussianPyramid |
| 335 | - CLGaussianPyramidHalf |
| 336 | - CLGaussianPyramidOrb |
| 337 | - CLHarrisCorners |
| 338 | - CLHarrisScoreKernel |
| 339 | - CLHarrisScoreFP16Kernel |
| 340 | - CLHistogram |
| 341 | - CLHistogramKernel |
| 342 | - CLHOGOrientationBinningKernel |
| 343 | - CLHOGBlockNormalizationKernel |
| 344 | - CLHOGDetectorKernel |
| 345 | - CLHOGNonMaximaSuppressionKernel |
| 346 | - CLHOGDescriptor |
| 347 | - CLHOGDetector |
| 348 | - CLHOGGradient |
| 349 | - CLHOGMultiDetection |
| 350 | - CLHOGOrientationBinningKernel |
| 351 | - CLHOGBlockNormalizationKernel |
| 352 | - CLHOGDetectorKernel |
| 353 | - CLIntegralImage |
| 354 | - CLIntegralImageKernel |
| 355 | - CLLaplacianReconstruct |
| 356 | - CLLaplacianPyramid |
| 357 | - CLMagnitude |
| 358 | - CLMagnitudePhaseKernel |
| 359 | - CLMedian3x3 |
| 360 | - CLMedian3x3Kernel |
| 361 | - CLMinMaxLocation |
| 362 | - CLMinMaxLocationKernel |
| 363 | - CLNonLinearFilter |
| 364 | - CLNonLinearFilterKernel |
| 365 | - CLNonMaximaSuppression3x3 |
| 366 | - CLNonMaximaSuppression3x3FP16Kernel |
| 367 | - CLNonMaximaSuppression3x3Kernel |
| 368 | - CLOpticalFlow |
| 369 | - CLPhase |
| 370 | - CLRemap |
| 371 | - CLRemapKernel |
| 372 | - CLScharr3x3 |
| 373 | - CLScharr3x3Kernel |
| 374 | - CLSobel3x3 |
| 375 | - CLSobel3x3Kernel |
| 376 | - CLSobel5x5 |
| 377 | - CLSobel5x5HorKernel |
| 378 | - CLSobel5x5VertKernel |
| 379 | - CLSobel7x7 |
| 380 | - CLSobel7x7HorKernel |
| 381 | - CLSobel7x7VertKernel |
| 382 | - CLThreshold |
| 383 | - CLThresholdKernel |
| 384 | - CLWarpAffine |
| 385 | - CLWarpAffineKernel |
| 386 | - CLWarpPerspective |
| 387 | - CLWarpPerspectiveKernel |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 388 | - Deprecated Arm® Neon™ kernels / functions (If a kernel is used only by the function that is being deprecated, the kernel is deprecated together): |
Georgios Pinitas | 2d22139 | 2020-09-03 15:16:37 +0100 | [diff] [blame] | 389 | - NELocallyConnectedLayer |
| 390 | - NELocallyConnectedMatrixMultiplyKernel |
morgolock | 0c86265 | 2020-11-06 08:59:45 +0000 | [diff] [blame] | 391 | - NEAbsoluteDifference |
| 392 | - NEAbsoluteDifferenceKernel |
| 393 | - NEAccumulate |
| 394 | - NEAccumulateKernel |
| 395 | - NEAccumulateSquared |
| 396 | - NEAccumulateSquaredKernel |
| 397 | - NEAccumulateWeighted |
| 398 | - NEAccumulateWeightedKernel |
| 399 | - NEAccumulateWeightedFP16Kernel |
| 400 | - NEBox3x3 |
| 401 | - NEBox3x3Kernel |
| 402 | - NEBox3x3FP16Kernel |
| 403 | - NECannyEdge |
| 404 | - NEChannelCombine |
| 405 | - NEChannelCombineKernel |
| 406 | - NEChannelExtract |
| 407 | - NEChannelExtractKernel |
| 408 | - NEColorConvert |
| 409 | - NEColorConvertKernel |
| 410 | - NEConvolution3x3 |
| 411 | - NEConvolutionRectangle |
| 412 | - NEConvolutionRectangleKernel |
| 413 | - NEConvolutionSquare |
| 414 | - NEConvolutionKernel |
| 415 | - NEDerivative |
| 416 | - NEDerivativeKernel |
| 417 | - NEDilate |
| 418 | - NEDilateKernel |
| 419 | - NEEqualizeHistogram |
| 420 | - NEErode |
| 421 | - NEErodeKernel |
| 422 | - NEFastCorners |
| 423 | - NEFastCornersKernel |
| 424 | - NEGaussian3x3 |
| 425 | - NEGaussian3x3Kernel |
| 426 | - NEGaussian5x5 |
| 427 | - NEGaussian5x5HorKernel |
| 428 | - NEGaussian5x5VertKernel |
| 429 | - NEGaussianPyramid |
| 430 | - NEGaussianPyramidHalf |
| 431 | - NEGaussianPyramidOrb |
| 432 | - NEHarrisCorners |
| 433 | - NEHarrisScoreKernel |
| 434 | - NEHarrisScoreFP16Kernel |
| 435 | - NEHistogram |
| 436 | - NEHistogramKernel |
| 437 | - NEHOGOrientationBinningKernel |
| 438 | - NEHOGBlockNormalizationKernel |
| 439 | - NEHOGDetectorKernel |
| 440 | - NEHOGNonMaximaSuppressionKernel |
| 441 | - NEHOGDescriptor |
| 442 | - NEHOGDetector |
| 443 | - NEHOGGradient |
| 444 | - NEHOGMultiDetection |
| 445 | - NEHOGOrientationBinningKernel |
| 446 | - NEHOGBlockNormalizationKernel |
| 447 | - NEHOGDetectorKernel |
| 448 | - NEIntegralImage |
| 449 | - NEIntegralImageKernel |
| 450 | - NELaplacianReconstruct |
| 451 | - NELaplacianPyramid |
| 452 | - NEMagnitude |
| 453 | - NEMagnitudePhaseKernel |
| 454 | - NEMedian3x3 |
| 455 | - NEMedian3x3Kernel |
| 456 | - NEMinMaxLocation |
| 457 | - NEMinMaxLocationKernel |
| 458 | - NENonLinearFilter |
| 459 | - NENonLinearFilterKernel |
| 460 | - NENonMaximaSuppression3x3 |
| 461 | - NENonMaximaSuppression3x3FP16Kernel |
| 462 | - NENonMaximaSuppression3x3Kernel |
| 463 | - NEOpticalFlow |
| 464 | - NEPhase |
| 465 | - NERemap |
| 466 | - NERemapKernel |
| 467 | - NEScharr3x3 |
| 468 | - NEScharr3x3Kernel |
| 469 | - NESobel3x3 |
| 470 | - NESobel3x3Kernel |
| 471 | - NESobel5x5 |
| 472 | - NESobel5x5HorKernel |
| 473 | - NESobel5x5VertKernel |
| 474 | - NESobel7x7 |
| 475 | - NESobel7x7HorKernel |
| 476 | - NESobel7x7VertKernel |
| 477 | - NEThreshold |
| 478 | - NEThresholdKernel |
| 479 | - NEWarpAffine |
| 480 | - NEWarpAffineKernel |
| 481 | - NEWarpPerspective |
| 482 | - NEWarpPerspectiveKernel |
morgolock | d6ee9ed | 2020-11-19 10:07:14 +0000 | [diff] [blame] | 483 | - Deprecated GLES kernels / functions (If a kernel is used only by the function that is being deprecated, the kernel is deprecated together): |
| 484 | - GCAbsoluteDifference |
| 485 | - GCActivationLayer |
| 486 | - GCArithmeticAddition |
| 487 | - GCBatchNormalizationLayer |
| 488 | - GCConcatenateLayer |
| 489 | - GCConvolutionLayer |
| 490 | - GCDepthwiseConvolutionLayer |
| 491 | - GCDirectConvolutionLayer |
| 492 | - GCDropoutLayer |
| 493 | - GCFillBorder |
| 494 | - GCFullyConnectedLayer |
| 495 | - GCGEMM |
| 496 | - GCGEMMInterleave4x4 |
| 497 | - GCGEMMTranspose1xW |
| 498 | - GCNormalizationLayer |
| 499 | - GCNormalizePlanarYUVLayer |
| 500 | - GCPixelWiseMultiplication |
| 501 | - GCPoolingLayer |
| 502 | - GCScale |
| 503 | - GCSoftmaxLayer |
| 504 | - GCTensorShift |
| 505 | - GCTranspose |
| 506 | |
SiCong Li | 96209c7 | 2020-08-21 12:28:30 +0100 | [diff] [blame] | 507 | |
Georgios Pinitas | 25ef721 | 2020-06-02 23:00:41 +0100 | [diff] [blame] | 508 | v20.08 Public major release |
| 509 | - Various bug fixes. |
| 510 | - Various optimisations. |
Sheri Zhang | 3ef9b5f | 2020-07-09 16:32:58 +0100 | [diff] [blame] | 511 | - Added new data type QASYMM8_SIGNED support for: |
Sheri Zhang | dd4cfc0 | 2020-07-10 14:15:41 +0100 | [diff] [blame] | 512 | - @ref CLArgMinMaxLayer |
| 513 | - @ref CLArgMinMaxLayerKernel |
| 514 | - Added new data type U8 support for: |
| 515 | - @ref NECropKernel |
Sheri Zhang | 7e20e29 | 2021-02-02 11:49:34 +0000 | [diff] [blame] | 516 | - CLCropKernel |
Jakub Sujak | ee301b3 | 2021-06-04 09:46:08 +0100 | [diff] [blame] | 517 | - Added align_corner support for nearest neighbor interpolation in: |
Manuel Bottini | 10b3826 | 2021-02-19 18:16:44 +0000 | [diff] [blame] | 518 | - NEScaleKernel |
Manuel Bottini | 3b131ab | 2021-02-19 18:16:44 +0000 | [diff] [blame] | 519 | - CLScaleKernel |
Sheri Zhang | dd4cfc0 | 2020-07-10 14:15:41 +0100 | [diff] [blame] | 520 | - New OpenCL kernels / functions: |
| 521 | - @ref CLMaxUnpoolingLayerKernel |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 522 | - New Arm® Neon™ kernels / functions: |
Sheri Zhang | dd4cfc0 | 2020-07-10 14:15:41 +0100 | [diff] [blame] | 523 | - @ref NEMaxUnpoolingLayerKernel |
Sheri Zhang | 3ef9b5f | 2020-07-09 16:32:58 +0100 | [diff] [blame] | 524 | - New graph example: |
Sheri Zhang | dd4cfc0 | 2020-07-10 14:15:41 +0100 | [diff] [blame] | 525 | - graph_yolov3_output_detector |
Sang-Hoon Park | adfaefb | 2020-08-18 09:13:05 +0100 | [diff] [blame] | 526 | - GEMMTuner improvements: |
| 527 | - Added fp16 support |
| 528 | - Output json files for easier integration |
| 529 | - Enabled tuning for export_to_cl_image_rhs option for RHS tensors |
| 530 | - More robust script for running benchmarks |
Sheri Zhang | 3ef9b5f | 2020-07-09 16:32:58 +0100 | [diff] [blame] | 531 | - Removed padding from: |
Sheri Zhang | 1e3ab42 | 2021-03-16 17:35:08 +0000 | [diff] [blame] | 532 | - NEPixelWiseMultiplicationKernel |
Michele Di Giorgio | bd2c8e1 | 2021-01-19 15:29:02 +0000 | [diff] [blame] | 533 | - NEHeightConcatenateLayerKernel |
Michalis Spyrou | 27e67f0 | 2021-02-16 11:34:39 +0000 | [diff] [blame] | 534 | - NEThresholdKernel |
Michele Di Giorgio | bd2c8e1 | 2021-01-19 15:29:02 +0000 | [diff] [blame] | 535 | - NEBatchConcatenateLayerKernel |
Teresa Charlin | d1dc09c | 2021-03-04 15:24:45 +0000 | [diff] [blame] | 536 | - NETransposeKernel |
Sang-Hoon Park | adfaefb | 2020-08-18 09:13:05 +0100 | [diff] [blame] | 537 | - @ref NEBatchNormalizationLayerKernel |
Michele Di Giorgio | bd2c8e1 | 2021-01-19 15:29:02 +0000 | [diff] [blame] | 538 | - NEArithmeticSubtractionKernel |
Sang-Hoon Park | adfaefb | 2020-08-18 09:13:05 +0100 | [diff] [blame] | 539 | - @ref NEBoundingBoxTransformKernel |
Michalis Spyrou | 373b407 | 2021-01-20 16:41:12 +0000 | [diff] [blame] | 540 | - NELogits1DMaxKernel |
| 541 | - NELogits1DSoftmaxKernel |
Sang-Hoon Park | adfaefb | 2020-08-18 09:13:05 +0100 | [diff] [blame] | 542 | - @ref NEROIPoolingLayerKernel |
| 543 | - @ref NEROIAlignLayerKernel |
Georgios Pinitas | 0b1c2db | 2020-12-04 15:51:34 +0000 | [diff] [blame] | 544 | - NEYOLOLayerKernel |
Georgios Pinitas | c53266e | 2020-12-09 03:11:53 +0000 | [diff] [blame] | 545 | - NEUpsampleLayerKernel |
Georgios Pinitas | 70eb53b | 2021-01-06 19:42:21 +0000 | [diff] [blame] | 546 | - NEFloorKernel |
Michele Di Giorgio | bd2c8e1 | 2021-01-19 15:29:02 +0000 | [diff] [blame] | 547 | - NEWidthConcatenateLayerKernel |
| 548 | - NEDepthConcatenateLayerKernel |
Sang-Hoon Park | adfaefb | 2020-08-18 09:13:05 +0100 | [diff] [blame] | 549 | - @ref NENormalizationLayerKernel |
| 550 | - @ref NEL2NormalizeLayerKernel |
Georgios Pinitas | c6f9510 | 2021-03-30 10:03:01 +0100 | [diff] [blame] | 551 | - NEFillArrayKernel |
Georgios Pinitas | 11d8415 | 2021-04-28 10:20:18 +0100 | [diff] [blame] | 552 | - NEDepthConvertLayerKernel |
Sang-Hoon Park | adfaefb | 2020-08-18 09:13:05 +0100 | [diff] [blame] | 553 | - @ref NERangeKernel |
| 554 | - @ref NEPriorBoxLayer |
Sheri Zhang | ed36713 | 2020-10-08 15:46:16 +0100 | [diff] [blame] | 555 | - Removed OpenCL kernels / functions: |
Sang-Hoon Park | adfaefb | 2020-08-18 09:13:05 +0100 | [diff] [blame] | 556 | - CLGEMMLowpQuantizeDownInt32ToUint8Scale |
| 557 | - CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloat |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 558 | - Removed Arm® Neon™ kernels / functions: |
Sang-Hoon Park | adfaefb | 2020-08-18 09:13:05 +0100 | [diff] [blame] | 559 | - NEGEMMLowpQuantizeDownInt32ToUint8Scale |
| 560 | - NEGEMMMatrixAccumulateBiasesKernel |
SiCong Li | d004a7a | 2020-05-28 15:26:41 +0100 | [diff] [blame] | 561 | - Deprecated functions / interfaces: |
Michalis Spyrou | 473cb01 | 2021-02-23 11:48:12 +0000 | [diff] [blame] | 562 | - Non-descriptor based interfaces for NEThreshold, CLThreshold |
Manuel Bottini | ceaa0bf | 2021-02-16 15:15:19 +0000 | [diff] [blame] | 563 | - Non-descriptor based interfaces for @ref NEScale, @ref CLScale and GCScale |
| 564 | - In @ref NESoftmaxLayer, @ref NELogSoftmaxLayer, @ref CLSoftmaxLayer, @ref CLLogSoftmaxLayer and GCSoftmaxLayer : |
| 565 | The default "axis" value for @ref CLSoftmaxLayer, @ref CLLogSoftmaxLayer and GCSoftmaxLayer is changed from 1 to 0. |
morgolock | 9c7fed8 | 2020-08-05 12:30:56 +0100 | [diff] [blame] | 566 | Only axis 0 is supported. |
| 567 | The default "axis" value for @ref NESoftmaxLayer, @ref NELogSoftmaxLayer is changed from 1 to 0. |
Sang-Hoon Park | adfaefb | 2020-08-18 09:13:05 +0100 | [diff] [blame] | 568 | Only axis 0 is supported. |
Sang-Hoon Park | a0205b9 | 2020-07-07 09:36:09 +0100 | [diff] [blame] | 569 | - The support for quantized data types has been removed from @ref CLLogSoftmaxLayer due to implementation complexity. |
Georgios Pinitas | 856f66e | 2021-04-22 21:13:21 +0100 | [diff] [blame] | 570 | - Removed padding requirement for the input (e.g. LHS of GEMM) and output in CLGEMMMatrixMultiplyNativeKernel, CLGEMMMatrixMultiplyReshapedKernel, CLGEMMMatrixMultiplyReshapedOnlyRHSKernel and @ref CLIm2ColKernel (NHWC only) |
Sang-Hoon Park | adfaefb | 2020-08-18 09:13:05 +0100 | [diff] [blame] | 571 | - This change allows to use @ref CLGEMMConvolutionLayer without extra padding for the input and output. |
| 572 | - Only the weights/bias of @ref CLGEMMConvolutionLayer could require padding for the computation. |
Georgios Pinitas | 856f66e | 2021-04-22 21:13:21 +0100 | [diff] [blame] | 573 | - Only on Arm® Mali™ Midgard GPUs, @ref CLGEMMConvolutionLayer could require padding since CLGEMMMatrixMultiplyKernel is called and currently requires padding. |
| 574 | - Added support for exporting the OpenCL buffer object to the OpenCL image object in CLGEMMMatrixMultiplyReshapedKernel and CLGEMMMatrixMultiplyReshapedOnlyRHSKernel. |
Sang-Hoon Park | adfaefb | 2020-08-18 09:13:05 +0100 | [diff] [blame] | 575 | - This support allows to export the OpenCL buffer used for the reshaped RHS matrix to the OpenCL image object. |
Georgios Pinitas | 856f66e | 2021-04-22 21:13:21 +0100 | [diff] [blame] | 576 | - The padding requirement for the OpenCL image object is considered into the CLGEMMReshapeRHSMatrixKernel. |
| 577 | - The reshaped RHS matrix stores the weights when GEMM is used to accelerate CLGEMMConvolutionLayer. |
Georgios Pinitas | 25ef721 | 2020-06-02 23:00:41 +0100 | [diff] [blame] | 578 | |
Georgios Pinitas | fd7780d | 2020-03-17 11:41:00 +0000 | [diff] [blame] | 579 | v20.05 Public major release |
Georgios Pinitas | c7b183a | 2020-03-06 18:12:09 +0000 | [diff] [blame] | 580 | - Various bug fixes. |
| 581 | - Various optimisations. |
Michele Di Giorgio | 36a551f | 2020-04-23 11:55:29 +0100 | [diff] [blame] | 582 | - Updated recommended NDK version to r18b. |
| 583 | - Updated recommended gcc version to Linaro 6.3.1. |
Georgios Pinitas | c7b183a | 2020-03-06 18:12:09 +0000 | [diff] [blame] | 584 | - Added Bfloat16 type support |
| 585 | - Added Bfloat16 support in: |
| 586 | - @ref NEWeightsReshapeKernel |
| 587 | - @ref NEConvolutionLayerReshapeWeights |
| 588 | - @ref NEIm2ColKernel |
Georgios Pinitas | f7c5a41 | 2020-12-03 14:38:33 +0000 | [diff] [blame] | 589 | - NEIm2Col |
Georgios Pinitas | 11d8415 | 2021-04-28 10:20:18 +0100 | [diff] [blame] | 590 | - NEDepthConvertLayerKernel |
Georgios Pinitas | c7b183a | 2020-03-06 18:12:09 +0000 | [diff] [blame] | 591 | - @ref NEDepthConvertLayer |
| 592 | - @ref NEGEMMConvolutionLayer |
Georgios Pinitas | ec2256b | 2020-12-03 18:51:58 +0000 | [diff] [blame] | 593 | - NEGEMMAssemblyDispatch |
Sheri Zhang | 0f2522b | 2020-03-25 16:38:19 +0000 | [diff] [blame] | 594 | - Added new data type QASYMM8_SIGNED support for: |
| 595 | - @ref CLDirectConvolutionLayer |
| 596 | - @ref CLDeconvolutionLayer |
| 597 | - @ref CLDirectDeconvolutionLayer |
| 598 | - @ref CLGEMMDeconvolutionLayer |
| 599 | - @ref CLGEMMLowpMatrixMultiplyReshapedKernel |
| 600 | - @ref CLGEMMLowpQuantizeDownInt32ScaleKernel |
| 601 | - @ref CLGEMMLowpQuantizeDownInt32ScaleByFloatKernel |
| 602 | - @ref CLReductionOperation |
| 603 | - @ref CLReduceMean |
Sheri Zhang | 359c48e | 2020-04-30 22:53:39 +0100 | [diff] [blame] | 604 | - @ref NEScale |
Manuel Bottini | 10b3826 | 2021-02-19 18:16:44 +0000 | [diff] [blame] | 605 | - NEScaleKernel |
Georgios Pinitas | c53266e | 2020-12-09 03:11:53 +0000 | [diff] [blame] | 606 | - NEUpsampleLayer |
Sheri Zhang | 0f2522b | 2020-03-25 16:38:19 +0000 | [diff] [blame] | 607 | - @ref NECast |
| 608 | - @ref NEReductionOperation |
| 609 | - @ref NEReduceMean |
| 610 | - @ref NEArgMinMaxLayer |
| 611 | - @ref NEDeconvolutionLayer |
Manuel Bottini | ae58bdf | 2021-06-17 17:18:45 +0100 | [diff] [blame] | 612 | - NEGEMMLowpQuantizeDownInt32ScaleKernel |
Sheri Zhang | 0f2522b | 2020-03-25 16:38:19 +0000 | [diff] [blame] | 613 | - @ref CPPBoxWithNonMaximaSuppressionLimit |
| 614 | - @ref CPPDetectionPostProcessLayer |
| 615 | - @ref CPPPermuteKernel |
| 616 | - @ref CPPPermute |
| 617 | - @ref CPPTopKVKernel |
| 618 | - @ref CPPTopKV |
Sheri Zhang | 359c48e | 2020-04-30 22:53:39 +0100 | [diff] [blame] | 619 | - @ref CPPUpsample |
| 620 | - @ref CPPUpsampleKernel |
Sheri Zhang | 31b49ca | 2020-04-24 11:15:10 +0100 | [diff] [blame] | 621 | - New OpenCL kernels / functions: |
| 622 | - @ref CLQLSTMLayer |
| 623 | - @ref CLQLSTMLayerNormalizationKernel |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 624 | - New Arm® Neon™ kernels / functions: |
Sheri Zhang | 31b49ca | 2020-04-24 11:15:10 +0100 | [diff] [blame] | 625 | - @ref NEQLSTMLayer |
| 626 | - @ref NEQLSTMLayerNormalizationKernel |
| 627 | - Added HARD_SWISH support in: |
Georgios Pinitas | f47f718 | 2021-01-15 09:29:50 +0000 | [diff] [blame] | 628 | - CLActivationLayerKernel |
Michele Di Giorgio | bd2c8e1 | 2021-01-19 15:29:02 +0000 | [diff] [blame] | 629 | - NEActivationLayerKernel |
Sheri Zhang | 0f2522b | 2020-03-25 16:38:19 +0000 | [diff] [blame] | 630 | - Deprecated OpenCL kernels / functions: |
| 631 | - CLGEMMLowpQuantizeDownInt32ToUint8Scale |
| 632 | - CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloat |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 633 | - Deprecated Arm® Neon™ kernels / functions: |
Sheri Zhang | 0f2522b | 2020-03-25 16:38:19 +0000 | [diff] [blame] | 634 | - NEGEMMLowpQuantizeDownInt32ToUint8Scale |
| 635 | - Removed CPP kernels / functions: |
| 636 | - CPPFlipWeightsKernel |
Manuel Bottini | 387259a | 2020-05-21 17:14:36 +0100 | [diff] [blame] | 637 | - Removed PoolingLayerInfo constructors without Data Layout. |
| 638 | - Removed CLDepthwiseConvolutionLayer3x3 |
| 639 | - Removed NEDepthwiseConvolutionLayerOptimized |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 640 | - Added support for Winograd 3x3,4x4 on Arm® Neon™ FP16: |
Manuel Bottini | 075253a | 2020-05-22 12:57:18 +0100 | [diff] [blame] | 641 | - @ref NEWinogradConvolutionLayer |
| 642 | - @ref NEWinogradLayerTransformInputKernel |
| 643 | - @ref NEWinogradLayerTransformOutputKernel |
| 644 | - @ref NEWinogradLayerTransformWeightsKernel |
| 645 | - Added CLCompileContext |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 646 | - Added Arm® Neon™ GEMM kernel with 2D window support |
Georgios Pinitas | c7b183a | 2020-03-06 18:12:09 +0000 | [diff] [blame] | 647 | |
Michele Di Giorgio | 740872e | 2020-03-04 15:29:49 +0000 | [diff] [blame] | 648 | v20.02.1 Maintenance release |
| 649 | - Added Android-NN build script. |
| 650 | |
Giuseppe Rossini | f04ddbc | 2020-02-17 17:22:49 +0000 | [diff] [blame] | 651 | v20.02 Public major release |
| 652 | - Various bug fixes. |
| 653 | - Various optimisations. |
| 654 | - Added new data type QASYMM8_SIGNED support for: |
| 655 | - @ref CLDepthwiseConvolutionLayer |
Manuel Bottini | 387259a | 2020-05-21 17:14:36 +0100 | [diff] [blame] | 656 | - CLDepthwiseConvolutionLayer3x3 |
Giuseppe Rossini | f04ddbc | 2020-02-17 17:22:49 +0000 | [diff] [blame] | 657 | - @ref CLGEMMConvolutionLayer |
| 658 | - @ref CLGEMMLowpMatrixMultiplyCore |
| 659 | - @ref CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel |
| 660 | - @ref CLGEMMLowpMatrixMultiplyNativeKernel |
| 661 | - @ref NEActivationLayer |
Sang-Hoon Park | 63001ac | 2021-01-18 14:20:27 +0000 | [diff] [blame] | 662 | - NEComparisonOperationKernel |
Giuseppe Rossini | f04ddbc | 2020-02-17 17:22:49 +0000 | [diff] [blame] | 663 | - @ref NEConvolutionLayer |
| 664 | - @ref NEDepthwiseConvolutionLayer |
Georgios Pinitas | 7d0adc6 | 2020-09-04 15:25:24 +0100 | [diff] [blame] | 665 | - NEDepthwiseConvolutionLayer3x3Kernel |
Manuel Bottini | 327225d | 2021-04-13 13:09:30 +0100 | [diff] [blame] | 666 | - NEDirectConvolutionLayerOutputStageKernel |
Giuseppe Rossini | f04ddbc | 2020-02-17 17:22:49 +0000 | [diff] [blame] | 667 | - @ref NEElementwiseComparison |
| 668 | - @ref NEElementwiseMax |
| 669 | - @ref NEElementwiseMin |
| 670 | - @ref NEElementwiseSquaredDiff |
| 671 | - @ref NEFullyConnectedLayer |
Michele Di Giorgio | f22f672 | 2020-07-03 16:29:24 +0100 | [diff] [blame] | 672 | - NEGEMMMatrixVectorMultiplyKernel |
Giuseppe Rossini | f04ddbc | 2020-02-17 17:22:49 +0000 | [diff] [blame] | 673 | - @ref NEPixelWiseMultiplication |
| 674 | - @ref NEPoolingLayer |
| 675 | - @ref NEPReluLayer |
| 676 | - Added support for QSYMM8_PER_CHANNEL in: |
Georgios Pinitas | 7d0adc6 | 2020-09-04 15:25:24 +0100 | [diff] [blame] | 677 | - NEDepthwiseConvolutionLayer3x3Kernel |
Giuseppe Rossini | f04ddbc | 2020-02-17 17:22:49 +0000 | [diff] [blame] | 678 | - Added support for split sizes in: |
| 679 | - @ref CLSplit |
| 680 | - @ref NESplit |
| 681 | - New OpenCL kernels / functions: |
| 682 | - @ref CLFill |
Michele Di Giorgio | ba14c92 | 2020-10-12 13:27:57 +0100 | [diff] [blame] | 683 | - CLGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPointKernel / @ref CLGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPoint |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 684 | - New Arm® Neon™ kernels / functions: |
Giuseppe Rossini | f04ddbc | 2020-02-17 17:22:49 +0000 | [diff] [blame] | 685 | - @ref NEFill |
Manuel Bottini | ae58bdf | 2021-06-17 17:18:45 +0100 | [diff] [blame] | 686 | - NEGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPointKernel / NEGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPoint |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 687 | - Deprecated Arm® Neon™ functions / interfaces: |
Manuel Bottini | 387259a | 2020-05-21 17:14:36 +0100 | [diff] [blame] | 688 | - CLDepthwiseConvolutionLayer3x3 |
| 689 | - NEDepthwiseConvolutionLayerOptimized |
| 690 | - PoolingLayerInfo constructors without Data Layout. |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 691 | - Added support for quantization with multiplier greater than 1 on Arm® Neon™ and CL. |
Giuseppe Rossini | f04ddbc | 2020-02-17 17:22:49 +0000 | [diff] [blame] | 692 | - Added support for quantized inputs of type QASYMM8_SIGNED and QASYMM8 to @ref CLQuantizationLayer. |
| 693 | - Added the ability to build bootcode for bare metal. |
| 694 | - Added support for generating synthetic QASYMM8 graphs. |
| 695 | - Added support for F16 datatype in VGG16. |
| 696 | - Removed pre-built binaries for GLES. |
| 697 | |
Michele Di Giorgio | d374ff2 | 2020-01-21 10:03:20 +0000 | [diff] [blame] | 698 | v19.11.1 Public maintenance release |
| 699 | - Fix offset calculation in NEReductionOperationKernel. |
| 700 | - Fix data layout in NEScaleKernel for nhwc. |
| 701 | - Retain configuration step data layout to avoid side-effects. |
| 702 | - Perform sqrt in double domain for L2 pooling. |
| 703 | - Fix output shape calculation for Reduce Mean |
| 704 | - Restrict cases where optimized NEPadLayer runs. |
| 705 | |
Michele Di Giorgio | a046e16 | 2019-10-08 09:36:26 +0100 | [diff] [blame] | 706 | v19.11 Public major release |
SiCong Li | ca1f98c | 2019-11-28 11:06:11 +0000 | [diff] [blame] | 707 | - Various bug fixes. |
| 708 | - Various optimisations. |
SiCong Li | 1f7f988 | 2019-11-28 14:59:35 +0000 | [diff] [blame] | 709 | - Updated recommended NDK version to r17c. |
SiCong Li | ca1f98c | 2019-11-28 11:06:11 +0000 | [diff] [blame] | 710 | - Deprecated OpenCL kernels / functions: |
Michele Di Giorgio | a046e16 | 2019-10-08 09:36:26 +0100 | [diff] [blame] | 711 | - CLDepthwiseConvolutionLayerReshapeWeightsGenericKernel |
| 712 | - CLDepthwiseIm2ColKernel |
SiCong Li | ca1f98c | 2019-11-28 11:06:11 +0000 | [diff] [blame] | 713 | - CLDepthwiseSeparableConvolutionLayer |
Michele Di Giorgio | a046e16 | 2019-10-08 09:36:26 +0100 | [diff] [blame] | 714 | - CLDepthwiseVectorToTensorKernel |
| 715 | - CLDirectConvolutionLayerOutputStageKernel |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 716 | - Deprecated Arm® Neon™ kernels / functions: |
Giorgio Arena | d93e263 | 2019-10-15 11:09:33 +0100 | [diff] [blame] | 717 | - NEDepthwiseWeightsReshapeKernel |
| 718 | - NEDepthwiseIm2ColKernel |
SiCong Li | ca1f98c | 2019-11-28 11:06:11 +0000 | [diff] [blame] | 719 | - NEDepthwiseSeparableConvolutionLayer |
Giorgio Arena | d93e263 | 2019-10-15 11:09:33 +0100 | [diff] [blame] | 720 | - NEDepthwiseVectorToTensorKernel |
Manuel Bottini | 05069f0 | 2019-09-26 17:18:26 +0100 | [diff] [blame] | 721 | - NEDepthwiseConvolutionLayer3x3 |
SiCong Li | ca1f98c | 2019-11-28 11:06:11 +0000 | [diff] [blame] | 722 | - New OpenCL kernels / functions: |
| 723 | - @ref CLInstanceNormalizationLayerKernel / @ref CLInstanceNormalizationLayer |
| 724 | - @ref CLDepthwiseConvolutionLayerNativeKernel to replace the old generic depthwise convolution (see Deprecated |
| 725 | OpenCL kernels / functions) |
| 726 | - @ref CLLogSoftmaxLayer |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 727 | - New Arm® Neon™ kernels / functions: |
SiCong Li | ca1f98c | 2019-11-28 11:06:11 +0000 | [diff] [blame] | 728 | - @ref NEBoundingBoxTransformKernel / @ref NEBoundingBoxTransform |
Georgios Pinitas | 8c3c0e7 | 2020-12-03 20:11:53 +0000 | [diff] [blame] | 729 | - @ref NEComputeAllAnchorsKernel / NEComputeAllAnchors |
SiCong Li | ca1f98c | 2019-11-28 11:06:11 +0000 | [diff] [blame] | 730 | - @ref NEDetectionPostProcessLayer |
| 731 | - @ref NEGenerateProposalsLayer |
| 732 | - @ref NEInstanceNormalizationLayerKernel / @ref NEInstanceNormalizationLayer |
| 733 | - @ref NELogSoftmaxLayer |
| 734 | - @ref NEROIAlignLayerKernel / @ref NEROIAlignLayer |
| 735 | - Added QASYMM8 support for: |
| 736 | - @ref CLGenerateProposalsLayer |
| 737 | - @ref CLROIAlignLayer |
| 738 | - @ref CPPBoxWithNonMaximaSuppressionLimit |
| 739 | - Added QASYMM16 support for: |
| 740 | - @ref CLBoundingBoxTransform |
| 741 | - Added FP16 support for: |
Georgios Pinitas | 856f66e | 2021-04-22 21:13:21 +0100 | [diff] [blame] | 742 | - CLGEMMMatrixMultiplyReshapedKernel |
SiCong Li | ca1f98c | 2019-11-28 11:06:11 +0000 | [diff] [blame] | 743 | - Added new data type QASYMM8_PER_CHANNEL support for: |
Manuel Bottini | 9e73c93 | 2021-03-02 17:40:42 +0000 | [diff] [blame] | 744 | - CLDequantizationLayer |
SiCong Li | ca1f98c | 2019-11-28 11:06:11 +0000 | [diff] [blame] | 745 | - @ref NEDequantizationLayer |
| 746 | - Added new data type QSYMM8_PER_CHANNEL support for: |
| 747 | - @ref CLConvolutionLayer |
| 748 | - @ref NEConvolutionLayer |
| 749 | - @ref CLDepthwiseConvolutionLayer |
| 750 | - @ref NEDepthwiseConvolutionLayer |
| 751 | - Added FP16 mixed-precision support for: |
Georgios Pinitas | 856f66e | 2021-04-22 21:13:21 +0100 | [diff] [blame] | 752 | - CLGEMMMatrixMultiplyReshapedKernel |
Michele Di Giorgio | e131466 | 2021-02-01 17:09:32 +0000 | [diff] [blame] | 753 | - CLPoolingLayerKernel |
SiCong Li | ca1f98c | 2019-11-28 11:06:11 +0000 | [diff] [blame] | 754 | - Added FP32 and FP16 ELU activation for: |
| 755 | - @ref CLActivationLayer |
| 756 | - @ref NEActivationLayer |
| 757 | - Added asymmetric padding support for: |
| 758 | - @ref CLDirectDeconvolutionLayer |
| 759 | - @ref CLGEMMDeconvolutionLayer |
| 760 | - @ref NEDeconvolutionLayer |
| 761 | - Added SYMMETRIC and REFLECT modes for @ref CLPadLayerKernel / @ref CLPadLayer. |
Georgios Pinitas | 0f7ef8a | 2021-01-10 04:23:52 +0000 | [diff] [blame] | 762 | - Replaced the calls to NECopyKernel and NEMemsetKernel with @ref NEPadLayer in @ref NEGenerateProposalsLayer. |
| 763 | - Replaced the calls to CLCopyKernel and CLMemsetKernel with @ref CLPadLayer in @ref CLGenerateProposalsLayer. |
SiCong Li | ca1f98c | 2019-11-28 11:06:11 +0000 | [diff] [blame] | 764 | - Improved performance for CL Inception V3 - FP16. |
| 765 | - Improved accuracy for CL Inception V3 - FP16 by enabling FP32 accumulator (mixed-precision). |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 766 | - Improved Arm® Neon™ performance by enabling fusing batch normalization with convolution and depth-wise convolution layer. |
| 767 | - Improved Arm® Neon™ performance for MobileNet-SSD by improving the output detection performance. |
SiCong Li | ca1f98c | 2019-11-28 11:06:11 +0000 | [diff] [blame] | 768 | - Optimized @ref CLPadLayer. |
| 769 | - Optimized CL generic depthwise convolution layer by introducing @ref CLDepthwiseConvolutionLayerNativeKernel. |
| 770 | - Reduced memory consumption by implementing weights sharing. |
Michele Di Giorgio | a046e16 | 2019-10-08 09:36:26 +0100 | [diff] [blame] | 771 | |
Michele Di Giorgio | d374ff2 | 2020-01-21 10:03:20 +0000 | [diff] [blame] | 772 | v19.08.1 Public maintenance release |
| 773 | - Fix offset calculation in NEReductionOperationKernel. |
| 774 | - Fix data layout in NEScaleKernel for nhwc. |
| 775 | - Retain configuration step data layout to avoid side-effects. |
| 776 | - Perform sqrt in double domain for L2 pooling. |
| 777 | - Fix output shape calculation for Reduce Mean |
| 778 | - Fix broadcast CLPixelwiseMultiplication with 5D tensors |
| 779 | |
Georgios Pinitas | 3d13af8 | 2019-06-04 13:04:16 +0100 | [diff] [blame] | 780 | v19.08 Public major release |
| 781 | - Various bug fixes. |
| 782 | - Various optimisations. |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 783 | - Deprecated Arm® Neon™ functions |
Gian Marco Iodice | cc2f54b | 2019-08-22 10:10:52 +0100 | [diff] [blame] | 784 | - NEDepthConcatenateLayer |
| 785 | - NEWidthConcatenateLayer |
| 786 | - Deprecated OpenCL kernels / functions |
| 787 | - CLDepthConcatenateLayer |
| 788 | - CLGEMMInterleave4x4Kernel / CLGEMMInterleave4x4 |
| 789 | - CLGEMMTranspose1xWKernel / CLGEMMTranspose1xW |
| 790 | - CLWidthConcatenateLayer |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 791 | - New Arm® Neon™ kernels / functions: |
Gian Marco Iodice | c5f48ad | 2019-09-02 09:52:12 +0100 | [diff] [blame] | 792 | - @ref NEAbsLayer |
Gian Marco Iodice | cc2f54b | 2019-08-22 10:10:52 +0100 | [diff] [blame] | 793 | - @ref NECast |
Gian Marco Iodice | c5f48ad | 2019-09-02 09:52:12 +0100 | [diff] [blame] | 794 | - @ref NEElementwisePower |
| 795 | - @ref NELogLayer |
Gian Marco Iodice | cc2f54b | 2019-08-22 10:10:52 +0100 | [diff] [blame] | 796 | - @ref NELSTMLayerQuantized |
Gian Marco Iodice | c5f48ad | 2019-09-02 09:52:12 +0100 | [diff] [blame] | 797 | - @ref NENegLayer |
Gian Marco Iodice | cc2f54b | 2019-08-22 10:10:52 +0100 | [diff] [blame] | 798 | - @ref NEPReluLayer |
Gian Marco Iodice | c5f48ad | 2019-09-02 09:52:12 +0100 | [diff] [blame] | 799 | - @ref NESinLayer |
Michele Di Giorgio | bd2c8e1 | 2021-01-19 15:29:02 +0000 | [diff] [blame] | 800 | - NEBatchConcatenateLayerKernel |
Gian Marco Iodice | cc2f54b | 2019-08-22 10:10:52 +0100 | [diff] [blame] | 801 | - @ref NEDepthToSpaceLayerKernel / @ref NEDepthToSpaceLayer |
Michalis Spyrou | 60c3b0e | 2021-04-08 12:02:58 +0100 | [diff] [blame] | 802 | - NEDepthwiseConvolutionLayerNativeKernel |
Manuel Bottini | ae58bdf | 2021-06-17 17:18:45 +0100 | [diff] [blame] | 803 | - NEGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPointKernel |
Gian Marco Iodice | cc2f54b | 2019-08-22 10:10:52 +0100 | [diff] [blame] | 804 | - @ref NEMeanStdDevNormalizationKernel / @ref NEMeanStdDevNormalizationLayer |
| 805 | - @ref NESpaceToDepthLayerKernel / @ref NESpaceToDepthLayer |
| 806 | - New OpenCL kernels / functions: |
Gian Marco Iodice | c5f48ad | 2019-09-02 09:52:12 +0100 | [diff] [blame] | 807 | - @ref CLAbsLayer |
| 808 | - @ref CLElementwisePower |
| 809 | - @ref CLLogLayer |
Gian Marco Iodice | cc2f54b | 2019-08-22 10:10:52 +0100 | [diff] [blame] | 810 | - @ref CLLSTMLayerQuantized |
Gian Marco Iodice | c5f48ad | 2019-09-02 09:52:12 +0100 | [diff] [blame] | 811 | - @ref CLNegLayer |
Gian Marco Iodice | cc2f54b | 2019-08-22 10:10:52 +0100 | [diff] [blame] | 812 | - @ref CLPReluLayer |
Gian Marco Iodice | c5f48ad | 2019-09-02 09:52:12 +0100 | [diff] [blame] | 813 | - @ref CLSinLayer |
Michele Di Giorgio | 7d61ff0 | 2021-01-18 21:15:59 +0000 | [diff] [blame] | 814 | - CLBatchConcatenateLayerKernel |
Gian Marco Iodice | cc2f54b | 2019-08-22 10:10:52 +0100 | [diff] [blame] | 815 | - @ref CLDepthToSpaceLayerKernel / @ref CLDepthToSpaceLayer |
Georgios Pinitas | 856f66e | 2021-04-22 21:13:21 +0100 | [diff] [blame] | 816 | - CLGEMMLowpMatrixMultiplyNativeKernel |
Michele Di Giorgio | ba14c92 | 2020-10-12 13:27:57 +0100 | [diff] [blame] | 817 | - CLGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPointKernel |
Georgios Pinitas | 856f66e | 2021-04-22 21:13:21 +0100 | [diff] [blame] | 818 | - CLGEMMMatrixMultiplyNativeKernel |
Michalis Spyrou | 473cb01 | 2021-02-23 11:48:12 +0000 | [diff] [blame] | 819 | - CLMeanStdDevNormalizationKernel /CLMeanStdDevNormalizationLayer |
Gian Marco Iodice | cc2f54b | 2019-08-22 10:10:52 +0100 | [diff] [blame] | 820 | - @ref CLSpaceToDepthLayerKernel / @ref CLSpaceToDepthLayer |
| 821 | - New examples: |
| 822 | - neon_opticalflow |
| 823 | - cl_cache |
| 824 | - neon_permute |
Gian Marco Iodice | c5f48ad | 2019-09-02 09:52:12 +0100 | [diff] [blame] | 825 | - Added support for FP16 in @ref NEDeconvolutionLayer |
| 826 | - Added support for FP16 in @ref CLDeconvolutionLayer |
| 827 | - Added support for REDUCE_MIN and REDUCE_MAX in @ref ReductionOperation |
Gian Marco Iodice | cc2f54b | 2019-08-22 10:10:52 +0100 | [diff] [blame] | 828 | - Enable the fusion of batch normalization with convolution and depthwise convolution layer for FP32 in the graph API (OpenCL only) |
| 829 | - Added support for fusing activation function and broadcast addition with the matrix multiplication for FP32 (OpenCL only) |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 830 | - Re-factored the depthwise convolution layer kernel on Arm® Neon™ for generic cases |
Jakub Sujak | ee301b3 | 2021-06-04 09:46:08 +0100 | [diff] [blame] | 831 | - Added an optimized depthwise convolution layer kernel for 5x5 filters (Neon™ only) |
Gian Marco Iodice | cc2f54b | 2019-08-22 10:10:52 +0100 | [diff] [blame] | 832 | - Added support to enable OpenCL kernel cache. Added example showing how to load the prebuilt OpenCL kernels from a binary cache file |
| 833 | - Altered @ref QuantizationInfo interface to support per-channel quantization. |
Manuel Bottini | 387259a | 2020-05-21 17:14:36 +0100 | [diff] [blame] | 834 | - The CLDepthwiseConvolutionLayer3x3 will be included by @ref CLDepthwiseConvolutionLayer to accommodate for future optimizations. |
| 835 | - The NEDepthwiseConvolutionLayerOptimized will be included by @ref NEDepthwiseConvolutionLayer to accommodate for future optimizations. |
Gian Marco Iodice | cc2f54b | 2019-08-22 10:10:52 +0100 | [diff] [blame] | 836 | - Removed inner_border_right and inner_border_top parameters from @ref CLDeconvolutionLayer interface |
| 837 | - Removed inner_border_right and inner_border_top parameters from @ref NEDeconvolutionLayer interface |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 838 | - Optimized the Arm® Neon™ assembly kernel for GEMMLowp. The new implementation fuses the output stage and quantization with the matrix multiplication kernel |
Georgios Pinitas | 3d13af8 | 2019-06-04 13:04:16 +0100 | [diff] [blame] | 839 | |
Michalis Spyrou | a9c4472 | 2019-04-05 17:18:36 +0100 | [diff] [blame] | 840 | v19.05 Public major release |
Michalis Spyrou | c6608ac | 2019-05-16 17:40:23 +0100 | [diff] [blame] | 841 | - Various bug fixes. |
| 842 | - Various optimisations. |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 843 | - New Arm® Neon™ kernels / functions: |
Georgios Pinitas | f790fdb | 2019-04-24 12:41:25 +0100 | [diff] [blame] | 844 | - @ref NEBatchToSpaceLayerKernel / @ref NEBatchToSpaceLayer |
Sheri Zhang | 1e3ab42 | 2021-03-16 17:35:08 +0000 | [diff] [blame] | 845 | - NEComplexPixelWiseMultiplicationKernel / @ref NEComplexPixelWiseMultiplication |
Georgios Pinitas | f790fdb | 2019-04-24 12:41:25 +0100 | [diff] [blame] | 846 | - @ref NECropKernel / @ref NECropResize |
Michalis Spyrou | 60c3b0e | 2021-04-08 12:02:58 +0100 | [diff] [blame] | 847 | - NEDepthwiseConvolutionAssemblyDispatch |
Michalis Spyrou | ca82e62 | 2019-05-10 16:43:20 +0100 | [diff] [blame] | 848 | - @ref NEFFTDigitReverseKernel |
| 849 | - @ref NEFFTRadixStageKernel |
| 850 | - @ref NEFFTScaleKernel |
Georgios Pinitas | f790fdb | 2019-04-24 12:41:25 +0100 | [diff] [blame] | 851 | - @ref NEGEMMLowpOffsetContributionOutputStageKernel |
Michele Di Giorgio | bd2c8e1 | 2021-01-19 15:29:02 +0000 | [diff] [blame] | 852 | - NEHeightConcatenateLayerKernel |
Georgios Pinitas | f790fdb | 2019-04-24 12:41:25 +0100 | [diff] [blame] | 853 | - @ref NESpaceToBatchLayerKernel / @ref NESpaceToBatchLayer |
Michalis Spyrou | d7dd15c | 2019-05-30 14:53:58 +0100 | [diff] [blame] | 854 | - @ref NEFFT1D |
| 855 | - @ref NEFFT2D |
| 856 | - @ref NEFFTConvolutionLayer |
Georgios Pinitas | f790fdb | 2019-04-24 12:41:25 +0100 | [diff] [blame] | 857 | - New OpenCL kernels / functions: |
Sheri Zhang | f9ab9f9 | 2021-03-16 12:09:15 +0000 | [diff] [blame] | 858 | - CLComplexPixelWiseMultiplicationKernel / @ref CLComplexPixelWiseMultiplication |
Sheri Zhang | 7e20e29 | 2021-02-02 11:49:34 +0000 | [diff] [blame] | 859 | - CLCropKernel / @ref CLCropResize |
Michalis Spyrou | d7dd15c | 2019-05-30 14:53:58 +0100 | [diff] [blame] | 860 | - @ref CLDeconvolutionReshapeOutputKernel |
Georgios Pinitas | f790fdb | 2019-04-24 12:41:25 +0100 | [diff] [blame] | 861 | - @ref CLFFTDigitReverseKernel |
| 862 | - @ref CLFFTRadixStageKernel |
| 863 | - @ref CLFFTScaleKernel |
| 864 | - @ref CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel |
Georgios Pinitas | 856f66e | 2021-04-22 21:13:21 +0100 | [diff] [blame] | 865 | - CLGEMMMatrixMultiplyReshapedOnlyRHSKernel |
Michele Di Giorgio | 7d61ff0 | 2021-01-18 21:15:59 +0000 | [diff] [blame] | 866 | - CLHeightConcatenateLayerKernel |
Georgios Pinitas | f790fdb | 2019-04-24 12:41:25 +0100 | [diff] [blame] | 867 | - @ref CLDirectDeconvolutionLayer |
| 868 | - @ref CLFFT1D |
| 869 | - @ref CLFFT2D |
| 870 | - @ref CLFFTConvolutionLayer |
Michalis Spyrou | ca82e62 | 2019-05-10 16:43:20 +0100 | [diff] [blame] | 871 | - @ref CLGEMMDeconvolutionLayer |
| 872 | - New OpenGLES kernels / functions: |
Manuel Bottini | ceaa0bf | 2021-02-16 15:15:19 +0000 | [diff] [blame] | 873 | - GCConcatenateLayer |
Michalis Spyrou | a9c4472 | 2019-04-05 17:18:36 +0100 | [diff] [blame] | 874 | - Deprecated functions/interfaces |
Georgios Pinitas | 09f2497 | 2019-05-17 18:14:40 +0100 | [diff] [blame] | 875 | - GCDepthConcatenateLayer |
| 876 | - NEWidthConcatenateLayer |
| 877 | - NEDepthConcatenateLayer |
| 878 | - CLWidthConcatenateLayer |
| 879 | - CLDepthConcatenateLayer |
Gian Marco Iodice | 5fc07aa | 2019-05-15 17:08:02 +0100 | [diff] [blame] | 880 | - CLGEMMInterleave4x4 |
| 881 | - CLGEMMTranspose1xW |
Michalis Spyrou | c6608ac | 2019-05-16 17:40:23 +0100 | [diff] [blame] | 882 | - Support different quantization info in CLConcatLayer. |
| 883 | - Add checks on different input/output quantization info were not supported. |
| 884 | - Tensors have different quantization information. |
| 885 | - Add FP16 support checks. |
| 886 | - Fix output quantization CLDeptwiseConv3x3 when activation is fused. |
| 887 | - New graph examples: |
| 888 | - graph_convolution |
| 889 | - graph_fully_connected |
| 890 | - graph_depthwise_convolution |
| 891 | - Deepspeech v0.4.1 |
| 892 | - Add support for QASYMM8 in NEArithmeticSubtractionKernel. |
| 893 | - Add support for QASYMM8 in NEPixelWiseMultiplicationKernel. |
| 894 | - Add support for QASYMM8 NEDeconvolution. |
Sheri Zhang | ac6499a | 2021-02-10 15:32:38 +0000 | [diff] [blame] | 895 | - Add support for DequantizationLayer for Neon/CL. |
Michalis Spyrou | c6608ac | 2019-05-16 17:40:23 +0100 | [diff] [blame] | 896 | - Add support for dilation in CLDepthwiseConvolution. |
| 897 | - Fuse offset contribution with the output stage when we use NEGEMMLowpMatrixMultiplyCore. |
| 898 | - Optimize CLDeconvolution. |
| 899 | - Add StackLayer to the graph API. |
| 900 | - Add support for "reflect" padding mode in NEPad. |
| 901 | - Winograd 7x7 NHWC on OpenCL. |
| 902 | - Rework CL ML layers to run exclusively on CL. |
| 903 | - Support different quantization info in PoolingLayer. |
| 904 | - Implement and test import memory interfaces. |
| 905 | - Added new tests and removed old ones. |
| 906 | - Various clang-tidy fixes. |
Michalis Spyrou | a9c4472 | 2019-04-05 17:18:36 +0100 | [diff] [blame] | 907 | |
giuros01 | a69a88b | 2019-01-31 16:29:19 +0000 | [diff] [blame] | 908 | v19.02 Public major release |
Isabella Gottardi | 6253897 | 2019-02-12 19:52:44 +0000 | [diff] [blame] | 909 | - Various bug fixes. |
| 910 | - Various optimisations. |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 911 | - New Arm® Neon™ kernels / functions: |
Isabella Gottardi | 6253897 | 2019-02-12 19:52:44 +0000 | [diff] [blame] | 912 | - @ref NETileKernel / @ref NETile |
| 913 | - @ref NEFuseBatchNormalizationKernel / @ref NEFuseBatchNormalization |
Sang-Hoon Park | 63001ac | 2021-01-18 14:20:27 +0000 | [diff] [blame] | 914 | - NEElementwiseOperationKernel |
Isabella Gottardi | 6253897 | 2019-02-12 19:52:44 +0000 | [diff] [blame] | 915 | - @ref NEElementwiseMax |
| 916 | - @ref NEElementwiseMin |
| 917 | - @ref NEElementwiseSquaredDiff |
| 918 | - @ref NESelectKernel / @ref NESelect |
| 919 | - @ref NESplit |
| 920 | - @ref NESlice |
| 921 | - @ref NEUnstack |
| 922 | - @ref NEStridedSliceKernel / @ref NEStridedSlice |
Sang-Hoon Park | 7249f15 | 2021-01-22 11:55:03 +0000 | [diff] [blame] | 923 | - NEElementwiseUnaryKernel |
Isabella Gottardi | 6253897 | 2019-02-12 19:52:44 +0000 | [diff] [blame] | 924 | - @ref NERsqrtLayer |
| 925 | - @ref NEExpLayer |
| 926 | - @ref NEReverseKernel / @ref NEReverse |
| 927 | - @ref NEArgMinMaxLayer |
| 928 | - @ref NEStackLayerKernel / @ref NEStackLayer |
| 929 | - @ref NERangeKernel / @ref NERange |
| 930 | - @ref NEPadLayer |
Georgios Pinitas | 0f7ef8a | 2021-01-10 04:23:52 +0000 | [diff] [blame] | 931 | - NEMemsetKernel |
Isabella Gottardi | 6253897 | 2019-02-12 19:52:44 +0000 | [diff] [blame] | 932 | - @ref NEGatherKernel / @ref NEGather |
| 933 | - @ref NEElementwiseComparison |
| 934 | - @ref NEElementwiseComparisonStatic |
Sang-Hoon Park | 63001ac | 2021-01-18 14:20:27 +0000 | [diff] [blame] | 935 | - NEComparisonOperationKernel |
Isabella Gottardi | 6253897 | 2019-02-12 19:52:44 +0000 | [diff] [blame] | 936 | - @ref NEElementwiseDivision |
| 937 | - New OpenCL kernels / functions: |
| 938 | - @ref CLSelectKernel / @ref CLSelect |
| 939 | - @ref CLTileKernel / @ref CLTile |
| 940 | - @ref CLComparisonKernel / @ref CLComparison |
| 941 | - @ref CLArgMinMaxLayer |
| 942 | - @ref CLElementwiseMax |
| 943 | - @ref CLElementwiseMin |
| 944 | - @ref CLElementwiseSquaredDiff |
| 945 | - @ref CLStackLayerKernel / @ref CLStackLayer |
| 946 | - @ref CLReverse / @ref CLReverseKernel |
| 947 | - @ref CLRsqrtLayer |
| 948 | - @ref CLExpLayer |
Michele Di Giorgio | c9c8905 | 2021-01-26 10:20:17 +0000 | [diff] [blame] | 949 | - CLElementWiseUnaryLayerKernel |
Georgios Pinitas | 856f66e | 2021-04-22 21:13:21 +0100 | [diff] [blame] | 950 | - CLGEMMReshapeLHSMatrixKernel |
| 951 | - CLGEMMReshapeRHSMatrixKernel |
| 952 | - CLGEMMMatrixMultiplyReshapedKernel |
Isabella Gottardi | 6253897 | 2019-02-12 19:52:44 +0000 | [diff] [blame] | 953 | - @ref CLRangeKernel / @ref CLRange |
| 954 | - @ref CLUnstack |
| 955 | - @ref CLGatherKernel / @ref CLGather |
| 956 | - @ref CLGEMMLowpMatrixMultiplyReshapedKernel |
| 957 | - New CPP kernels / functions: |
| 958 | - @ref CPPDetectionOutputLayer |
| 959 | - @ref CPPTopKV / @ref CPPTopKVKernel |
Isabella Gottardi | 6253897 | 2019-02-12 19:52:44 +0000 | [diff] [blame] | 960 | - Added new examples: |
| 961 | - graph_ssd_mobilenet.cpp |
| 962 | - graph_mobilenet_v2.cpp |
| 963 | - graph_resnet12.cpp |
| 964 | - graph_srcnn955.cpp |
| 965 | - graph_vgg_vdsr.cpp |
| 966 | - graph_inception_resnet_v1.cpp |
| 967 | - Add 4D tensors support to |
| 968 | - @ref NESoftmaxLayer |
| 969 | - Fused activation in @ref CLWinogradConvolutionLayer |
Jakub Sujak | ee301b3 | 2021-06-04 09:46:08 +0100 | [diff] [blame] | 970 | - Extended @ref NEPermute to support more cases |
| 971 | - Added Neon™/SVE GEMM Hybrid kernels |
Isabella Gottardi | 6253897 | 2019-02-12 19:52:44 +0000 | [diff] [blame] | 972 | - Added u8 and s8 hybrid assembly kernels |
| 973 | - Introduced GEMM strategy name in NEGEMMAssemblyWrapper |
| 974 | - Improved @ref CLTuner |
| 975 | - Fused the bias addition within @ref CLGEMM |
| 976 | - Added support for QASYMM8 LOGISTIC activation in @ref NEActivationLayer |
| 977 | - Added NHWC data layout support to: |
| 978 | - @ref NEScale for F16 |
| 979 | - @ref CLNormalizationLayer IN_MAP_2D for FP32/FP16 |
| 980 | - @ref NEL2NormalizeLayer for FP32/FP16 |
| 981 | - @ref NENormalizationLayer IN_MAP_2D for FP32/FP16 |
| 982 | - @ref CLROIAlignLayer |
Manuel Bottini | 5209be5 | 2019-02-13 16:34:56 +0000 | [diff] [blame] | 983 | - @ref CLGenerateProposalsLayer |
Isabella Gottardi | 6253897 | 2019-02-12 19:52:44 +0000 | [diff] [blame] | 984 | - Added QASYMM8 support to the following kernels: |
Michele Di Giorgio | bd2c8e1 | 2021-01-19 15:29:02 +0000 | [diff] [blame] | 985 | - NEArithmeticAdditionKernel |
Isabella Gottardi | 6253897 | 2019-02-12 19:52:44 +0000 | [diff] [blame] | 986 | - @ref NEScale |
| 987 | - Added new tests and improved validation and benchmarking suites. |
giuros01 | a69a88b | 2019-01-31 16:29:19 +0000 | [diff] [blame] | 988 | - Deprecated functions/interfaces |
| 989 | - Usage of inner_border_right and inner_border_top has been deprecated in @ref CLDeconvolutionLayer and @ref NEDeconvolutionLayer |
| 990 | |
Isabella Gottardi | 8773d7c | 2018-11-20 09:56:46 +0000 | [diff] [blame] | 991 | v18.11 Public major release |
| 992 | - Various bug fixes. |
| 993 | - Various optimisations. |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 994 | - New Arm® Neon™ kernels / functions: |
Isabella Gottardi | 8773d7c | 2018-11-20 09:56:46 +0000 | [diff] [blame] | 995 | - @ref NEChannelShuffleLayer / @ref NEChannelShuffleLayerKernel |
| 996 | - @ref NEReduceMean |
| 997 | - @ref NEReorgLayer / @ref NEReorgLayerKernel |
| 998 | - @ref NEPriorBoxLayer / @ref NEPriorBoxLayerKernel |
Georgios Pinitas | c53266e | 2020-12-09 03:11:53 +0000 | [diff] [blame] | 999 | - NEUpsampleLayer / NEUpsampleLayerKernel |
Georgios Pinitas | 0b1c2db | 2020-12-04 15:51:34 +0000 | [diff] [blame] | 1000 | - NEYOLOLayer / NEYOLOLayerKernel |
Isabella Gottardi | 8773d7c | 2018-11-20 09:56:46 +0000 | [diff] [blame] | 1001 | - New OpenCL kernels / functions: |
| 1002 | - @ref CLBatchToSpaceLayer / @ref CLBatchToSpaceLayerKernel |
| 1003 | - @ref CLBoundingBoxTransform / @ref CLBoundingBoxTransformKernel |
Manuel Bottini | 5209be5 | 2019-02-13 16:34:56 +0000 | [diff] [blame] | 1004 | - @ref CLComputeAllAnchorsKernel |
| 1005 | - @ref CLGenerateProposalsLayer |
Isabella Gottardi | 8773d7c | 2018-11-20 09:56:46 +0000 | [diff] [blame] | 1006 | - @ref CLNormalizePlanarYUVLayer / @ref CLNormalizePlanarYUVLayerKernel |
| 1007 | - @ref CLReorgLayer / @ref CLReorgLayerKernel |
| 1008 | - @ref CLSpaceToBatchLayer / @ref CLSpaceToBatchLayerKernel |
| 1009 | - @ref CLPadLayer |
| 1010 | - @ref CLReduceMean |
| 1011 | - @ref CLPriorBoxLayer / @ref CLPriorBoxLayerKernel |
| 1012 | - @ref CLROIAlignLayer / @ref CLROIAlignLayerKernel |
| 1013 | - @ref CLSlice |
| 1014 | - @ref CLSplit |
| 1015 | - @ref CLStridedSlice / @ref CLStridedSliceKernel |
Georgios Pinitas | c53266e | 2020-12-09 03:11:53 +0000 | [diff] [blame] | 1016 | - CLUpsampleLayer / CLUpsampleLayerKernel |
Georgios Pinitas | 0b1c2db | 2020-12-04 15:51:34 +0000 | [diff] [blame] | 1017 | - CLYOLOLayer / CLYOLOLayerKernel |
Isabella Gottardi | 8773d7c | 2018-11-20 09:56:46 +0000 | [diff] [blame] | 1018 | - New CPP kernels / functions: |
| 1019 | - @ref CPPBoxWithNonMaximaSuppressionLimit / @ref CPPBoxWithNonMaximaSuppressionLimitKernel |
| 1020 | - Added the validate method in: |
| 1021 | - @ref NEDepthConvertLayer |
| 1022 | - @ref NEFloor / @ref CLFloor |
| 1023 | - @ref NEGEMMMatrixAdditionKernel |
| 1024 | - @ref NEReshapeLayer / @ref CLReshapeLayer |
| 1025 | - @ref CLScale |
| 1026 | - Added new examples: |
| 1027 | - graph_shufflenet.cpp |
| 1028 | - graph_yolov3.cpp |
| 1029 | - Added documentation for add a new function or kernel. |
| 1030 | - Improved doxygen documentation adding a list of the existing functions. |
| 1031 | - Add 4D tensors support to |
Georgios Pinitas | 09f2497 | 2019-05-17 18:14:40 +0100 | [diff] [blame] | 1032 | - CLWidthConcatenateLayer |
Georgios Pinitas | e2696b1 | 2020-12-03 20:37:43 +0000 | [diff] [blame] | 1033 | - CLFlattenLayer |
Isabella Gottardi | 8773d7c | 2018-11-20 09:56:46 +0000 | [diff] [blame] | 1034 | - @ref CLSoftmaxLayer |
Gian Marco Iodice | 561c176 | 2021-04-16 15:08:59 +0100 | [diff] [blame^] | 1035 | - Add dot product support for CLDepthwiseConvolutionLayer3x3NHWCKernel non-unit stride |
Isabella Gottardi | 8773d7c | 2018-11-20 09:56:46 +0000 | [diff] [blame] | 1036 | - Add SVE support |
| 1037 | - Fused batch normalization into convolution layer weights in @ref CLFuseBatchNormalization |
Gian Marco Iodice | 561c176 | 2021-04-16 15:08:59 +0100 | [diff] [blame^] | 1038 | - Fuses activation in CLDepthwiseConvolutionLayer3x3NCHWKernel, CLDepthwiseConvolutionLayer3x3NHWCKernel and @ref NEGEMMConvolutionLayer |
Isabella Gottardi | 8773d7c | 2018-11-20 09:56:46 +0000 | [diff] [blame] | 1039 | - Added NHWC data layout support to: |
| 1040 | - @ref CLChannelShuffleLayer |
| 1041 | - @ref CLDeconvolutionLayer |
| 1042 | - @ref CLL2NormalizeLayer |
| 1043 | - Added QASYMM8 support to the following kernels: |
Manuel Bottini | 3b131ab | 2021-02-19 18:16:44 +0000 | [diff] [blame] | 1044 | - CLScaleKernel |
Georgios Pinitas | 7d0adc6 | 2020-09-04 15:25:24 +0100 | [diff] [blame] | 1045 | - NEDepthwiseConvolutionLayer3x3Kernel |
Sheri Zhang | f9ab9f9 | 2021-03-16 12:09:15 +0000 | [diff] [blame] | 1046 | - CLPixelWiseMultiplicationKernel |
Isabella Gottardi | 8773d7c | 2018-11-20 09:56:46 +0000 | [diff] [blame] | 1047 | - Added FP16 support to the following kernels: |
Gian Marco Iodice | 561c176 | 2021-04-16 15:08:59 +0100 | [diff] [blame^] | 1048 | - CLDepthwiseConvolutionLayer3x3NHWCKernel |
Georgios Pinitas | 7d0adc6 | 2020-09-04 15:25:24 +0100 | [diff] [blame] | 1049 | - NEDepthwiseConvolutionLayer3x3Kernel |
Isabella Gottardi | 8773d7c | 2018-11-20 09:56:46 +0000 | [diff] [blame] | 1050 | - @ref CLNormalizePlanarYUVLayerKernel |
| 1051 | - @ref CLWinogradConvolutionLayer (5x5 kernel) |
| 1052 | - More tests added to both validation and benchmarking suites. |
| 1053 | |
Anthony Barbier | d51ea0a | 2018-08-07 17:48:03 +0100 | [diff] [blame] | 1054 | v18.08 Public major release |
| 1055 | - Various bug fixes. |
Michele Di Giorgio | 02baf01 | 2018-08-20 18:10:38 +0100 | [diff] [blame] | 1056 | - Various optimisations. |
Anthony Barbier | d51ea0a | 2018-08-07 17:48:03 +0100 | [diff] [blame] | 1057 | - Updated recommended NDK version to r17b. |
Michele Di Giorgio | 02baf01 | 2018-08-20 18:10:38 +0100 | [diff] [blame] | 1058 | - Removed support for QS8/QS16 data types. |
| 1059 | - Added support for grouped convolution in @ref CLConvolutionLayer. |
| 1060 | - Added NHWC data layout support to: |
Georgios Pinitas | 09f2497 | 2019-05-17 18:14:40 +0100 | [diff] [blame] | 1061 | - NEDepthConcatenateLayer / CLDepthConcatenateLayer |
Michele Di Giorgio | 02baf01 | 2018-08-20 18:10:38 +0100 | [diff] [blame] | 1062 | - @ref NEWinogradConvolutionLayer / @ref CLWinogradConvolutionLayer |
| 1063 | - @ref CLDepthwiseConvolutionLayer |
| 1064 | - @ref CLDirectConvolutionLayer |
| 1065 | - @ref CLConvolutionLayer |
| 1066 | - @ref CLScale |
| 1067 | - @ref CLIm2ColKernel |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 1068 | - New Arm® Neon™ kernels / functions: |
Michele Di Giorgio | 02baf01 | 2018-08-20 18:10:38 +0100 | [diff] [blame] | 1069 | - @ref NERNNLayer |
| 1070 | - New OpenCL kernels / functions: |
| 1071 | - @ref CLArithmeticDivision |
| 1072 | - Introduced prepare() stage support in the graph API for GLES. |
| 1073 | - Added support for memory reusage when trying to allocate smaller CLTensors. |
| 1074 | - Enabled NHWC execution on graph examples. |
| 1075 | - Added JPEG accessor for validation purposes. |
| 1076 | - Added validate methods to some kernels / functions. |
Anthony Barbier | d51ea0a | 2018-08-07 17:48:03 +0100 | [diff] [blame] | 1077 | |
| 1078 | v18.05 Public major release |
Pablo Tello | b5cc95b | 2018-05-15 11:49:33 +0100 | [diff] [blame] | 1079 | - Various bug fixes. |
| 1080 | - Various optimisations. |
Jakub Sujak | ee301b3 | 2021-06-04 09:46:08 +0100 | [diff] [blame] | 1081 | - Major redesign in the interface for the Neon™ kernels implemented in assembly. |
Pablo Tello | eb82fd2 | 2018-02-23 13:43:50 +0000 | [diff] [blame] | 1082 | - Removed arm_compute::NEGEMMLowpAArch64A53Kernel / arm_compute::NEGEMMLowpAArch64Kernel / arm_compute::NEGEMMLowpAArch64V8P4Kernel / arm_compute::NEGEMMInterleavedBlockedKernel / arm_compute::NEGEMMLowpAssemblyMatrixMultiplyCore / arm_compute::NEHGEMMAArch64FP16Kernel |
Jakub Sujak | ee301b3 | 2021-06-04 09:46:08 +0100 | [diff] [blame] | 1083 | - Added NEGEMMAssemblyWrapper and AssemblyKernelGlue which are used to execute assembly kernels in Neon™ functions. |
Pablo Tello | eb82fd2 | 2018-02-23 13:43:50 +0000 | [diff] [blame] | 1084 | - Minor changes to the CPUInfo type to make it compatible with the new assembly gemm interface. |
Jakub Sujak | ee301b3 | 2021-06-04 09:46:08 +0100 | [diff] [blame] | 1085 | - Moved Neon™ assembly kernels to the folder src/core/Neon/kernels/arm_gemm. |
Pablo Tello | b5cc95b | 2018-05-15 11:49:33 +0100 | [diff] [blame] | 1086 | - Improved doxygen documentation. |
| 1087 | - Improved memory management for layer's transitions. |
| 1088 | - Added support for NHWC data layout in tensors. |
| 1089 | - Added NHWC data layout support to: |
| 1090 | - @ref NEGEMMConvolutionLayer |
| 1091 | - @ref NEDirectConvolutionLayer |
| 1092 | - @ref NEPoolingLayer / @ref CLPoolingLayer |
| 1093 | - @ref NEBatchNormalizationLayer / @ref CLBatchNormalizationLayer |
| 1094 | - @ref NEDepthwiseConvolutionLayer |
| 1095 | - @ref NEScale |
Georgios Pinitas | f7c5a41 | 2020-12-03 14:38:33 +0000 | [diff] [blame] | 1096 | - NEIm2Col |
Pablo Tello | b5cc95b | 2018-05-15 11:49:33 +0100 | [diff] [blame] | 1097 | - Added support for dilated convolutions in @ref NEConvolutionLayer and @ref CLConvolutionLayer. |
| 1098 | - New OpenCL kernels / functions: |
| 1099 | - @ref CLChannelShuffleLayer / @ref CLChannelShuffleLayerKernel |
Teresa Charlin | 91b7f74 | 2021-04-12 13:57:00 +0100 | [diff] [blame] | 1100 | - CLConvertFullyConnectedWeightsKernel / @ref CLConvertFullyConnectedWeights |
Sheri Zhang | 7e20e29 | 2021-02-02 11:49:34 +0000 | [diff] [blame] | 1101 | - @ref CLCopy / CLCopyKernel |
Anthony Barbier | 38e7f1f | 2018-05-21 13:37:47 +0100 | [diff] [blame] | 1102 | - @ref CLLSTMLayer |
Pablo Tello | b5cc95b | 2018-05-15 11:49:33 +0100 | [diff] [blame] | 1103 | - @ref CLRNNLayer |
Michele Di Giorgio | 7d61ff0 | 2021-01-18 21:15:59 +0000 | [diff] [blame] | 1104 | - CLWidthConcatenateLayer / CLWidthConcatenateLayerKernel |
Manuel Bottini | c6f4ec3 | 2021-05-18 18:41:56 +0100 | [diff] [blame] | 1105 | - CLWinogradFilterTransformKernel / @ref CLWinogradConvolutionLayer |
| 1106 | - CLWinogradInputTransformKernel / CLWinogradInputTransform |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 1107 | - New Arm® Neon™ kernels / functions: |
Teresa Charlin | 562bee5 | 2021-04-13 17:44:15 +0100 | [diff] [blame] | 1108 | - NEConvertFullyConnectedWeightsKernel / @ref NEConvertFullyConnectedWeights. |
Pablo Tello | b5cc95b | 2018-05-15 11:49:33 +0100 | [diff] [blame] | 1109 | - Created the validate method in @ref CLDepthwiseConvolutionLayer. |
| 1110 | - Beta and gamma are no longer mandatory arguments in @ref NEBatchNormalizationLayer and @ref CLBatchNormalizationLayer. |
| 1111 | - Added depth multiplier support in @ref NEDepthwiseConvolutionLayer and @ref CLDepthwiseConvolutionLayer. |
Sheri Zhang | 1e3ab42 | 2021-03-16 17:35:08 +0000 | [diff] [blame] | 1112 | - Added broadcast multiply support in @ref NEPixelWiseMultiplication / NEPixelWiseMultiplicationKernel. |
Pablo Tello | b5cc95b | 2018-05-15 11:49:33 +0100 | [diff] [blame] | 1113 | - Port mobilenet example to NHWC data layout. |
| 1114 | - Enabled Winograd method in @ref CLConvolutionLayer. |
| 1115 | - Renamed NEWinogradLayer to @ref NEWinogradConvolutionLayer. |
Sheri Zhang | ac6499a | 2021-02-10 15:32:38 +0000 | [diff] [blame] | 1116 | - Updated @ref NEWinogradConvolutionLayer to use highly optimised assembly kernels in src/core/Neon/kernels/arm_gemm. |
Pablo Tello | b5cc95b | 2018-05-15 11:49:33 +0100 | [diff] [blame] | 1117 | - Added memory manager support in GLES functions. |
| 1118 | - Major refactoring of the graph API. |
| 1119 | - Added GLES backend in the graph API. |
| 1120 | - Added support for the memory manager in the graph API. |
| 1121 | - Enabled Winograd Convolution method in the graph API. |
| 1122 | - Added support for grouped convolutions in the graph API. |
Manuel Bottini | 10b3826 | 2021-02-19 18:16:44 +0000 | [diff] [blame] | 1123 | - Replaced NEDeconvolutionLayerUpsampleKernel with NEScaleKernel in @ref NEDeconvolutionLayer. |
Pablo Tello | b5cc95b | 2018-05-15 11:49:33 +0100 | [diff] [blame] | 1124 | - Added fast maths flag in @ref CLConvolutionLayer. |
| 1125 | - Added new tests and benchmarks in validation and benchmark frameworks |
Jakub Sujak | ee301b3 | 2021-06-04 09:46:08 +0100 | [diff] [blame] | 1126 | - Merge Activation layer with Convolution Layer (Neon™, CL, GLES) |
Pablo Tello | b5cc95b | 2018-05-15 11:49:33 +0100 | [diff] [blame] | 1127 | - Added support to OpenCL 2.0 SVM |
| 1128 | - Added support to import memory in OpenCL tensors. |
| 1129 | - Added the prepare() method to perform any one off pre-processing before running the function. |
| 1130 | - Added new examples: |
| 1131 | - graph_inception_v4.cpp |
Anthony Barbier | 38e7f1f | 2018-05-21 13:37:47 +0100 | [diff] [blame] | 1132 | - graph_resnext50.cpp |
Pablo Tello | b5cc95b | 2018-05-15 11:49:33 +0100 | [diff] [blame] | 1133 | - Added memory measurement instrument for CL. |
Pablo Tello | eb82fd2 | 2018-02-23 13:43:50 +0000 | [diff] [blame] | 1134 | |
Anthony Barbier | 577fbdf | 2018-03-01 15:17:54 +0000 | [diff] [blame] | 1135 | v18.03 Public maintenance release |
| 1136 | - Various bug fixes. |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1137 | - Fixed bug in @ref NEActivationLayer |
| 1138 | - Fix in @ref CLTuner when using batches. |
Anthony Barbier | 577fbdf | 2018-03-01 15:17:54 +0000 | [diff] [blame] | 1139 | - Updated recommended NDK version to r16b (And fixed warnings). |
| 1140 | - Fixed bug in validation code. |
| 1141 | - Added Inception v4 graph example. |
Georgios Pinitas | 9fb1159 | 2018-04-26 20:34:58 +0100 | [diff] [blame] | 1142 | - Renamed NEWinogradLayer.cpp to @ref NEWinogradConvolutionLayer |
Anthony Barbier | 577fbdf | 2018-03-01 15:17:54 +0000 | [diff] [blame] | 1143 | |
Anthony Barbier | 2d0ce77 | 2018-02-21 15:35:36 +0000 | [diff] [blame] | 1144 | v18.02 Public major release |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 1145 | - Various Arm® Neon™ / OpenCL / GLES optimisations. |
Anthony Barbier | 2d0ce77 | 2018-02-21 15:35:36 +0000 | [diff] [blame] | 1146 | - Various bug fixes. |
| 1147 | - Changed default number of threads on big LITTLE systems. |
| 1148 | - Refactored examples and added: |
| 1149 | - graph_mobilenet_qassym8 |
| 1150 | - graph_resnet |
| 1151 | - graph_squeezenet_v1_1 |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1152 | - Renamed @ref CLConvolutionLayer into @ref CLGEMMConvolutionLayer and created a new @ref CLConvolutionLayer to select the fastest convolution method. |
| 1153 | - Renamed @ref NEConvolutionLayer into @ref NEGEMMConvolutionLayer and created a new @ref NEConvolutionLayer to select the fastest convolution method. |
Anthony Barbier | 2d0ce77 | 2018-02-21 15:35:36 +0000 | [diff] [blame] | 1154 | - Added in place support to: |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1155 | - @ref CLActivationLayer |
| 1156 | - @ref CLBatchNormalizationLayer |
Anthony Barbier | 2d0ce77 | 2018-02-21 15:35:36 +0000 | [diff] [blame] | 1157 | - Added QASYMM8 support to: |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1158 | - @ref CLActivationLayer |
| 1159 | - @ref CLDepthwiseConvolutionLayer |
| 1160 | - @ref NEDepthwiseConvolutionLayer |
| 1161 | - @ref NESoftmaxLayer |
Anthony Barbier | 2d0ce77 | 2018-02-21 15:35:36 +0000 | [diff] [blame] | 1162 | - Added FP16 support to: |
Manuel Bottini | 387259a | 2020-05-21 17:14:36 +0100 | [diff] [blame] | 1163 | - CLDepthwiseConvolutionLayer3x3 |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1164 | - @ref CLDepthwiseConvolutionLayer |
Michele Di Giorgio | bd2c8e1 | 2021-01-19 15:29:02 +0000 | [diff] [blame] | 1165 | - Added broadcasting support to NEArithmeticAddition / @ref CLArithmeticAddition / @ref CLPixelWiseMultiplication |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1166 | - Added fused batched normalization and activation to @ref CLBatchNormalizationLayer and @ref NEBatchNormalizationLayer |
| 1167 | - Added support for non-square pooling to @ref NEPoolingLayer and @ref CLPoolingLayer |
Anthony Barbier | 2d0ce77 | 2018-02-21 15:35:36 +0000 | [diff] [blame] | 1168 | - New OpenCL kernels / functions: |
Michele Di Giorgio | a046e16 | 2019-10-08 09:36:26 +0100 | [diff] [blame] | 1169 | - CLDirectConvolutionLayerOutputStageKernel |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 1170 | - New Arm® Neon™ kernels / functions |
Anthony Barbier | 2d0ce77 | 2018-02-21 15:35:36 +0000 | [diff] [blame] | 1171 | - Added name() method to all kernels. |
| 1172 | - Added support for Winograd 5x5. |
Georgios Pinitas | 0f7ef8a | 2021-01-10 04:23:52 +0000 | [diff] [blame] | 1173 | - NEPermuteKernel / @ref NEPermute |
Georgios Pinitas | 9fb1159 | 2018-04-26 20:34:58 +0100 | [diff] [blame] | 1174 | - @ref NEWinogradLayerTransformInputKernel / NEWinogradLayer |
| 1175 | - @ref NEWinogradLayerTransformOutputKernel / NEWinogradLayer |
| 1176 | - @ref NEWinogradLayerTransformWeightsKernel / NEWinogradLayer |
Anthony Barbier | e155337 | 2018-07-16 18:53:52 +0100 | [diff] [blame] | 1177 | - Renamed NEWinogradLayerKernel into NEWinogradLayerBatchedGEMMKernel |
Anthony Barbier | 2d0ce77 | 2018-02-21 15:35:36 +0000 | [diff] [blame] | 1178 | - New GLES kernels / functions: |
Manuel Bottini | ceaa0bf | 2021-02-16 15:15:19 +0000 | [diff] [blame] | 1179 | - GCTensorShiftKernel / GCTensorShift |
Pablo Tello | f6c572c | 2018-02-14 12:47:30 +0000 | [diff] [blame] | 1180 | |
Anthony Barbier | 64c95a0 | 2018-01-22 18:48:55 +0000 | [diff] [blame] | 1181 | v18.01 Public maintenance release |
| 1182 | - Various bug fixes |
| 1183 | - Added some of the missing validate() methods |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1184 | - Added @ref CLDeconvolutionLayerUpsampleKernel / @ref CLDeconvolutionLayer @ref CLDeconvolutionLayerUpsample |
Sheri Zhang | 7e20e29 | 2021-02-02 11:49:34 +0000 | [diff] [blame] | 1185 | - Added CLPermuteKernel / @ref CLPermute |
Anthony Barbier | 64c95a0 | 2018-01-22 18:48:55 +0000 | [diff] [blame] | 1186 | - Added method to clean the programs cache in the CL Kernel library. |
Manuel Bottini | ceaa0bf | 2021-02-16 15:15:19 +0000 | [diff] [blame] | 1187 | - Added GCArithmeticAdditionKernel / GCArithmeticAddition |
| 1188 | - Added GCDepthwiseConvolutionLayer3x3Kernel / GCDepthwiseConvolutionLayer3x3 |
| 1189 | - Added GCNormalizePlanarYUVLayerKernel / GCNormalizePlanarYUVLayer |
| 1190 | - Added GCScaleKernel / GCScale |
| 1191 | - Added GCWeightsReshapeKernel / GCConvolutionLayer |
Anthony Barbier | 64c95a0 | 2018-01-22 18:48:55 +0000 | [diff] [blame] | 1192 | - Added FP16 support to the following GLES compute kernels: |
Manuel Bottini | ceaa0bf | 2021-02-16 15:15:19 +0000 | [diff] [blame] | 1193 | - GCCol2ImKernel |
| 1194 | - GCGEMMInterleave4x4Kernel |
| 1195 | - GCGEMMTranspose1xWKernel |
| 1196 | - GCIm2ColKernel |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 1197 | - Refactored Arm® Neon™ Winograd (NEWinogradLayerKernel) |
Manuel Bottini | 327225d | 2021-04-13 13:09:30 +0100 | [diff] [blame] | 1198 | - Added NEDirectConvolutionLayerOutputStageKernel |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 1199 | - Added QASYMM8 support to the following Arm® Neon™ kernels: |
Georgios Pinitas | 7d0adc6 | 2020-09-04 15:25:24 +0100 | [diff] [blame] | 1200 | - NEDepthwiseConvolutionLayer3x3Kernel |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1201 | - @ref NEFillBorderKernel |
Michele Di Giorgio | 1928904 | 2021-02-03 16:05:00 +0000 | [diff] [blame] | 1202 | - NEPoolingLayerKernel |
Anthony Barbier | 64c95a0 | 2018-01-22 18:48:55 +0000 | [diff] [blame] | 1203 | - Added new examples: |
| 1204 | - graph_cl_mobilenet_qasymm8.cpp |
| 1205 | - graph_inception_v3.cpp |
| 1206 | - gc_dc.cpp |
| 1207 | - More tests added to both validation and benchmarking suites. |
| 1208 | |
Gian Marco | ff85093 | 2017-12-11 12:37:17 +0000 | [diff] [blame] | 1209 | v17.12 Public major release |
| 1210 | - Most machine learning functions on OpenCL support the new data type QASYMM8 |
| 1211 | - Introduced logging interface |
| 1212 | - Introduced opencl timer |
| 1213 | - Reworked GEMMLowp interface |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 1214 | - Added new Arm® Neon™ assembly kernels for GEMMLowp, SGEMM and HGEMM |
Gian Marco | ff85093 | 2017-12-11 12:37:17 +0000 | [diff] [blame] | 1215 | - Added validation method for most Machine Learning kernels / functions |
| 1216 | - Added new graph examples such as googlenet, mobilenet, squeezenet, vgg16 and vgg19 |
| 1217 | - Added sgemm example for OpenCL |
| 1218 | - Added absolute difference example for GLES compute |
| 1219 | - Added new tests and benchmarks in validation and benchmark frameworks |
| 1220 | - Added new kernels / functions for GLES compute |
| 1221 | |
| 1222 | - New OpenGL ES kernels / functions |
Manuel Bottini | ceaa0bf | 2021-02-16 15:15:19 +0000 | [diff] [blame] | 1223 | - GCAbsoluteDifferenceKernel / GCAbsoluteDifference |
| 1224 | - GCActivationLayerKernel / GCActivationLayer |
| 1225 | - GCBatchNormalizationLayerKernel / GCBatchNormalizationLayer |
| 1226 | - GCCol2ImKernel |
| 1227 | - GCDepthConcatenateLayerKernel / GCDepthConcatenateLayer |
| 1228 | - GCDirectConvolutionLayerKernel / GCDirectConvolutionLayer |
| 1229 | - GCDropoutLayerKernel / GCDropoutLayer |
| 1230 | - GCFillBorderKernel / GCFillBorder |
| 1231 | - GCGEMMInterleave4x4Kernel / GCGEMMInterleave4x4 |
| 1232 | - GCGEMMMatrixAccumulateBiasesKernel / GCGEMMMatrixAdditionKernel / GCGEMMMatrixMultiplyKernel / GCGEMM |
| 1233 | - GCGEMMTranspose1xWKernel / GCGEMMTranspose1xW |
| 1234 | - GCIm2ColKernel |
| 1235 | - GCNormalizationLayerKernel / GCNormalizationLayer |
| 1236 | - GCPixelWiseMultiplicationKernel / GCPixelWiseMultiplication |
| 1237 | - GCPoolingLayerKernel / GCPoolingLayer |
| 1238 | - GCLogits1DMaxKernel / GCLogits1DShiftExpSumKernel / GCLogits1DNormKernel / GCSoftmaxLayer |
| 1239 | - GCTransposeKernel / GCTranspose |
Gian Marco | ff85093 | 2017-12-11 12:37:17 +0000 | [diff] [blame] | 1240 | |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 1241 | - New Arm® Neon™ kernels / functions |
Pablo Tello | eb82fd2 | 2018-02-23 13:43:50 +0000 | [diff] [blame] | 1242 | - arm_compute::NEGEMMLowpAArch64A53Kernel / arm_compute::NEGEMMLowpAArch64Kernel / arm_compute::NEGEMMLowpAArch64V8P4Kernel / arm_compute::NEGEMMInterleavedBlockedKernel / arm_compute::NEGEMMLowpAssemblyMatrixMultiplyCore |
| 1243 | - arm_compute::NEHGEMMAArch64FP16Kernel |
Georgios Pinitas | 7d0adc6 | 2020-09-04 15:25:24 +0100 | [diff] [blame] | 1244 | - NEDepthwiseConvolutionLayer3x3Kernel / NEDepthwiseIm2ColKernel / NEGEMMMatrixVectorMultiplyKernel / NEDepthwiseVectorToTensorKernel / @ref NEDepthwiseConvolutionLayer |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1245 | - @ref NEGEMMLowpOffsetContributionKernel / @ref NEGEMMLowpMatrixAReductionKernel / @ref NEGEMMLowpMatrixBReductionKernel / @ref NEGEMMLowpMatrixMultiplyCore |
Manuel Bottini | ae58bdf | 2021-06-17 17:18:45 +0100 | [diff] [blame] | 1246 | - NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel / NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint |
Georgios Pinitas | 9fb1159 | 2018-04-26 20:34:58 +0100 | [diff] [blame] | 1247 | - NEWinogradLayer / NEWinogradLayerKernel |
Gian Marco | ff85093 | 2017-12-11 12:37:17 +0000 | [diff] [blame] | 1248 | |
| 1249 | - New OpenCL kernels / functions |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1250 | - @ref CLGEMMLowpOffsetContributionKernel / @ref CLGEMMLowpMatrixAReductionKernel / @ref CLGEMMLowpMatrixBReductionKernel / @ref CLGEMMLowpMatrixMultiplyCore |
Michele Di Giorgio | ba14c92 | 2020-10-12 13:27:57 +0100 | [diff] [blame] | 1251 | - CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel / @ref CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint |
Gian Marco | ff85093 | 2017-12-11 12:37:17 +0000 | [diff] [blame] | 1252 | |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 1253 | - New graph nodes for Arm® Neon™ and OpenCL |
Georgios Pinitas | d9eb275 | 2018-04-03 13:44:29 +0100 | [diff] [blame] | 1254 | - graph::BranchLayer |
| 1255 | - graph::DepthConvertLayer |
| 1256 | - graph::DepthwiseConvolutionLayer |
| 1257 | - graph::DequantizationLayer |
| 1258 | - graph::FlattenLayer |
| 1259 | - graph::QuantizationLayer |
| 1260 | - graph::ReshapeLayer |
Gian Marco | ff85093 | 2017-12-11 12:37:17 +0000 | [diff] [blame] | 1261 | |
Anthony Barbier | 3c5b4ff | 2017-10-12 13:20:52 +0100 | [diff] [blame] | 1262 | v17.10 Public maintenance release |
| 1263 | - Bug fixes: |
| 1264 | - Check the maximum local workgroup size supported by OpenCL devices |
| 1265 | - Minor documentation updates (Fixed instructions to build the examples) |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1266 | - Introduced a graph::GraphContext |
Anthony Barbier | 3c5b4ff | 2017-10-12 13:20:52 +0100 | [diff] [blame] | 1267 | - Added a few new Graph nodes, support for branches and grouping. |
| 1268 | - Automatically enable cl_printf in debug builds |
| 1269 | - Fixed bare metal builds for armv7a |
| 1270 | - Added AlexNet and cartoon effect examples |
| 1271 | - Fixed library builds: libraries are no longer built as supersets of each other.(It means application using the Runtime part of the library now need to link against both libarm_compute_core and libarm_compute) |
| 1272 | |
Anthony Barbier | 6a5627a | 2017-09-26 14:42:02 +0100 | [diff] [blame] | 1273 | v17.09 Public major release |
| 1274 | - Experimental Graph support: initial implementation of a simple stream API to easily chain machine learning layers. |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1275 | - Memory Manager (@ref BlobLifetimeManager, @ref BlobMemoryPool, @ref ILifetimeManager, @ref IMemoryGroup, @ref IMemoryManager, @ref IMemoryPool, @ref IPoolManager, @ref MemoryManagerOnDemand, @ref PoolManager) |
Anthony Barbier | 6a5627a | 2017-09-26 14:42:02 +0100 | [diff] [blame] | 1276 | - New validation and benchmark frameworks (Boost and Google frameworks replaced by homemade framework). |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 1277 | - Most machine learning functions support both fixed point 8 and 16 bit (QS8, QS16) for both Arm® Neon™ and OpenCL. |
| 1278 | - New Arm® Neon™ kernels / functions: |
Pablo Tello | eb82fd2 | 2018-02-23 13:43:50 +0000 | [diff] [blame] | 1279 | - arm_compute::NEGEMMAssemblyBaseKernel arm_compute::NEGEMMAArch64Kernel |
Manuel Bottini | 00f4dfc | 2021-03-10 09:55:14 +0000 | [diff] [blame] | 1280 | - NEDequantizationLayerKernel / @ref NEDequantizationLayer |
Georgios Pinitas | 70eb53b | 2021-01-06 19:42:21 +0000 | [diff] [blame] | 1281 | - NEFloorKernel / @ref NEFloor |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1282 | - @ref NEL2NormalizeLayerKernel / @ref NEL2NormalizeLayer |
Manuel Bottini | 0ded4c4 | 2021-03-09 14:15:27 +0000 | [diff] [blame] | 1283 | - NEQuantizationLayerKernel @ref NEMinMaxLayerKernel / @ref NEQuantizationLayer |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1284 | - @ref NEROIPoolingLayerKernel / @ref NEROIPoolingLayer |
| 1285 | - @ref NEReductionOperationKernel / @ref NEReductionOperation |
Georgios Pinitas | 0f7ef8a | 2021-01-10 04:23:52 +0000 | [diff] [blame] | 1286 | - NEReshapeLayerKernel / @ref NEReshapeLayer |
Anthony Barbier | 6a5627a | 2017-09-26 14:42:02 +0100 | [diff] [blame] | 1287 | |
| 1288 | - New OpenCL kernels / functions: |
Gian Marco Iodice | 561c176 | 2021-04-16 15:08:59 +0100 | [diff] [blame^] | 1289 | - CLDepthwiseConvolutionLayer3x3NCHWKernel CLDepthwiseConvolutionLayer3x3NHWCKernel CLDepthwiseIm2ColKernel CLDepthwiseVectorToTensorKernel CLDepthwiseWeightsReshapeKernel / CLDepthwiseConvolutionLayer3x3 @ref CLDepthwiseConvolutionLayer CLDepthwiseSeparableConvolutionLayer |
Manuel Bottini | 9e73c93 | 2021-03-02 17:40:42 +0000 | [diff] [blame] | 1290 | - CLDequantizationLayerKernel / CLDequantizationLayer |
Sheri Zhang | 1efed92 | 2021-03-10 22:43:38 +0000 | [diff] [blame] | 1291 | - CLDirectConvolutionLayerKernel / @ref CLDirectConvolutionLayer |
Georgios Pinitas | e2696b1 | 2020-12-03 20:37:43 +0000 | [diff] [blame] | 1292 | - CLFlattenLayer |
Georgios Pinitas | f47f718 | 2021-01-15 09:29:50 +0000 | [diff] [blame] | 1293 | - CLFloorKernel / @ref CLFloor |
Gian Marco Iodice | 5fc07aa | 2019-05-15 17:08:02 +0100 | [diff] [blame] | 1294 | - CLGEMMTranspose1xW |
Michele Di Giorgio | ee82d34 | 2021-01-05 16:14:28 +0000 | [diff] [blame] | 1295 | - CLGEMMMatrixVectorMultiplyKernel |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1296 | - @ref CLL2NormalizeLayerKernel / @ref CLL2NormalizeLayer |
Manuel Bottini | 5a1bf62 | 2021-03-01 17:39:36 +0000 | [diff] [blame] | 1297 | - CLQuantizationLayerKernel @ref CLMinMaxLayerKernel / @ref CLQuantizationLayer |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1298 | - @ref CLROIPoolingLayerKernel / @ref CLROIPoolingLayer |
| 1299 | - @ref CLReductionOperationKernel / @ref CLReductionOperation |
Sheri Zhang | 7e20e29 | 2021-02-02 11:49:34 +0000 | [diff] [blame] | 1300 | - CLReshapeLayerKernel / @ref CLReshapeLayer |
Anthony Barbier | 6a5627a | 2017-09-26 14:42:02 +0100 | [diff] [blame] | 1301 | |
Anthony Barbier | 6ff3b19 | 2017-09-04 18:44:23 +0100 | [diff] [blame] | 1302 | v17.06 Public major release |
| 1303 | - Various bug fixes |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 1304 | - Added support for fixed point 8 bit (QS8) to the various Arm® Neon™ machine learning kernels. |
Anthony Barbier | 6ff3b19 | 2017-09-04 18:44:23 +0100 | [diff] [blame] | 1305 | - Added unit tests and benchmarks (AlexNet, LeNet) |
| 1306 | - Added support for sub tensors. |
| 1307 | - Added infrastructure to provide GPU specific optimisation for some OpenCL kernels. |
Sheri Zhang | ac6499a | 2021-02-10 15:32:38 +0000 | [diff] [blame] | 1308 | - Added @ref OMPScheduler (OpenMP) scheduler for Neon |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 1309 | - Added @ref SingleThreadScheduler scheduler for Arm® Neon™ (For bare metal) |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1310 | - User can specify his own scheduler by implementing the @ref IScheduler interface. |
Anthony Barbier | 6ff3b19 | 2017-09-04 18:44:23 +0100 | [diff] [blame] | 1311 | - New OpenCL kernels / functions: |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1312 | - @ref CLBatchNormalizationLayerKernel / @ref CLBatchNormalizationLayer |
Michele Di Giorgio | 7d61ff0 | 2021-01-18 21:15:59 +0000 | [diff] [blame] | 1313 | - CLDepthConcatenateLayerKernel / CLDepthConcatenateLayer |
Michalis Spyrou | 473cb01 | 2021-02-23 11:48:12 +0000 | [diff] [blame] | 1314 | - CLHOGOrientationBinningKernel CLHOGBlockNormalizationKernel, CLHOGDetectorKernel / CLHOGDescriptor CLHOGDetector CLHOGGradient CLHOGMultiDetection |
Georgios Pinitas | 96b16b6 | 2020-12-01 17:41:34 +0000 | [diff] [blame] | 1315 | - CLLocallyConnectedMatrixMultiplyKernel / CLLocallyConnectedLayer |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1316 | - @ref CLWeightsReshapeKernel / @ref CLConvolutionLayerReshapeWeights |
Anthony Barbier | 6ff3b19 | 2017-09-04 18:44:23 +0100 | [diff] [blame] | 1317 | - New C++ kernels: |
Georgios Pinitas | c6f9510 | 2021-03-30 10:03:01 +0100 | [diff] [blame] | 1318 | - CPPDetectionWindowNonMaximaSuppressionKernel |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 1319 | - New Arm® Neon™ kernels / functions: |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1320 | - @ref NEBatchNormalizationLayerKernel / @ref NEBatchNormalizationLayer |
Michele Di Giorgio | bd2c8e1 | 2021-01-19 15:29:02 +0000 | [diff] [blame] | 1321 | - NEDepthConcatenateLayerKernel / NEDepthConcatenateLayer |
Manuel Bottini | 327225d | 2021-04-13 13:09:30 +0100 | [diff] [blame] | 1322 | - NEDirectConvolutionLayerKernel / @ref NEDirectConvolutionLayer |
Georgios Pinitas | 96b16b6 | 2020-12-01 17:41:34 +0000 | [diff] [blame] | 1323 | - NELocallyConnectedMatrixMultiplyKernel / NELocallyConnectedLayer |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1324 | - @ref NEWeightsReshapeKernel / @ref NEConvolutionLayerReshapeWeights |
Anthony Barbier | 6ff3b19 | 2017-09-04 18:44:23 +0100 | [diff] [blame] | 1325 | |
| 1326 | v17.05 Public bug fixes release |
| 1327 | - Various bug fixes |
| 1328 | - Remaining of the functions ported to use accurate padding. |
| 1329 | - Library does not link against OpenCL anymore (It uses dlopen / dlsym at runtime instead to determine whether or not OpenCL is available). |
| 1330 | - Added "free" method to allocator. |
| 1331 | - Minimum version of g++ required for armv7 Linux changed from 4.8 to 4.9 |
| 1332 | |
| 1333 | v17.04 Public bug fixes release |
| 1334 | |
| 1335 | The following functions have been ported to use the new accurate padding: |
Michalis Spyrou | 473cb01 | 2021-02-23 11:48:12 +0000 | [diff] [blame] | 1336 | - CLColorConvertKernel |
| 1337 | - CLEdgeNonMaxSuppressionKernel |
| 1338 | - CLEdgeTraceKernel |
| 1339 | - CLGaussianPyramidHorKernel |
| 1340 | - CLGaussianPyramidVertKernel |
| 1341 | - CLGradientKernel |
Michalis Spyrou | 27e67f0 | 2021-02-16 11:34:39 +0000 | [diff] [blame] | 1342 | - NEChannelCombineKernel |
Georgios Pinitas | c6f9510 | 2021-03-30 10:03:01 +0100 | [diff] [blame] | 1343 | - NEFillArrayKernel |
Michalis Spyrou | 27e67f0 | 2021-02-16 11:34:39 +0000 | [diff] [blame] | 1344 | - NEGaussianPyramidHorKernel |
| 1345 | - NEGaussianPyramidVertKernel |
Georgios Pinitas | 09d3451 | 2018-08-30 16:02:11 +0100 | [diff] [blame] | 1346 | - NEHarrisScoreFP16Kernel |
Michalis Spyrou | 27e67f0 | 2021-02-16 11:34:39 +0000 | [diff] [blame] | 1347 | - NEHarrisScoreKernel |
| 1348 | - NEHOGDetectorKernel |
Michalis Spyrou | 373b407 | 2021-01-20 16:41:12 +0000 | [diff] [blame] | 1349 | - NELogits1DMaxKernel |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1350 | - NELogits1DShiftExpSumKernel |
| 1351 | - NELogits1DNormKernel |
Michalis Spyrou | 473cb01 | 2021-02-23 11:48:12 +0000 | [diff] [blame] | 1352 | - NENonMaximaSuppression3x3FP16Kernel |
| 1353 | - NENonMaximaSuppression3x3Kernel |
Anthony Barbier | 6ff3b19 | 2017-09-04 18:44:23 +0100 | [diff] [blame] | 1354 | |
Anthony Barbier | 6ff3b19 | 2017-09-04 18:44:23 +0100 | [diff] [blame] | 1355 | v17.03.1 First Major public release of the sources |
| 1356 | - Renamed the library to arm_compute |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 1357 | - New CPP target introduced for C++ kernels shared between Arm® Neon™ and CL functions. |
Anthony Barbier | 6ff3b19 | 2017-09-04 18:44:23 +0100 | [diff] [blame] | 1358 | - New padding calculation interface introduced and ported most kernels / functions to use it. |
| 1359 | - New OpenCL kernels / functions: |
Gian Marco Iodice | eb65f6d | 2020-04-15 11:42:15 +0100 | [diff] [blame] | 1360 | - CLGEMMLowpMatrixMultiplyKernel / CLGEMMLowp |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 1361 | - New Arm® Neon™ kernels / functions: |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1362 | - @ref NENormalizationLayerKernel / @ref NENormalizationLayer |
Teresa Charlin | d1dc09c | 2021-03-04 15:24:45 +0000 | [diff] [blame] | 1363 | - NETransposeKernel / @ref NETranspose |
Michalis Spyrou | 373b407 | 2021-01-20 16:41:12 +0000 | [diff] [blame] | 1364 | - NELogits1DMaxKernel, NELogits1DShiftExpSumKernel, NELogits1DNormKernel / @ref NESoftmaxLayer |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1365 | - @ref NEIm2ColKernel, @ref NECol2ImKernel, NEConvolutionLayerWeightsReshapeKernel / @ref NEConvolutionLayer |
Michele Di Giorgio | f22f672 | 2020-07-03 16:29:24 +0100 | [diff] [blame] | 1366 | - NEGEMMMatrixAccumulateBiasesKernel / @ref NEFullyConnectedLayer |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1367 | - @ref NEGEMMLowpMatrixMultiplyKernel / NEGEMMLowp |
Anthony Barbier | 6ff3b19 | 2017-09-04 18:44:23 +0100 | [diff] [blame] | 1368 | |
| 1369 | v17.03 Sources preview |
| 1370 | - New OpenCL kernels / functions: |
Michalis Spyrou | 473cb01 | 2021-02-23 11:48:12 +0000 | [diff] [blame] | 1371 | - CLGradientKernel, CLEdgeNonMaxSuppressionKernel, CLEdgeTraceKernel / CLCannyEdge |
Georgios Pinitas | 856f66e | 2021-04-22 21:13:21 +0100 | [diff] [blame] | 1372 | - GEMM refactoring + FP16 support: CLGEMMInterleave4x4Kernel, CLGEMMTranspose1xWKernel, CLGEMMMatrixMultiplyKernel, CLGEMMMatrixAdditionKernel / @ref CLGEMM |
Michele Di Giorgio | f6f7876 | 2020-07-06 11:27:21 +0100 | [diff] [blame] | 1373 | - CLGEMMMatrixAccumulateBiasesKernel / @ref CLFullyConnectedLayer |
Teresa Charlin | 2788609 | 2021-02-25 20:15:01 +0000 | [diff] [blame] | 1374 | - CLTransposeKernel / @ref CLTranspose |
Georgios Pinitas | c6f9510 | 2021-03-30 10:03:01 +0100 | [diff] [blame] | 1375 | - CLLKTrackerInitKernel, CLLKTrackerStage0Kernel, CLLKTrackerStage1Kernel, CLLKTrackerFinalizeKernel / CLOpticalFlow |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1376 | - @ref CLNormalizationLayerKernel / @ref CLNormalizationLayer |
Michalis Spyrou | 473cb01 | 2021-02-23 11:48:12 +0000 | [diff] [blame] | 1377 | - CLLaplacianPyramid, CLLaplacianReconstruct |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 1378 | - New Arm® Neon™ kernels / functions: |
Michele Di Giorgio | bd2c8e1 | 2021-01-19 15:29:02 +0000 | [diff] [blame] | 1379 | - NEActivationLayerKernel / @ref NEActivationLayer |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1380 | - GEMM refactoring + FP16 support (Requires armv8.2 CPU): @ref NEGEMMInterleave4x4Kernel, @ref NEGEMMTranspose1xWKernel, @ref NEGEMMMatrixMultiplyKernel, @ref NEGEMMMatrixAdditionKernel / @ref NEGEMM |
Michele Di Giorgio | 1928904 | 2021-02-03 16:05:00 +0000 | [diff] [blame] | 1381 | - NEPoolingLayerKernel / @ref NEPoolingLayer |
Anthony Barbier | 6ff3b19 | 2017-09-04 18:44:23 +0100 | [diff] [blame] | 1382 | |
| 1383 | v17.02.1 Sources preview |
| 1384 | - New OpenCL kernels / functions: |
Sang-Hoon Park | 201e0fe | 2021-01-27 13:14:56 +0000 | [diff] [blame] | 1385 | - CLLogits1DMaxKernel, CLLogits1DShiftExpSumKernel, CLLogits1DNormKernel / @ref CLSoftmaxLayer |
Michele Di Giorgio | e131466 | 2021-02-01 17:09:32 +0000 | [diff] [blame] | 1386 | - CLPoolingLayerKernel / @ref CLPoolingLayer |
Michalis Spyrou | 473cb01 | 2021-02-23 11:48:12 +0000 | [diff] [blame] | 1387 | - @ref CLIm2ColKernel, @ref CLCol2ImKernel, CLConvolutionLayerWeightsReshapeKernel / CLConvolutionLayer |
Anthony Barbier | 3762e74 | 2018-03-02 11:49:33 +0000 | [diff] [blame] | 1388 | - @ref CLRemapKernel / @ref CLRemap |
Michalis Spyrou | 473cb01 | 2021-02-23 11:48:12 +0000 | [diff] [blame] | 1389 | - CLGaussianPyramidHorKernel, CLGaussianPyramidVertKernel / CLGaussianPyramid, CLGaussianPyramidHalf, CLGaussianPyramidOrb |
| 1390 | - CLMinMaxKernel, CLMinMaxLocationKernel / CLMinMaxLocation |
| 1391 | - CLNonLinearFilterKernel / CLNonLinearFilter |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 1392 | - New Arm® Neon™ FP16 kernels (Requires armv8.2 CPU) |
Michalis Spyrou | 27e67f0 | 2021-02-16 11:34:39 +0000 | [diff] [blame] | 1393 | - NEAccumulateWeightedFP16Kernel |
| 1394 | - NEBox3x3FP16Kernel |
Michalis Spyrou | 473cb01 | 2021-02-23 11:48:12 +0000 | [diff] [blame] | 1395 | - NENonMaximaSuppression3x3FP16Kernel |
Anthony Barbier | 6ff3b19 | 2017-09-04 18:44:23 +0100 | [diff] [blame] | 1396 | |
| 1397 | v17.02 Sources preview |
| 1398 | - New OpenCL kernels / functions: |
Georgios Pinitas | f47f718 | 2021-01-15 09:29:50 +0000 | [diff] [blame] | 1399 | - CLActivationLayerKernel / @ref CLActivationLayer |
Michalis Spyrou | 473cb01 | 2021-02-23 11:48:12 +0000 | [diff] [blame] | 1400 | - CLChannelCombineKernel / CLChannelCombine |
| 1401 | - CLDerivativeKernel / CLChannelExtract |
| 1402 | - CLFastCornersKernel / CLFastCorners |
| 1403 | - CLMeanStdDevKernel / CLMeanStdDev |
Michele Di Giorgio | 33f41fa | 2021-03-09 14:09:08 +0000 | [diff] [blame] | 1404 | - New Arm® Neon™ kernels / functions: |
Michalis Spyrou | 27e67f0 | 2021-02-16 11:34:39 +0000 | [diff] [blame] | 1405 | - HOG / SVM: NEHOGOrientationBinningKernel, NEHOGBlockNormalizationKernel, NEHOGDetectorKernel, NEHOGNonMaximaSuppressionKernel / NEHOGDescriptor, NEHOGDetector, NEHOGGradient, NEHOGMultiDetection |
| 1406 | - NENonLinearFilterKernel / NENonLinearFilter |
Anthony Barbier | 6ff3b19 | 2017-09-04 18:44:23 +0100 | [diff] [blame] | 1407 | - Introduced a CLScheduler to manage the default context and command queue used by the runtime library and create synchronisation events. |
| 1408 | - Switched all the kernels / functions to use tensors instead of images. |
| 1409 | - Updated documentation to include instructions to build the library from sources. |
| 1410 | |
| 1411 | v16.12 Binary preview release |
| 1412 | - Original release |
| 1413 | |
Sheri Zhang | d813bab | 2021-04-30 16:53:41 +0100 | [diff] [blame] | 1414 | */ |
| 1415 | } // namespace arm_compute |