aboutsummaryrefslogtreecommitdiff
path: root/src/core/NEON
AgeCommit message (Collapse)Author
2019-01-16COMPMID-1710: Fixes substitution errors in bare_metal build.Georgios Pinitas
Change-Id: Icf76503b4d01e90a682b9bed0798a8a635840e46 Reviewed-on: https://review.mlplatform.org/528 Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
2019-01-16COMPMID-1710 Move some Util functions to core/UtilsMichalis Spyrou
Building with exceptions=0 was failing Change-Id: I6f264dc859dedc66d12d522652134508e18d5740 Reviewed-on: https://review.mlplatform.org/526 Reviewed-by: Isabella Gottardi <isabella.gottardi@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
2019-01-16COMPMID-1890 Compile failure (uninitialized warning) with g++7.3Michalis Spyrou
Change-Id: I518654387610316f03fbf8a72776d8f7789b29cd Reviewed-on: https://review.mlplatform.org/525 Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
2019-01-15COMPMID-1885 (Nightly) Bug in NEON ArgMinMaxMichalis Spyrou
Change-Id: Id5214de8d679c514132efe81489c637613573224 Reviewed-on: https://review.mlplatform.org/516 Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com> Tested-by: Arm Jenkins <bsgcomp@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-1652 NEON Cleanup and add missing testsMichalis Spyrou
Change-Id: I7b351f18a78ed8a250bf3a91ef320db61984146a Reviewed-on: https://review.mlplatform.org/485 Reviewed-by: Isabella Gottardi <isabella.gottardi@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michele Di Giorgio <michele.digiorgio@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-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-18COMPMID-1755 NEON: Extend DepthConvert to support CastMichalis Spyrou
Change-Id: I8e2ed9e97cbe86d8caf162bd84ecfd9b43b0bd3b Reviewed-on: https://review.mlplatform.org/401 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Giuseppe Rossini <giuseppe.rossini@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-12-18COMPMID-1809: Create a neon vector wrapper using register size.Georgios Pinitas
Change-Id: I2657f0c09918924a38a75c395301414e50edc198 Reviewed-on: https://review.mlplatform.org/412 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Giuseppe Rossini <giuseppe.rossini@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-12COMPMID-1697: NEPermute extended support for more cases.Pablo Tello
Regardless the input data layout NEPermute function has been added support for the all the permutations of 4d tensors Added corresponding validation tests. Change-Id: I0f8f20c2c3716e908a18a59783be53efab80ef5b Reviewed-on: https://review.mlplatform.org/367 Reviewed-by: Giuseppe Rossini <giuseppe.rossini@arm.com> Tested-by: Arm Jenkins <bsgcomp@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-07COMPMID-1826: Add support for QASYMM8 in NEArithmeticAdditionKernelGeorgios Pinitas
Change-Id: Ia7fb128e1f3944d0d831e1d125a6db3e1d257106 Reviewed-on: https://review.mlplatform.org/355 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Isabella Gottardi <isabella.gottardi@arm.com> Reviewed-by: Anthony Barbier <Anthony.barbier@arm.com>
2018-12-05COMPMID-1634: Cleaned up NEPoolingLayer.Pablo Tello
Reduced the binary size of NEPoolingLayerKernel.o form 266k to 95K Change-Id: Ia1e79849430a5f34f5c1fa3fb15f23a61555a7f0 Reviewed-on: https://review.mlplatform.org/344 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michalis Spyrou <michalis.spyrou@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-12-03COMPMID-1497: Use reshaped B strategy in GEMM by defaultAnthony Barbier
NELSTM, NEFullyConnectedLayer(For quantised types only), NERNN and NEWinogradLayer were all defaulting to on-the-fly reshaping of B Fixed a bug in GemmInterleaved: it was ignoring the 'multis' dimension of the tensor to allocate the memory for B reshaped Change-Id: I7b30f7f57fc65d6a03cccde0bf5515a811f17b54 Reviewed-on: https://review.mlplatform.org/323 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-30COMPMID-1815 Remove templates from NEFillborderKernel and create ↵Michalis Spyrou
INESimpleFunctionNoBorder Change-Id: Ia9fdc75b23e9a6208058f8406fb7b5fcd917de2c Reviewed-on: https://review.mlplatform.org/311 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
2018-11-29COMPMID-1451: Remove invalid bias inclusion in specialized function.Georgios Pinitas
Fixed Segfault by removing bias iterator from specialized function which assumes no bias being provided. Change-Id: Ic897435ee9427d4359e8ab989a03e951da0d7ce0 Reviewed-on: https://review.mlplatform.org/314 Reviewed-by: Anthony Barbier <Anthony.barbier@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
2018-11-28COMPMID-1813: Fix bias == nullptr in NEDirectConvolutionLayerOutputStageKernelGian Marco Iodice
Wrong check in the function Change-Id: I38e4d5f01039c8352c0e83f0711455af85f9c3fe
2018-11-23COMPMID-1647 NENormalizationLayer IN_MAP_2D support for NHWC for FP32/FP16Michalis Spyrou
Change-Id: Id74cc7ba8e5cabee6acd3798d4779f88b1f00a9b
2018-11-22COMPMID-1645 NEL2Normalization for FP32/FP16 & NHWCMichalis Spyrou
Change-Id: I29e35024e29781a6b943b568abec9c73649215e6
2018-11-22COMPMID-1718: Extend DepthConvert to support CastGeorgios Pinitas
Change-Id: I6ee2c0b670727fc808fa636c53ddfaec3a0036c9
2018-11-21COMPMID-1451 Change PriorBox output to NCHwMichalis Spyrou
Output of Priorbox should be independent of the input data layout and should always be in NCHW format Change-Id: Ie80cd4e51c78945b158c0db1af1923bdf8d7ea7b
2018-11-21COMPMID-1800: (Nightly) Mismatches in SC9863 board for NEON FP16Michele Di Giorgio
Fixes for: - ReduceMean, reduction on the X axis for FP16 with 8 elements was performed only up to a certain point. The fix now takes into account the number of elements of the vector and does as many reductions as necessary. - YOLOLayer, activation for FP16 has to be performed on 32 bits until the FP16 approximations is fixed. Change-Id: I75373f4edd37de476e6fe1a56de3ef386b65c619
2018-11-20COMPMID-1646: NEResizeBilinearLayer NHWCGeorgios Pinitas
-Adds NHWC support for FP16 Change-Id: I61addf8efecf511ac8cd5f8aa9afc3e09c476aaf
2018-11-19COMPMID-1644: NEDepthwiseConvolution for FP16 NHWCGeorgios Pinitas
Change-Id: I6e7dee8bd615a5eff01c523f208a218574ee5eab
2018-11-19COMPMID-1065 : Create documentation explaining how to add new functions / ↵Vidhya Sudhan Loganathan
kernels Change-Id: I98183f95814442b6f3dbb67a1bdae99df05b9b01
2018-11-16COMPMID-1461 SSD support: Create NEON PriorBoxMichalis Spyrou
Change-Id: I99e1c3939cfea4b9cb0ddfa313706f31b213ca89
2018-11-15COMPMID-1784: Fixed mapx/mapy access windowsAnthony Barbier
num_elems_processed was passed as a scale instead of a step Change-Id: I8c6d58fe4432f9f6beb31c0a1e02204c96775d98
2018-11-13COMPMID-1751: Remove output_3d_depth from ↵Georgios Pinitas
NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint Change-Id: I1d5bc4d24059917f9ddef0873dd3043b1f2320a8
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: 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-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-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-07COMPMID-1451: Fixed zerobuff sizes and clobbers in interleave transforms.Georgios Pinitas
Change-Id: If8fbd04d0817b9e654ffa9715879a2521de66963
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-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-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-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>