aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/NEON/functions
AgeCommit message (Collapse)Author
2018-11-02COMPMID-1401 Implement NEFullyConnectedLayer for QASYMM8Giorgio Arena
Change-Id: I0404df6d369855e2f458f2db8f26e81c80a1ee87 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/140148 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-1419: Make NEGEMMAssemblyDispatch dynamically typed instead of templatedAnthony Barbier
This makes it easier to integrate in GEMMLowpMatrixMultiplyCore Change-Id: Ibf80803f016a2e6a24d943ffafb50b48f04ec545 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/140868 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-1405: Create our own gemm_native kernel / function.Anthony Barbier
Change-Id: Ie0a80bd6b4eb5632cac63ccf54bcb07d4309da19 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/140305 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Giorgio Arena <giorgio.arena@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-1386: Add support for converting weights for CL.Georgios Pinitas
Change-Id: I62e3ead903366baeeb1488f233a9b8b0c388c9de Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/140403 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Giorgio Arena <giorgio.arena@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-1364: Add support for NHWC in NEDepthConcatenateLayerGeorgios Pinitas
Change-Id: I4f8e46d1c79afa9284f2c6dc00383c453a8e7bd5 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/140165 Reviewed-by: Giorgio Arena <giorgio.arena@arm.com> Reviewed-by: Pablo Tello <pablo.tello@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-1357: Stop passing around raw pointers in NEWinogradConvolutionAnthony Barbier
First step to allow us to enable the memory manager in this function Change-Id: Ic42fdac4c74cd21973c71130b59883e4a87d3dca Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/140167 Reviewed-by: Pablo Tello <pablo.tello@arm.com> Reviewed-by: Vidhya Sudhan Loganathan <vidhyasudhan.loganathan@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-1357: Port NEWinogradConvolution to use NEGEMMAssemblyDispatchAnthony Barbier
Change-Id: I9a6a1ebf3956b2b5747027f659cb326b86335f50 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/140155 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Pablo Tello <pablo.tello@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-1365: Add support for NHWC in CLDepthConcatenateLayerGeorgios Pinitas
Change-Id: I3ed55bdb95d888aff0b0b76fb841bf1669659308 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/139963 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-1381: Fix nightly build failure on armv7Anthony Barbier
Change-Id: Ic8e238a03361c04cc0b9daada81d63e5e423d2b8 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/139825 Reviewed-by: Pablo Tello <pablo.tello@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-1381: Cleaned up the AssemblyHelper interfaceAnthony Barbier
Introduced a new IFunction for when we'll fork the arm_gemm functions Increased encapsulation and abstraction of which method is used Change-Id: I5fd8b14b5c77e7f8ecb09029b5e2eccd10dbdcf4 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/139108 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Reviewed-by: Pablo Tello <pablo.tello@arm.com>
2018-11-02COMPMID-1167: Validation for NEDepthwiseConvolutionLayerAbe Mbise
Change-Id: I9689e1a0627dc015dd2ce98417e4c97bb55581bb Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/131327 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-970 : Remove QS8 / QS16 supportVidhya Sudhan Loganathan
Removed fixed point related code. Change-Id: I487acf138dace3b0450e0d72ca7071eaec254566 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/137678 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-1352: Disable support for 4D softmax layer.Georgios Pinitas
Change-Id: Ia8afabb36e644895d321ded51a6a0676347443e1 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/138387 Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-1334 (Nightly) Fix std::bad_alloc error in 32-bit NEON runsGiorgio Arena
Change-Id: I412420a4f02225708fcc8f446a5af5a9faf7d0a5 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/137846 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-1253: Nightly: Fix Canny Edge NEON failingMichele Di Giorgio
Change-Id: If0836522792717a843c1cab405afc9320ce53079 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/137162 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-1287: Extending NEWinogradLayer test suitePablo Tello
Added NHWC to the dataset to the validation tests Fixed a problem in the output transform which made the Activation to fail because way/ordering the output transform wrote the data to the output tensor. Change-Id: I9609f86605dbfef70b47a0fb043287bf0e5d675b Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/136015 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-1067 NEON RNN FP32 / FP16Michalis Spyrou
Change-Id: I440df2b2af512fd874651baf28428caa6f8e0b41 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/134433 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-1145: (API) Introduce prepare() stage (NEON/CL/GLES)Georgios Pinitas
Change-Id: I5b46764f9c3154ec3e3b9c951cc9e6dfbcb81dfb Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/134255 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Pablo Tello <pablo.tello@arm.com> Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com>
2018-11-02COMPMID-1162: Enable NHWC data layout support for NEWinogradConvolutionLayer ↵Pablo Tello
- part1 In this first part we reworked the configuration of the kernels as before we passed the raw pointer to the buffer within the configuration of the function Change-Id: I83d3cb64c562303093c7f0ae52395ecd080a5d52 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/133560 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Giorgio Arena <giorgio.arena@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
2018-11-02COMPMID-1160 Turn Graph hints into heuristicsGiorgio Arena
Change-Id: Id24c2f07c59d863f8e1af6a1afbf6a542b2b9954 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/135142 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Pablo Tello <pablo.tello@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-1209: Enable memory manager for the GEMM workspace bufferGeorgios Pinitas
Change-Id: I125660d412945aa152cb76c78280ca0d52264b86 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/133372 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-568: Implement Canny edge function for CL/NEONAbe Mbise
Change-Id: Ic5f197463f962bac4b23663bcef7ac744be6fc2a Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/114250 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-1168: enabling memory manager for _gemm_output gives wrong resultsGeorgios Pinitas
Change-Id: I96fbca08c2ad3a7415d1578fe7ec56f8a6069783 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/131946 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Reviewed-by: Pablo Tello <pablo.tello@arm.com>
2018-11-02COMPMID-1163: NEON Scale NHWC failuresGeorgios Pinitas
Change-Id: Ice620385ce787b568b38fcbdddc94ef385396141 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/131355 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-959 - Fix Validate in Convolution LayerIsabella Gottardi
Change-Id: I6736ba4486df5ab10685ce17d41147359a4f3e80 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/131091 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-1106 Add fast math support in NEWinogradConvolutionLayerGiorgio Arena
Change-Id: I5fcbbb3b6f22204f0aaebbc319dfdf03593577e8 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/130067 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
2018-11-02COMPMID-814: Add validate method to scale.Georgios Pinitas
Change-Id: I5004c79ac7b10f988f25e14847f1ea2be01629da Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/131143 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-1166: Fixed alpha/beta mixup for some merges.David Mansell
The default templated merge, and the specialised S8 12x8 merge, were using alpha and beta the wrong way round. Fixed. Change-Id: Ie559b665edf1eb012e8cb54ea0bca31612bcc072 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/131309 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-792 - Re-enabled Winograd on NEON in all graph examples.Gian Marco Iodice
Since now the input transform can be multi-threaded, I re-ebaled Winograd in all graph examples Change-Id: I39ef78243bb47fdae135e18dcae2102af0675b3b Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/131048 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-1102 : Enable the use of 4x4 tile sizes in neon implementation of ↵Vidhya Sudhan Loganathan
winograd conv. Change-Id: Ibd2f2c6680b647a066255ea77d4a2a172ef76aa3 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/130418 Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-948: Add validation to NEL2NormalizeLayerJohn Richardson
Change-Id: I0cfea24884066412c2f13d9acdb72ddbccac7545 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/130407 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-814: NEScale NHWC supportGeorgios Pinitas
Change-Id: Ibf5c624a5c5482faa42eb02bc8abe9ae0d65b0d1 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/130608 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-1050 CL/NEON: Create a function to convert the 2D weights of FC ↵Giorgio Arena
layer from NHWC to NCHW and viceversa Change-Id: If77ffeb92b6eb883e5d2d2c97c2c4d1d23d17c8d Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/129257 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-810 Add NHWC data format support for NEON convolutionMichalis Spyrou
Change-Id: I2a7b49a12da7f3bc3f04749243b1dc111160de6e Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/129348 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-959: Assembly kernel marks weights as unused when pretransposeGeorgios Pinitas
Change-Id: I15943c4c97457f4cc9bff3bb1cce8ad9a8d9ed38 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/130474 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-959: Perform pretranspose if allowed on NEON assemblyGeorgios Pinitas
Change-Id: I281699ce7270aec1317c47b5a13799954cf6c9e8 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/130010 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Pablo Tello <pablo.tello@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-808 Add NHWC data format support for NEON direct convolutionGiorgio Arena
Change-Id: I5d4cc3d5b0d25f3fe4ed998c0f15b1b8e260a43a Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/125697 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-926 Add depth multiplier support to NEON/CL/GLES depthwise convolutionGiorgio Arena
Change-Id: I03f32c62350e5ea43e77bb15fc5a832d83719e3b Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/126657 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-806 Add NHWC data format support format for NEON poolingMichalis Spyrou
Change-Id: I7ab174c72f3d56134fcec259a137739061fd12e9 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/123065 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-1074: Rename WinograLayer.cpp to WinogradConvolutionLayer.cppGeorgios Pinitas
Change-Id: Iccac7cd6cb458469568d0cd6fb36b262353f4188 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/129261 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Pablo Tello <pablo.tello@arm.com>
2018-11-02COMPMID-1041 NEON Winograd: update function to use GEMM functionMichalis Spyrou
Change-Id: I1ecdf10e02193de7f47a72b75cce0d58a1fa1a1c Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/128411 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Pablo Tello <pablo.tello@arm.com>
2018-11-02COMPMID-718 : Winograd: add validate method and testsVidhya Sudhan Loganathan
Changed API's to use winograd_info struct instead of individual params Modified validation to test Validate API Change-Id: I796650092165069e2067e02ace3f42a43f545779 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/128991 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-718 : Winograd: add validate method and testsVidhya Sudhan Loganathan
Validate methods added to Winograd kernels and function. Renamed validation test suit Change-Id: I0a88df436aff0bbaf4fd82213eeda089b87ac5bf Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/127781 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-1026 - Add support for 4x4 output tile in CLWinogradConvolutionLayerGian Marco Iodice
The performance achieved can be found at the following confluence page: https://confluence.arm.com/display/MLENG/GEMM-based+convolution+vs+Winograd-based+convolution+on+OpenCL Change-Id: I4b690cfdd4eb4ff0cd17b14fdd49ccaa1d1dc85c Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/127729 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
2018-11-02COMPMID-797 Integrate Mobilenet QASYMM8 with new graph.Giorgio Arena
Change-Id: I4df63ec2f4eb27a8a6eec2bea27741bf8dec6910 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/126966 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-812 Add NHWC data format support for NEON depthwise convolution ↵Giorgio Arena
(optimized case). Change-Id: Icdfd6c02ed526daf4f59a4b76c7bbc1bc48fde74 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/125938 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-1051 - Fix validate method in NEGEMMConvolutionLayerGian Marco Iodice
Change-Id: I10e8e1267a09246cac77e677f1c087bb1d80a61b Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/127517 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
2018-11-02COMPMID-959: Disabled winograd on Arm Cortex-A53 while we're working on a fixAnthony Barbier
Change-Id: I29e6288ceb60002208bb9c9bb1a517e56e70c20e Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/127807 Reviewed-by: Pablo Tello <pablo.tello@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
2018-11-02COMPMID-802 Add NHWC data format support for NEON im2col.Giorgio Arena
Change-Id: I86e678179106a2b83d1c6a7cfe562df91b0f9eb2 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/124000 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Pablo Tello <pablo.tello@arm.com>
2018-11-02COMPMID-1040: Added support for nullptr bias tensor in NEWinogradLayerAndrew Mundy
Change-Id: Ie624ee17c63dede711d913a82819e128954a57c9 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/124861 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>