aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon
AgeCommit message (Collapse)Author
2020-04-06IVGCVSW-4485 Remove Boost assertNarumol Prangnawarat
* Change boost assert to armnn assert * Change include file to armnn assert * Fix ARMNN_ASSERT_MSG issue with multiple conditions * Change BOOST_ASSERT to BOOST_TEST where appropriate * Remove unused include statements Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I5d0fa3a37b7c1c921216de68f0073aa34702c9ff
2020-03-31IVGCVSW-4633 Add conversion of BF16 support to NeonNarumol Prangnawarat
* Add NeonConvertBf16ToFp32Workload * Add NeonConvertFp32ToBf16Workload * Add BFloat16 type support to NeonConstantWorkload and NeonTensorHandle * Add ConvertBf16ToFp32Weight when ConvertBf16ToFp32Layer is added * Unit tests Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Id5b44a203add5e0c98c1ca4e2162115741b56644
2020-03-30IVGCVSW-4603 Support comparison operators in NeonTeresa Charlin
* Deprecate NeonGreaterWorkload * Add NeonComparisonWorkload to encompass all comparison operators Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I5e828088d17e994fc5cb0b908719b53ee01fa959
2020-03-24IVGCVSW-3813 Add Unary Elementwise Operation 'NEG' support to the ↵Sadik Armagan
android-nn-driver * Implemented ClNegWorkload * Implemented NeonNegWorkload * Enabled 'NEG' operator on CL and Neon as well as Ref * Implemented unit tests for 'NEG' operator Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I3d7a892692716636cae6bdf8ddd238e3d1ea064f
2020-03-19IVGCVSW-4565 TENSOR_BOOL8 data type not supported in AndroidNN DriverSadik Armagan
* Enabled Boolean and Int32 data types in Reference Comparison inputs * Added decoder for Boolean data type * Refactored ClGreaterWorkload to work with any data type * Refactored NeonGreaterWorkload to work with any data type !android-nn-driver:2902 Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I92772810b744b388831c9dca0119ebf8cb7a447e
2020-03-18IVGCVSW-4446 Add HardSwish EndToEnd testsJan Eilers
* adds convert from armnn HardSwish to Acl HardSwish * adds EndToEnd tests for Ref, Cl and Neon Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: If997dad783ff45d7f061254e7e30bb69d4d4d564
2020-03-18IVGCVSW-4444 Adding Elu end to end testJan Eilers
* implemented activation layer end to end test * adds support for different tolerances in layer tests * added tests for Elu (Ref, Cl, Neon) Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I81e28cfb4456e815bae2fb31f5c345134ff2432f
2020-03-13IVGCVSW-4531 Fix for failing strided slice NNT/VTS tests on Android RDavid Monahan
Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I7f6932f0d21b5678ab9822b0fc69f589bbbb07e5
2020-03-10IVGCVSW-4482 Remove boost::ignore_unusedJan Eilers
!referencetests:229377 Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ia9b360b4a057fe7bbce5b268092627c09a0dba82
2020-03-05IVGCVSW-4539 Add missing Activation Unit Test to CL and NeonTeresa Charlin
*Square, Tanh, SoftReLu, LeakyReLu, Abs, ReLU Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Id7beed0b6770177722bf0f93957706620df81b0d
2020-03-03IVGCVSW-4532 Update Acl Pin to fec13b8e20dc9d71d729f750633fa52c3a8a0036Kevin May
* Fix NeonLayerSupport/IsLayerSupportedUint8Neon Quantize layer Unit Test Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I71deb10dd3bb18e30c77b72d6ca25a9a4f8842c3
2020-03-03IVGCVSW-4426 Add missing Neon tests for quantized typesKeith Davis
Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I3b33a88801b65697d7580f1f4ebd96cfab6b796e
2020-03-02IVGCVSW-4375 Add support for TransposeMike Kelly
* Added TransposeLayer * Added CL, Neon and Ref Workloads * Added Transpose utilities * Added Serializer and Deserializer support * Added Quantizer support Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I04c755ba7cb5b1edf72b3c9f3c0314878032e3c7
2020-02-28IVGCVSW-4439: Adding Elu support to ActivationDavid Monahan
* Added CpuRef implementation * Added Unit Tests * Added Quantizer Test * Enabled Tests for Neon and CL backends on fp32 only * Added to Serializer Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: Ic23e1797dbc9352b40678c389d7fe2b836b582ea
2020-02-21IVGCVSW-4456 Disable NEON PostDetectionProcessJames Conroy
* Reverting to CpuRef workload because it currently has better performance. * Disabling NEON EndToEnd tests. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: Idd5314e46c50581ef4bec24e391779188f20951b
2020-02-20IVGCVSW-4456 Fix MobileNet SSD perf regressionJames Conroy
* Now use accelerated DetectionPostProcess NEON workload, originally was using vanilla version. Change-Id: Ib64653801024a191f841d601932fa3c54baa5c3b Signed-off-by: James Conroy <james.conroy@arm.com>
2020-02-14IVGCVSW-4420 Failing Unit Test Cl: Quantize layerKeith Davis
* Fix bug with missing ValidateInputsOutputs in Cl Workload * Renamed data type tests to be more specific * Future proofing Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I157acc318e40d727fcfb3f36f7f577fc87472f3d
2020-02-07MLCE-139: add capability to align corners for bilinear resizeSang-Hoon Park
* Add parsing of the related parameter to TfLiteParser * Update ResizeDescriptor to store the additional parameter * Update NEON/CL workload to pass the additional parameter. * Update Reference workload to pass and handle the additional parameter. !ComputeLibrary:2538 !ComputeLibrary:2569 !armnn:2612 Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com> Change-Id: Id149e1c24c2abed7e9dd81939acf54dfabfcdfd2
2020-02-07IVGCVSW-4317 Implement the Profiling Context InitialisationColm Donelan
* Call CreateBackendProfilingContext on each backend from Runtime passing an instance of the BackendProfiling interface. * Modify the signature of CreateBackendProfilingContext to remove const and return a shared_ptr to BackendProfilingContext * Add concrete BackendProfiling class. * Store BackendProfilingContexts in Profiling service. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I975eaa2093ae91fa623835f65f9e5b25eb65117a
2020-02-04Clean up header usage a bit in NEON backendMatthew Bentham
Including NEFunctions.h is unnecessary and adds about a second to compile time each translation unit in which it appears, so we should use just the header file with the arm compute function declarations that we need. Signed-off-by: Matthew Bentham <matthew.bentham@arm.com> Change-Id: I605d0eb82ccf2aafa35381a5d9d54337d3fe17a7
2020-02-03IVGCVSW-4334 Wire Signed Quantized 8 bit type into ACLKeith Davis
* Add QSymmS8 LayerSupport tests for all backends * Update BatchNormalization IsLayerSupport Bias' QSymmS8 case Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: Ib66befe11f9df5956869eb80699fc415a4d3fa16
2020-01-31IVGCVSW-4390 Refactor QUANTIZE to make use of Decoder/Encoder typesKeith Davis
* Add no-ops for CL/NEON Uint8 * Refactor Quantize workload to Decoder/Encoder types Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I80b09de528299b925e2ac38acd9a5019b8d3e4ac
2020-01-29IVGCVSW-4149 Enable quantisation multiplier > 1 in all convolutionsRyan OShea
Signed-off-by: Ryan OShea <Ryan.OShea2@arm.com> Change-Id: I9652844a868ce8e05c0433c051e7079cf203c422
2020-01-29IVGCVSW-4316 First draft of IBackendProfiling and IBackendProfilingContextColm Donelan
* Introduce two new backend profiling interfaces IBackendProfiling and IBackendProfilingContext. * Add a mechanism to pull a context from a backend through IBackendInternal * Update CL, Neon and Ref backends to return an empty profiling backend. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I6e7438fcb126ad7a073a226862dc44836c9998b7
2020-01-27IVGCVSW-4380 Add NEON backend support for BatchToSpaceNdMike Kelly
* Added NeonBatchToSpaceNdWorkload class. * Added CreateBatchToSpaceNd implementation to NeonWorkloadFactory. * Added IsBatchToSpaceNdSupported implementation to NeonLayerSupport. * Enabled BatchToSpaceNd tests on Neon backend. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I179feefaa67dc87a03fcbe52e5df100c1188f9a5
2020-01-24IVGCVSW-4262 Use ACL Permute and Reshape Validate function in Neon and CLKevin May
!android-nn-driver:2642 Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: Ibabb73c0ae0df2e530a68398f75c76e6b80c0701
2020-01-24MLCE-156: Add Division workload in CpuAccPablo Tello
Change-Id: I1f228fcaf1077867d9755a2b850c6703387fab34 Signed-off-by: Pablo Tello <pablo.tello@arm.com>
2020-01-24IVGCVSW-4374 Add NEON backend support for SpaceToBatchNdMike Kelly
* Added NeonSpaceToBatchNdWorkload class. * Added CreateSpaceToBatchNd implementation to NeonWorkloadFactory. * Added IsSpaceToBatchNdSupported implementation to NeonLayerSupport. * Enabled SpaceToBatchNd tests on Neon backend. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: Ic7d469a380482ec9febd44450f72dd7e53cda03f
2020-01-24IVGCVSW-4370 Deprecate DataType::QuantizedSymm8PerAxisDerek Lamberti
!android-nn-driver:2622 Change-Id: If99d3eff71ff66ba28af1e5af248299fe04511b9 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2020-01-23IVGCVSW-4259 Add frontend and reference workload for UnaryOperationLayerjosh minor
* Added new layer named ElementwiseUnary * Deprecated existing Abs/Rsqrt layer functions * Updated existing Abs/Rsqrt test infrastructure to use new layer * Added boilerplate for new Exp,Neg,Sqrt elemwise op layers * AbsQuantize test removed pending future commit * Serialization support added !android-nn-driver:2550 Change-Id: Ic595c645925e17b45db568187fd05646daf2e87f Signed-off-by: josh minor <josh.minor@arm.com>
2020-01-20Remove inclusion of ArmNN.hpp where it is unnecessary.Matthew Bentham
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com> Change-Id: Idb583f8de4470eefb47c90189cd3c90e74e0440a
2020-01-20Remove use of ArmNN.hpp where it is unnecessary.Matthew Bentham
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com> Change-Id: I6c90eab1c6bad76d5c7b3bf094998fa4b454bcd1
2020-01-13Rename quantized data types to remove ambiguity for signed/unsigned payloadsDerek Lamberti
!android-nn-driver:2572 Change-Id: I8fe52ceb09987b3d05c539409510f535165455cc Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2020-01-07IVGCVSW-4246 Enable -Wextra by defaultDerek Lamberti
!referencetests:218340 Change-Id: If24a604310d0363b1f09b406e4d53ebfeb106aad Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2020-01-03IVGCVSW-4246 Clean build of parsers with -WextraDerek Lamberti
Change-Id: Ib00f185b431ab74fd9425d8f478bd2ddb182f74b Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2020-01-02IVGCVSW-4246 Clean build of backends with -WextraDerek Lamberti
Change-Id: I9e8d5576b3ec04c871785d5f2f9545bf1136e59b Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-12-31IVGCVSW-4246 Clean build Layers with -WextraDerek Lamberti
Change-Id: I649cd2304fb0040164763d31a12fc77c6c3bed87 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-12-09IVGCVSW-4227 Add CpuAcc backend support for DetectionPostProcessDerek Lamberti
Change-Id: I318bf92b8d1db593d9c30b9b4412bfecbe65bc12 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-12-09IVGCVSW-4210 Create a public API for the common backend filesMatteo Martincigh
* Create a public API for the common backend files * Move OutputHandler to armnn internal * Remove unused headers Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I3e86d908b021e3561befa9d45158d87d2cbb18c0
2019-11-29IVGCVSW-4070 Implement "send post-optimized network structure"Narumol Prangnawarat
* Send post-optimisation network structure if profiling service is enabled * Refactor TimelineUtilityMethods * Fix RecordEvent to link eventGuid with eventClassGuid * Add common types and guid to LabelsAndEventClasses * Add CreateRelationship to TimelineUtilityMethods * Add CreateTypedEntity to TimelineUtilityMethods * Add MarkEntityWithType to TimelineUtilityMethods * Move VerifyTimeline functions to ProfilingTestUtils * Post-optimisation network structure unit tests to Ref, Cl, Neon Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I0194f2037c236450c912f4c3cb11e46b80c0f512
2019-11-29IVGCVSW-4209 Create a public API for the ArmNN UtilsMatteo Martincigh
* Moved the relevant armnnUtils headers to the new location: include/armnnUtils * Update the header usage throughout the source code !android-nn-driver:2387 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I2ba15cebcacafad2b5a1a7b9c3312ffc585e09d6
2019-11-29IVGCVSW-3864 Add support for per-channel QSymm8 DepthwiseConvolution2d to ↵Aron Virginas-Tar
Neon backend Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I6dadb36abc2e71f4d4309dcce6072c4a66384cf9
2019-11-27IVGCVSW-4148 Extend reporting of quant multiplier > 1 as unsupported on ACL ↵Aron Virginas-Tar
to per-axis case Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I66a8360b6d86e95325dee58927dcbe62ccf6ad58
2019-11-26IVGCVSW-3866 Add support for per-channel QSymm8 Convolution2d to Neon backendAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: If7d366b2894050c53a651016165f34be1a2ce7a6
2019-11-21IVGCVSW-4148 Report quant multiplier > 1 as unsupported for ACLJames Conroy
* This is a temporary measure that needs to be removed when quantization multiplier > 1.0f support has been added for NEON and CL. * Layers affected: convolution, depthwise convolution, dilated depthwise convolution and transpose convolution. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: Ief1aec2ff0eedf8250f6a8675288e1c343dcfce4
2019-11-19IVGCVSW-3697 Add check for ArgMinMax QAsymm8 to ClLayerSupportFrancis Murtagh
* Enable Neon EndToEnd tests for ArgMinMax QAsymm8 * Enable Neon Layer tests for ArgMinMax QAsymm8 Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: Ifa7463ded4397cacb82fb3667006f08ecbe3cd32
2019-11-19IVGCVSW-4068 Add Guid to WorkloadNarumol Prangnawarat
* Add Guid to Workload * Remove circular dependency Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Signed-off-by: janeil01 <jan.eilers@arm.com> Change-Id: I15342fa7481c6bdc050e057dce2d74bba07fe2dd
2019-11-19IVGCVSW-3729 Added neon slice workload and supporting neon layer testsjosh minor
* Support added for ACL neon slice workload * Utility function created to translate ArmNN slice layer params to ACL neon slice layer equivalent * Neon slice layer tests added as per SliceTestImpl.hpp Signed-off-by: josh minor <josh.minor@arm.com> Change-Id: Id583465311879af139e8e977f16ed2280c937ac7
2019-11-15IVGCVSW-4140 Report per-axis quantization as unsupported for ↵Aron Virginas-Tar
DepthwiseConvolution on ACL backends * This is a temporary measure that needs to be removed as soon as the NEON and CL DepthwiseConvolution workloads will have added support for per-axis quantization Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I24eb285230293392a6ed50aece1101e5aed7f90e
2019-11-15Print CMake messages on stdout rather than stderrRob Hughes
The default version of message("...") print to stderr, which is inappropriate for informational messages such as the ones we are printing in these cases. Using message(STATUS "...") makes these messages appear on stdout instead which is more appropriate. Change-Id: I02f41e6b4948e6938566f06d7164444bd5b8199e Signed-off-by: Robert Hughes <robert.hughes@arm.com>