aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-11-15COMPMID-1329: Add support for GenerateProposals operator in CLgiuros01
Change-Id: Ib0798cc17496b7817f5b5769b25d98913a33a69d
2018-11-14COMPMID-1451: Perform fusion before GroupConvolution unrollingGeorgios Pinitas
Change-Id: Id94fb9c88a498d7b938f4f707e2e7b9b6df94880
2018-11-14COMPMID-1462 SSD support: Create CL PriorBoxMichalis Spyrou
Change-Id: I5bf5d751ec7c02d96c26a769f49d03ea23a248b7
2018-11-14COMPMID-1638: Add BBoxTransform to the graph API (3RDPARTY_UPDATE)Manuel Bottini
Change-Id: Ie13a9eb6d417388b5de533bffa895796d9d2cf62
2018-11-14COMPMID-1781 Add channel support in CLL2NormalizationMichalis Spyrou
Change-Id: Ibab049f09413258c99335b7da6b151530a1bd136
2018-11-13COMPMID-1707: Create 3 special CLWidthConcatenate kernel to concatenate 2/4 ↵Michele Di Giorgio
and 8 tensors (Part 1) Creating special cases for concatening 2 and 4 tensors. Change-Id: I6a739a494ae45011acb65369e353f9ef96970b90
2018-11-13COMPMID-1751: Remove output_3d_depth from ↵Georgios Pinitas
NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint Change-Id: I1d5bc4d24059917f9ddef0873dd3043b1f2320a8
2018-11-12COMPMID-1451: Fix clang-tidy issues.Georgios Pinitas
-Use raw string literals in regexp in CPUUtils.cpp -Avoid implicit cast bool->int Change-Id: I45a403ab8d0be02bb8dec267fe59545ad1074292
2018-11-12COMPMID-1451: Set axis correctly in CLL2Normalize validate functionGeorgios Pinitas
Change-Id: I93b14106cda8a1f640cf5acf120d31e2ebdaf495
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: Reduces accuracy issue in NEPoolingLayer for QASYMM8 NHWCGeorgios Pinitas
Adds 0.5f after scaling AVG pooling to be able to round to nearest as vcvtq_u32_f32 rounds towards zero. Change-Id: I22ce78f9e628cf4184a317edabce47211ab09456
2018-11-09COMPMID-1451 - Removed unused OpenCL kernel from gemmlowp.clGian Marco Iodice
Removed gemmlowp_mm_bifrost_transposed_dot8 kernel as not used Change-Id: I43cf463a3a4c0cdb2808621c534ffd5c9fd47ca1
2018-11-09COMPMID-1451: Perform two steps in calculating sqrt in NEPoolingLayerGeorgios Pinitas
Increases the steps for calculating invsqrt used in L2 pool by 1 to increase accuracy. Change-Id: Ib938a963809b07c30d47ec0675abae75bc086986
2018-11-09COMPMID-1451: Dispatch fp16 gemms through the function interface.Georgios Pinitas
Change-Id: I57bbdbef85d1f6e8cf1d13324f9cc38a3e3f0cc3
2018-11-09COMPMID-1451: Remove unused code.Georgios Pinitas
Change-Id: If5be77602e37b14aea63d7ec6d8adab324628f04
2018-11-09COMPMID-1675: Remove unused SVE filesGeorgios Pinitas
Removes: -sve_interleave_8way_block2_16bit -sve_interleave_8way_block4_16bit -sve_sgemm_3VLx8 Change-Id: I0aa35fe974d8e122937dfe8923ecf63ff5a52001
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-1451: Allow weights retention in CLDeconvolutionLayerMichele Di Giorgio
Change-Id: I953f3b63aa4910650a1a3f6faea31beb4f6f376a
2018-11-08COMPMID-1638 - Add BBoxTransform to the graph APIManuel Bottini
Change-Id: I67cbbce59d61d907fc4dc4c3997e96b347dfe895
2018-11-08COMPMID-1451: Removed output_depth3d from ↵Gian Marco Iodice
CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloat Since we perform an element-wise operation, it is not necessary to pass the output_depth3d. Change-Id: Ibfa07a0706e902acf59b444aa61e18a348162ea9
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-1776: Revert QuantizeDownStage to use fixed-pointGeorgios Pinitas
Change-Id: I807ef84dbf893bd401dcac5c0fa3a4ee49aabc66
2018-11-08COMPMID-1773: Replaced Gemm wrapper for NEGEMM in NEWinogradPablo Tello
Change-Id: I68c648a5246fcdc67a496602089f93d65eb1d601
2018-11-07COMPMID-1451: Fixed zerobuff sizes and clobbers in interleave transforms.Georgios Pinitas
Change-Id: If8fbd04d0817b9e654ffa9715879a2521de66963
2018-11-06COMPMID-1451: Fix order of allocations in CLLSTMLayerMichele Di Giorgio
ArmNN reported an issue with padding in CLLSTMLayer. This was due to the fact that some tensors were allocated before they were passed to some configure functions which attempted to change the padding requirement on already allocated memory. Also, increase tolerance on number of mismatches for CLBBoxTransform FP16. Change-Id: Iad75b012be895693d0e553f3ab85f1ca7144e882
2018-11-06COMPMID-1328 Add support for BoxWithNMSLimit operator in CPPMichalis Spyrou
Change-Id: I5aae537372bf797fbb2a2bae81038f8963b041a9
2018-11-06COMPMID-1703: Collapse the 4th dimensions in ↵Georgios Pinitas
CLDepthWiseConvolutionLayer3x3Kernel Change-Id: Ie274da79b15c03f86dfedc85bb721b3de34a0bb4
2018-11-02COMPMID-1739: Fix broadcast CLArithmeticAddition for QASYMM8Michele Di Giorgio
Commit 16121924 `COMPMID-1673: Collapse window in CLArithmeticAddition when one operand is a vector` changed the number of elements processed per iteration to 8, but didn't update the quantized kernel to reflect that. Change-Id: I49a2fbcee81f5bbc1b210b4a5c6d63b94eafdcec Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/156355 Reviewed-by: Isabella Gottardi <isabella.gottardi@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: bsgcomp <bsgcomp@arm.com>
2018-11-02COMPMID-1712 CLPoolingLayer wrong results in QASYMM8Michalis Spyrou
Also added the test case reported by ArmNN. Change-Id: I9fe9a1b4f74267a3346529f3a597b37486593c4a Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/155914 Tested-by: bsgcomp <bsgcomp@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
2018-11-02COMPMID-1605: API alignment for the MemoryManager with ARMNNGeorgios Pinitas
Change-Id: Iac6a95ba7f388e65b7f1c8865c3e9bf289b233ea Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/155490 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: bsgcomp <bsgcomp@arm.com>
2018-11-02COMPMID-1699: Disable arithmetic operations in CLWinogradLayer when no ↵Georgios Pinitas
batches available. Change-Id: Iad83df2a9116a7f350de83ec59b28cd8893c8d3a Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/155716 Tested-by: bsgcomp <bsgcomp@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
2018-11-02COMPMID-1704: Collapse the 4th dimension in CLPoolingLayerKernelGeorgios Pinitas
Change-Id: I76e57af6608b55b6f59a5d06aecc30063ee4c3cc Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/155733 Tested-by: bsgcomp <bsgcomp@arm.com> Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
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-1029: Collapse CLWinogradInputTransform/CLWinogradOutputTransformGeorgios Pinitas
Change-Id: I051748502ca24b9952e7313524bbfd708162efb4 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/155166 Tested-by: bsgcomp <bsgcomp@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
2018-11-02COMPMID-1451: Fix CL/NEPermuteKernel PermuteVection checkIsabella Gottardi
COMPMID-1690: Add tests for NEPermute with PermutationVector dimension > 3 Change-Id: I4bfc6ff88cd46863c2e39975b5663c624db1a63d Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/155316 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: bsgcomp <bsgcomp@arm.com>
2018-11-02COMPMID-1451: Fix validation issue in CLReduceMeanMichalis Spyrou
Change-Id: Ie1bcdd9dca2dc3b26003790a19cc80bb953385b2 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/155373 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: bsgcomp <bsgcomp@arm.com>
2018-11-02COMPMID-1451: Fix inlines in cl helpersGeorgios Pinitas
Change-Id: I9cb725a8052091469904ecc7cfffa4add9914ffb Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/155261 Tested-by: bsgcomp <bsgcomp@arm.com> Reviewed-by: Manuel Bottini <manuel.bottini@arm.com> Reviewed-by: Pablo Tello <pablo.tello@arm.com>
2018-11-02COMPMID-1530 error: dereferencing type-punned pointer will break ↵Michalis Spyrou
strict-aliasing rules Change-Id: I9e54d07cf1d77c14f124056d3724b49981bf3f97 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/155292 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: bsgcomp <bsgcomp@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-1681: (Nightly) NEWidthConcatenateLayer failsMichele Di Giorgio
NEWidthConcatenateLayerKernel works with 4D tensors too, hence the check has been removed and tests have been added. Change-Id: I73814cabe5fae975a44cc1a03b092c552497e57d Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/155070 Tested-by: bsgcomp <bsgcomp@arm.com> Reviewed-by: Isabella Gottardi <isabella.gottardi@arm.com>
2018-11-02COMPMID-1451 Properly remove dimensions in CLReduceMeanMichalis Spyrou
Change-Id: I7bd4a8ce81483ba56686b765ca3caabebe42882d Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/155000 Tested-by: bsgcomp <bsgcomp@arm.com> Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com>
2018-11-02COMPMID-1673: Collapse window in CLArithmeticAddition when one operand is a ↵Michele Di Giorgio
vector When one of the operands is a vector, the kernel does a broadcast addition and the window is not collapsed. This represent an issue because it leads to a lot of enqueues that increases the time taken by the OpenCL driver. This patch allows to collapse the window when one of the two operands is a vector. Furthermore, it adds LWS tuner to the kernel. It also changes the number of elements processed per iteration to 8 to make better usage of the cache. Change-Id: I5f09ab0ddcffb3b7f9326a987c79a997b2d7fa8c Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/155003 Reviewed-by: Giuseppe Rossini <giuseppe.rossini@arm.com> Tested-by: bsgcomp <bsgcomp@arm.com>
2018-11-02COMPMID-1451: Perform CLOutputStage using floats.Georgios Pinitas
Change-Id: Ic8312a5b6790aa7cd4468d42f08d557ad40e9441 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/154570 Tested-by: bsgcomp <bsgcomp@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@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-1327: Add support for BBoxTransform operator in CLgiuros01
Change-Id: I91865506166951b3bf7f06a0b2d4cde925cfefb6 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/153447 Tested-by: bsgcomp <bsgcomp@arm.com> Reviewed-by: Pablo Tello <pablo.tello@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-1632 Add CLL2NormalizationLayer for NHWC and FP32Michalis Spyrou
Change-Id: Iae22554d5fe893fd22a000eab5bfd8275ea06eb3 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/154102 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: bsgcomp <bsgcomp@arm.com>