aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon/NeonWorkloadFactory.hpp
AgeCommit message (Collapse)Author
2022-08-05IVGCVSW-7111 change backend deprecation from 22.11 to 23.08Jim Flynn
Signed-off-by: Jim Flynn <jim.flynn@arm.com> Change-Id: I3a3aab7b5042349cb2df8517678306665e037610
2022-01-24Bugfix: Set removal date for Backend API stability items to 22.11Francis Murtagh
* This is to allow EthosN more time to adjust to new API. Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: I7da32a7317827dfa619c74fc8801447e7172e7c8
2022-01-18IVGCVSW-6641 Stabilize the IWorkloadFactory interface with unified strategyTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ia941be9bf2c15fe56e49a9b9a2bbe943a8152438
2021-10-27IVGCVSW-6170 Add CpuAcc Conv3d WorkloadTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I3a5bfef5a0085d172fd3689e67f25af909ace2ee
2021-10-02IVGCVSW-5985 Remove deprecated codeJan Eilers
* Removes deprecated AddLayer, IsLayerSupported functions * Marks the whole LayerVisitor class as deprecated not just the constructor. This required to wrap all Accept functions in a no deprecate macro because the LayerVisitor is used as a parameter in there * Removes usage of deprecated LayerVisitor and replaces it with ExecuteStrategy. This required a few structural changes in the unit tests * Adds a default implementation for IStrategy called StrategyBase * Changes pyarmnn to use non deprecated constructor for INetworkProperties and adds related unit test * Marks usage of deprecated code in pyarmnn as deprecated. This required to extend INetworkProperties to allow backwards compatibility * Removes deprecated functions from CpuAcc, GpuAcc and Ref backends Note: This patch breaks compatibility with backends that are not updated in this patch !android-nn-driver:6325 Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Id13b6f37a74d26eadeda2da1dc92915e725ed5a5
2021-09-29IVGCVSW-3707 Add Channel Shuffle Workload to CpuAcc backendTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I2e3dee3c73fe58c7cfcb3ce3667884202f46e6aa
2021-04-22IVGCVSW-5419 'Add ACL Support for CAST Operator'Sadik Armagan
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I481343af311cf3cbc81eee80e80d8b5581fdfd7b
2021-02-12IVGCVSW-5685 Add CpuAcc specific configuration option numberOfThreadsMatthew Sloyan
* Added ability to set number of threads used in CpuAcc backend * Enabled number-of-threads option in ExecuteNetwork * Added TfLiteDelegate ModelOptions test * Added unsigned int type to BackendOptions.hpp Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: Ia576d4f45cbe5df3654bc730bb5ebd5181d82b5a
2021-02-09MLCE-347 'REDUCE_MIN, REDUCE_MAX, REDUCE_SUM Support'Sadik Armagan
* Added TfLiteParser support for REDUCE_MIN and REDUCE_MAX operators * Added ACL workloads support for REDUCE_MIN, REDUCE_MAX, and REDUCE_SUM operators * Added TfLite Delegate support for REDUCE_MIN, REDUCE_MAX, and REDUCE_SUM operators Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I8085d59946bfd4ab78a59a61f899031ae53371a8
2020-12-03IVGCVSW-4626 Add Neon Rank WorkloadDavid Monahan
Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I5a85597e75d2b879ae234c6929686fabe99d7bc8
2020-11-19IVGCVSW-5093 Remove redundant LogicalUnary functionsJames Conroy
* In favour of ElementwiseUnary functions which are the currently used code path. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: I34964d2dcabd4b7ddf0b455df17c48e3c6812ee4
2020-11-18IVGCVSW-5093 Add NEON Logical workloadJames Conroy
* Add NEON Logical workloads for NOT, AND and OR. * Enable Layer and IsSupported tests on NEON. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: Ibca59530457a664ca3d77751825642f8daf52fab
2020-09-14IVGCVSW-5157 'Pipe ModelOption through Network::LoadNetwork() to Workload ↵Sadik Armagan
factory' * Pass ModelOptions to WorkloadFactory * Updated signature of CL and NEON Convolution2d workloads added FastMathEnabled param. Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I536178be8e4dd4083489e69febadaf0feeba46d2
2020-08-18IVGCVSW-5014 Deprecate CreateTensorHandle from WorkloadFactorySadik Armagan
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I948117b0ff5be27540267edbd68628f1bff23a9d
2020-07-24IVGCVSW-3897 Add NEON LOG_SOFTMAX WorkloadKeith Davis
Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I632b5ac7f188853de68e232e81568b3fca238d42
2020-06-23IVGCVSW-4622 Add NEON FILL WorkloadSadik Armagan
* Added Neon workload for Fill Operator * Enabled Fill operator tests on Neon * NEFill function does not have validate() function yet IsLayerSupported() function return true at the moment * Added INT32 supported type for CpuRef Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I17bf5ec13750f46322a30653e15ba2a514f61f08
2020-06-03remove BOM from filesLaurent Carlier
Change-Id: Ia4b4bb3be0ed6e933c77d58f8e9879b1370e9537 Signed-off-by: Laurent Carlier <laurent.carlier@arm.com>
2020-05-20IVGCVSW-4451 Add QLstm NEON workloadJames Conroy
* Adds QLstm workload. * Adds CreateWorkload and Layer tests. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: I585eb2691395ee4ccd45b5a853660f90fc5cc821
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-10IVGCVSW-4482 Remove boost::ignore_unusedJan Eilers
!referencetests:229377 Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ia9b360b4a057fe7bbce5b268092627c09a0dba82
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-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-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-07IVGCVSW-4246 Enable -Wextra by defaultDerek Lamberti
!referencetests:218340 Change-Id: If24a604310d0363b1f09b406e4d53ebfeb106aad 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-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-14CL & Neon workload factories inherit from WorkloadFactoryBaseDerek Lamberti
Change-Id: I1f694be7ef1d333b5ef9b60ea7029454ade02628 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-10-21IVGCVSW-3993 Add frontend and reference workload for ComparisonLayerAron Virginas-Tar
* Added frontend for ComparisonLayer * Added RefComparisonWorkload * Deprecated and removed Equal and Greater layers and workloads * Updated tests to ensure backward compatibility Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Id50c880be1b567c531efff919c0c366d0a71cbe9
2019-10-09IVGCVSW-3890 Add NEON INSTANCE_NORMALIZATION WorkloadSadik Armagan
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Ia3e55da6e6a7b9d46544466897e3b1635c90c297
2019-10-03IVGCVSW-3696 Add NEON ArgMinMax workload and testsJames Conroy
* Added layer tests and fixed WorkloadData validate. * Also enabled copy to/from NEON for Signed32. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: I5e961f88434e18d5a8ebff956d20a1c2cf1b50bb
2019-09-30IVGCVSW-3734 Add NEON workload for DepthToSpaceAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I4fa8cba57f3a2277112c02062f4d2790089d1eb5
2019-09-24IVGCVSW-3623 Implement NeonTensorHandle::ImportDavid Monahan
Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I7213788725fd4e4cf1176998604e999d0b7ed6cc
2019-09-10IVGCVSW-3822 Add NEON workload support for ABSAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I0c2ead004200e053d748ea39937f2f9ed35a636b
2019-08-20IVGCVSW-3163 Support Neon TransposeConv2dSadik Armagan
* NEON support for TransposeConolution2d * Indentation fix on SpaceToDepth LayerSupport method Signed-off-by: Keith Davis <keith.davis@arm.com> Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Signed-off-by: Aron Virginas-Tar <aron.virginas-tar@arm.com> Change-Id: Ie3a01a22e05f62f475f768dfe05ce561d2f3b0ad
2019-08-05IVGCVSW-3341 Add Neon backend support for Quantized_LSTM (16bit cell state)Francis Murtagh
* Add Neon Workload * Update NeonWorkloads.hpp * Update NeonWorkloadFactory * Update NeonLayerSupport * Update backends.mk and CMakeLists.txt * Add NeonCreateWorkload test * Enable LayerTest !android-nn-driver:1685 Change-Id: Idd799bbf039acf0d59084d02c3b57766ce3691b5 Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
2019-08-05IVGCVSW-3277 Mem export/import suppor for TensorsDerek Lamberti
* Rename MemoryStrategy to EdgeStrategy * Add MemImportLayer * Import memory rather than copy when possible Change-Id: I1d3a9414f2cbe517dc2aae9bbd4fdd92712b38ef Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-08-02IVGCVSW-3539 Add Neon support and tests for StackMatthew Jackson
* Added Neon backend support for Stack * Added unit tests for Stack on the Neon backend Signed-off-by: Matthew Jackson <matthew.jackson@arm.com> Change-Id: I21379966a6303285f8b65418d0d4ac7982cc9f04
2019-07-09IVGCVSW-3355 Add NeonSpaceToDepthWorkloadEllen Norris-Thompson
* Add Neon backend support for SpaceToDepth * Enabled Neon Unit, CreateWorkload and EndToEnd tests for SpaceToDepth. * Added QSymm16 support to NeonTensorHandle. Signed-off-by: Ellen Norris-Thompson <ellen.norris-thompson@arm.com> Change-Id: Ibbb0bce5ad77dace2bf4c4c111006d2fadf844e8
2019-07-05IVGCVSW-3294 Add Neon backend support for PReLUNikhil Raj
Change-Id: I2f92f7336d3b4188962a9d08b0e7c6372b1c648f Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
2019-07-02IVGCVSW-3382 Deprecate ResizeBilinear and use Resize with Bilinear methodAron Virginas-Tar
!android-nn-driver:1451 Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Ieedbce1f6e95891137a250fdd07e2f7e4e1f4828
2019-05-31IVGCVSW-3165 Added accidentally removed CreateFakeQuantization FunctionSadik Armagan
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I50a1a364f13df03dea0833023ec0f2c2794f24db
2019-05-31IVGCVSW-3148 Add Neon backend support for DequantizeNarumol Prangnawarat
* Add NeonDequantizeWorkload * Add IsDequantizeSupported to call validate from ACL function * Add CreateDequantize to NeonWorkloadFactory * Unit tests Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I96a216ef78cc3f6a57aa439a16ae6aafd783ff93
2019-05-31IVGCVSW-3185 Add NeonQuantizeWorkloadSadik Armagan
* Added NeonQuantizeWorkload to ArmNN Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I41f8707dda35c894841eddae2d3b78f088038c8e
2019-05-28IVGCVSW-3119 Rename MergerLayer to ConcatLayerJim Flynn
!android-nn-driver:1210 Change-Id: I940b3b9e421c92bfd55ae996f7bc54ac077f2604 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-05-20IVGCVSW-3124 Rename workloadFactory CreateMerger to CreateConcatJim Flynn
Change-Id: Id836372c0e4ef0c3996085facc4da6263366abcf Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-01-24IVGCVSW-2555 Add no-op implementation for Detection PostProcessNarumol Prangnawarat
* Added DetectionPostProcessQueueDescriptor to WorkloadData * Added CreateDetectionPostProcess function in WorkloadFactory.hpp * Added stub implementation of the CreateDetectionPostProcess in workload factories * Added DetectionPostProcessLayer stub implementation * Added AddDetectionPostProcessLayer to Network * Added IsDetectionPostProcessSupported to LayerSupportBase Change-Id: Ifc071b3b6b12877c997bdcc43d769c8f891d5c6c
2019-01-23IVGCVSW-2455 Move the extra backend code to a new git repoMatteo Martincigh
* Refactored all the workload factories to use "virtual" properly * Removed the precompiled layer support from the optimizer * Disabled compiler optimization for debug build to ease debugging Change-Id: I6ab83abd78f422771359295e25b79bb9be613cfd
2019-01-16IVGCVSW-2508 Add no-op factory implementations and layer for Gather operatornarpra01
* Added GatherQueueDescriptor to WorkloadData * Added CreateGather function in WorkloadFactory.hpp * Added stub implementation of the CreateGreater function in workload factories * Added GatherLayer stub implementation * Added AddGatherLayer to Network * Added IsGatherSupported to LayerSupportBase Change-Id: I0408fd54e88a7d4e3d9e1c2811a9323f0da52a04
2019-01-15IVGCVSW-2454 Merge together the pluggable backends work (was in aMatteo Martincigh
separate branch) and master * Brings in all the changes done for the pluggable backends * Added sub-graph support and tests * Added precompiled layer support and tests * Moved BackendSettings to a separate file * Removed the backend-specific code * Ported DebugLayer and associated functionality * Included fixes to make those changes work with master Change-Id: Id7028fa7917527b844628d5aff5732e3d94c0488
2019-01-07IVGCVSW-2371 Add Rsqrt Ref implementationMohamed Nour Abouelseoud
*Added Unit Tests Change-Id: I6cceb8e6dcda35ce08415f8e5ca86019a64d26e3