aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/NEON/functions
AgeCommit message (Collapse)Author
2019-01-17COMPMID-1891: Fixes NELSTM padding issues.Georgios Pinitas
Change-Id: Ica32ddec92ea13f66ced3386394f3734d832151b Reviewed-on: https://review.mlplatform.org/530 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com> Reviewed-by: Matthew Bentham <matthew.bentham@arm.com>
2019-01-15COMPMID-1724: CL Implement Prod fixManuel Bottini
Change-Id: I9cf07afe6198e3364ede06faaa9a09a782a34792 Reviewed-on: https://review.mlplatform.org/519 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
2019-01-14COMPMID-1809: Remove padding in NEGEMMConvolutionLayer 64-bit path.Georgios Pinitas
Change-Id: I1806591a2c73a1f057f13d8c6107d7b9796a82c8 Reviewed-on: https://review.mlplatform.org/370 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
2019-01-14COMPMID-1772: Implement PadV2 for NEONGeorgios Pinitas
Change-Id: Ia4604524a034c46b004fd850183480c5fbfd8cb3 Reviewed-on: https://review.mlplatform.org/437 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
2019-01-14COMPMID-1758: NEON: Implement RangeManuel Bottini
Change-Id: I56dff9462b85760fbed6db43224cadb90d283810 Reviewed-on: https://review.mlplatform.org/472 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
2019-01-14COMPMID-1724: CL Implement ProdManuel Bottini
Change-Id: I17e51f25064b53a8f7e13d6fcbecc14a192de103 Reviewed-on: https://review.mlplatform.org/387 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
2019-01-11COMPMID-1677: Change ROIPooling layer interface to accept ROIs as tensorsManuel Bottini
Change-Id: If16b572a4d906187b77f32133a72a44316fa74e4 Reviewed-on: https://review.mlplatform.org/490 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2019-01-11COMPMID-1761: NEON: Implement PackIsabella Gottardi
Change-Id: Icc3392494b1e3361e8fd925da200827c494351b3 Reviewed-on: https://review.mlplatform.org/430 Reviewed-by: Manuel Bottini <manuel.bottini@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Giuseppe Rossini <giuseppe.rossini@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
2019-01-10COMPMID-1764 NEON: Implement ArgMax/ArgMinMichalis Spyrou
Change-Id: Ibe23aa90b36ffd8553d1d1c35fada5d300fab829 Reviewed-on: https://review.mlplatform.org/475 Reviewed-by: Isabella Gottardi <isabella.gottardi@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Giuseppe Rossini <giuseppe.rossini@arm.com>
2019-01-08COMPMID-1759 NEON: Implement ReverseMichalis Spyrou
Change-Id: I53852069ca223eb571a443e501278980fc60f3b4 Reviewed-on: https://review.mlplatform.org/474 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
2019-01-08COMPMID-1865 NEReduceMean fails on shape validationMichalis Spyrou
Also handle negative axis Change-Id: I28e48702d926c2f4aea7b1b674b51bebb01ce5f8 Reviewed-on: https://review.mlplatform.org/464 Reviewed-by: Matthew Bentham <matthew.bentham@arm.com> Reviewed-by: Isabella Gottardi <isabella.gottardi@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
2019-01-08COMPMID-1756: NEON: Implement RSqrt, ExpGeorge Wort
Change-Id: I6b140b8868b04f7d3032a51831a80829e8e1560e Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/165590 Tested-by: bsgcomp <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Reviewed-on: https://review.mlplatform.org/470 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
2019-01-02COMPMID-1769: Add support for NEON StridedSlice,Split,Slice,UnstackGeorgios Pinitas
Change-Id: I7d3c5e6858fed090410720f76947327e39bc72f8 Reviewed-on: https://review.mlplatform.org/450 Reviewed-by: Giuseppe Rossini <giuseppe.rossini@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com> Reviewed-by: VidhyaSudhan Loganathan <vidhyasudhan.loganathan@arm.com>
2019-01-02COMPMID-1767: NEON: Implement Where/SelectGeorge Wort
Change-Id: If8a1ab6d6a029a5c547b726e0692eecef9a2e97d Reviewed-on: https://review.mlplatform.org/415 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-12-17COMPMID-1754: NEON: Implement Maximum, Minumum, SquaredDifferencegiuros01
Change-Id: I77e8c6a8af6ad841293ed5e66ed582035cc1424b Reviewed-on: https://review.mlplatform.org/339 Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-12-13COMPMID-1741: Implement NEFuseBatchNormalizationKernelgiuros01
Change-Id: Ib3ba4b22804a94a1e8ef6d7076e28c2fc1cd2fa2 Reviewed-on: https://review.mlplatform.org/385 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Reviewed-by: Anthony Barbier <Anthony.barbier@arm.com>
2018-12-11COMPMID-1497: Add support for interleaved B reshaping in gemm_interleavedAnthony Barbier
Change-Id: I2171e1bf707bdcfa221c18d7a8904979e110020d Reviewed-on: https://review.mlplatform.org/326 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Pablo Marquez <pablo.tello@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-12-05COMPMID-1757: NEON: Implement Tilegiuros01
Change-Id: Ic6a1f55f14d53896725afe426bc2e2acb1546589 Reviewed-on: https://review.mlplatform.org/343 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-23COMPMID-1451: Fix MemoryManager usage.Georgios Pinitas
-Fixes NEWinogradConvolution memory manager usage -Moves allocations in prepare staged for GEMMDispatchWrapper. Change-Id: Ic1c709ee473eb4968f5a081f2bc26960f882f8db
2018-11-22COMPMID-1645 NEL2Normalization for FP32/FP16 & NHWCMichalis Spyrou
Change-Id: I29e35024e29781a6b943b568abec9c73649215e6
2018-11-19COMPMID-1644: NEDepthwiseConvolution for FP16 NHWCGeorgios Pinitas
Change-Id: I6e7dee8bd615a5eff01c523f208a218574ee5eab
2018-11-16COMPMID-1461 SSD support: Create NEON PriorBoxMichalis Spyrou
Change-Id: I99e1c3939cfea4b9cb0ddfa313706f31b213ca89
2018-11-15COMPMID-1783: NEGEMMConvolutionLayer fails for QASYMM8 on 32bitGeorgios Pinitas
Change-Id: Ibc8d903c8d3c97b51dc8a3344197b56ad9d6c00e
2018-11-15COMPMID-1451: Fix the shape of scratch_buffer in case of CIFGGeorgios Pinitas
In case of CIFG optimisation scratch buffer should have a size of [batch_size, num_units * 3] else [batch_size, num_units * 4]. Change-Id: I43e46f7b52e791472f1196f36e9142240ba76c5c
2018-11-13COMPMID-1751: Remove output_3d_depth from ↵Georgios Pinitas
NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint Change-Id: I1d5bc4d24059917f9ddef0873dd3043b1f2320a8
2018-11-09COMPMID-1626: Fixed VGG 16/19 bad_alloc failure.Pablo Tello
Some systems don't have enough memory to run the VGG networks, for example on systems with only 2GB memory the VGG example fails throwing a bad_alloc exception. This patch introduces the concept of global memory policy in ACL, the policy is a mechanism which could be used by the library's functions to try to reduce memory consumption on systems with limited memory. In this specific case the VGG examples set the policy to MINIMIZE. The GEMM function checks if the policy is MINIMIZE and in this case does not use the pretransposed weights path as this requires considerable more memory. Change-Id: I53abc3c9c64d045d8306793ffc9d24b28e228b7b
2018-11-09COMPMID-1451: Dispatch fp16 gemms through the function interface.Georgios Pinitas
Change-Id: I57bbdbef85d1f6e8cf1d13324f9cc38a3e3f0cc3
2018-11-08COMPMID-1451: Fix fused activation in GEMMConvolutionLayerGeorgios Pinitas
-Uses output quantization information for the activation layer. -Updates checks for BoundedRelu at CL side. Change-Id: I0447860e90f1c89b67b9ace3c8daad713f6c64e0
2018-11-08COMPMID-1736: Fixed out-of-bound write in CLIm2ColGian Marco Iodice
The issue was related to CLIm2Col when the number of input channels was less than the number of elements processed by each thread. The bug has been fixed in the validate_and_configure_window() function setting the correct number of elements accessed in the output tensor. Also fixed an issue GEMM3D when we have a single output channel Change-Id: I094292d0c7662599c4a4c3916ec5f5821df5faef
2018-11-08COMPMID-1675: Add SVE supportGeorgios Pinitas
Change-Id: I86679adff556b6ffc9929b35cbf1b59b3958bdb1
2018-11-08COMPMID-1579: Add support for ChannelShuffle operator in NEONGeorgios Pinitas
Change-Id: I6d5f91579850906e1eb973ff6c5612195255e631
2018-11-08COMPMID-1773: Replaced Gemm wrapper for NEGEMM in NEWinogradPablo Tello
Change-Id: I68c648a5246fcdc67a496602089f93d65eb1d601
2018-11-02COMPMID-1701: small cleanup NEWinogradConvolutionLayer.Pablo Tello
Change-Id: I0cf221c706c3d957423941d3aa9a9262dcb00c00 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/155593 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-1413 - Improve the performance of GEMMLowp with 8 bit dot product on ↵Gian Marco Iodice
OpenCL COMPMID-1424 - Add dot product support for CLDepthwise QASYMM8 3x3 NHWC non-unit stride With this patch we are able to improve the performance of MobileNet v1-qasymm8 by 37 % Tried to use the dot product instruction in CLDepthwise QASYMM8 3x3 NHWC non-unit stride but I have not seen any benefit (maybe because we have few arithemtic operation and we do not have more load instructions). However Depthwise convolution has been improved by 30% Change-Id: Id768a99c2e53a04276707e427af5d0ec93419ada Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/155082 Tested-by: bsgcomp <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-1451: Remove invalid bias check in NEDeconvolutionLayerGeorgios Pinitas
Change-Id: Ibb6b0ceed19111c01fcc96eb50e461f9811b61b9 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/155260 Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com> Tested-by: bsgcomp <bsgcomp@arm.com>
2018-11-02COMPMID-1451: Fuse activation in DepthwiseConvolution.Georgios Pinitas
Change-Id: Id964d9068e18aaa13ab8adcbf7a9375b034ea6c3 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/154651 Tested-by: bsgcomp <bsgcomp@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
2018-11-02COMPMID-1451:Fuse RELU,LU_BOUNDED_RELU with requantization in ↵Georgios Pinitas
NEGEMMConvolutionLayer. Change-Id: Iea5f2c5bcac8051c4c7655a6eabb2c43772eb31f Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/154104 Tested-by: bsgcomp <bsgcomp@arm.com> Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
2018-11-02COMPMID-1580 Implement ReduceMean in NEONMichalis Spyrou
Change-Id: Id974efad304c2513b8824a6561ad45ee60b9e7fb Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/153763 Reviewed-by: Giuseppe Rossini <giuseppe.rossini@arm.com> Reviewed-by: Isabella Gottardi <isabella.gottardi@arm.com> Tested-by: bsgcomp <bsgcomp@arm.com>
2018-11-02COMPMID-1451: Fix allocation of weights in DeconvolutionMichele Di Giorgio
Change-Id: If3ca0b034a7448df1e5349b51a2b124f1b4e99c1 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/153956 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: bsgcomp <bsgcomp@arm.com>
2018-11-02COMPMID-1586: Add support for NHWC CLDeconvolutionLayerMichele Di Giorgio
COMPMID-1651: Fix QASYMM8 CLDeconvolutionLayer This patch also extends the range of values used for testing Convolution and Deconvolution to cover quantized [-1.0f, 1.0f]. Change-Id: I8b280669db67bb3ec25bf5d411c8f5954f5b0dab Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/149869 Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com> Tested-by: bsgcomp <bsgcomp@arm.com>
2018-11-02COMPMID-1621 Deconvolution wrong output calculationMichalis Spyrou
Change-Id: Ida71312bcf6dbd854f2ab1efc65f74910c79e152 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/151510 Tested-by: bsgcomp <bsgcomp@arm.com> Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com>
2018-11-02COMPMID-1519: Add support for 3D input/output in CLGEMMLowpOutputStageGeorgios Pinitas
Change-Id: I637add70310d2da4d82b236a6352af9d33be17a1 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/149706 Reviewed-by: Isabella Gottardi <isabella.gottardi@arm.com> Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com> Tested-by: bsgcomp <bsgcomp@arm.com>
2018-11-02COMPMID-1596 Create UpsampleLayer for NEONMichalis Spyrou
Change-Id: I82d95c4f1c5fed13b213a2591cc2b4e0d0e02a54 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/149676 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Reviewed-by: Pablo Tello <pablo.tello@arm.com> Tested-by: bsgcomp <bsgcomp@arm.com>
2018-11-02COMPMID-1590: Memory corruption in arm_compute_validation.Pablo Tello
RSH code only support padding SAME|VALID, this means we cannot call it with padx=1 for kernel size 5x5. The supporting padding values are 2 and 0. Fixed the problem by modifying the test shapes and added some asserts in NEWinogradConvolutionLayer. Change-Id: I4b73fa9d13c2200a47002965dc3b471d0f2cafba Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/149883 Tested-by: bsgcomp <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-1540 Implement YOLOLayer on NEONMichalis Spyrou
Change-Id: Ice28996959dc666fff5e8ae486c1ff8093db083f Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/148367 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: bsgcomp <bsgcomp@arm.com>
2018-11-02COMPMID-1446 : Add support for 3D output in NEGEMMLowpOutputStageGeorgios Pinitas
Change-Id: I61e7d39d09a9936b1128ec04038fa2d8dfe6a2c8 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/149211 Reviewed-by: Isabella Gottardi <isabella.gottardi@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: bsgcomp <bsgcomp@arm.com>
2018-11-02COMPMID-1564: Add NEDepthwiseConvolution3x3 for QASYMM8Georgios Pinitas
Change-Id: I1f55508af6f220e5f41df7b56daffb4761ed0591 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/148253 Tested-by: bsgcomp <bsgcomp@arm.com> Reviewed-by: Isabella Gottardi <isabella.gottardi@arm.com>
2018-11-02COMPMID-1532: Add DepthwiseConvolution3x3 FP16 on NEONGeorgios Pinitas
Change-Id: I780970f317b979b3230e2b471ac01df7fda9ee14 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/148168 Tested-by: bsgcomp <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-1563: Fix name of NEGEMMInterleavedWrapperAnthony Barbier
Change-Id: I5f868091cae7bd86eeeb7216d44f32c190c5a604 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/147804 Tested-by: bsgcomp <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-1566: Add broadcast to CLArithmeticSubtractionGeorgios Pinitas
Change-Id: I05d21f9a92013ecfd1128d12cf1561cfd6e5c5e9 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/147983 Tested-by: bsgcomp <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>