aboutsummaryrefslogtreecommitdiff
path: root/src/backends
AgeCommit message (Collapse)Author
2019-05-24IVGCVSW-3033 Adding MockLayerSupport to MockBackendDavid Monahan
Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I90903af1b8c961a7727da9172a7f02031521a6ad
2019-05-23IVGCVSW-2771 Fix SubTensor error in vgg16 ExecuteNetwork CLNarumol Prangnawarat
* Add check if Sub-tensors cannot be used, call ACL function * Add ClSplitterWorkload functions * Modify IsSplitterSupported to call ACL validate function if sub-tensor cannot be used * Also check if quantization parameters match when using sub-tensors Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I5dfd0e422b7d485dd4421a664add83d870bec5d6
2019-05-23IVGCVSW-3026 Extend RefConvolution2dWorkload to support QSymm16Mike Kelly
* Added QuantisedSymm16 as supported type for Conv2D * Added Unit Tests for QSymm16 Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I4a8176091e75abfb0ea3a4b913c213111512df75
2019-05-23IVGCVSW-3074 Extend the DepthwiseConvolution2d workload to support QSymm16Ruomei Yan
Change-Id: I47bb0f782acfa5b2d2fee9132875f9a655ea635e Signed-off-by: Ruomei Yan <ruomei.yan@arm.com>
2019-05-23IVGCVSW-2771 Fix SubTensor error in vgg16 ExecuteNetwork NEONNarumol Prangnawarat
* Add check if Sub-tensors cannot be used, call ACL function * Add computation of SplitAxis from SplitterDescriptor * Add NeonSplitterWorkload functions * Modify IsSplitterSupported to call ACL validate function if sub-tensor cannot be used * Also check if quantization parameters match when using sub-tensors * Add more unit tests for Splitter in TfParser and TfLiteParser Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I31e4c7d055117c83c65b598c4125442173242226
2019-05-23IVGCVSW-3073 Refactor reference DepthwiseConvolution2d workloadsRuomei Yan
Change-Id: I3cf8d9dbc4f8c95e0e2311505dd7e9f9069f1ab5 Signed-off-by: Ruomei Yan <ruomei.yan@arm.com>
2019-05-23IVGCVSW-3025: Refactor reference Convolution2d workloadMike Kelly
* Refactored RefConvolution2dWorkload to support all DataTypes through Encoders and Decoders. * Added Convolute function to ConvImpl that uses Encoders and Decoders to support all DataTypes. * Deleted RefConvolution2dFloat32Workload and RefConvolution2dUint8Workload. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ic5ef0f499d08b948fa65fdee54b5f681fd0b1c05
2019-05-22IVGCVSW-3132 Reintroduce SubGraph definition, but deprecatedMatteo Martincigh
* Restored old SubGraph class definition as an alias of SubgraphView for backward compatibility * Restored SubGraphUniquePtr * Restored CreateSubGraphConverter method (and the corresponding ISubGraphConverterPtr type) as a deprecated method that's been removed from the backend interface * Chaged the defautl implementation of OptimizeSubgraphView to call the deprecated OptimizeSubGraph * Changed the default implementation of OptimizeSubgraphView in the backends Change-Id: If69903926bf5ff2aae52c9b64b4572b355662757 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-22IVGCVSW-3116 Fix failing NN Driver Tests on Android QSadik Armagan
* Fixed ResizeBilinear test failure on Cpu Reference Change-Id: I2cf317eae65f1a86ef87badefb3b32ff05dca9e8 Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
2019-05-22IVGCVSW-3088 Update the backends README fileMatteo Martincigh
* Updated the src/backends/README.md file with details on the new OptimizeSubgraphView method * Added section describing the new OptimizationViews class * Deprecated GetOptimizations in the code Change-Id: Icb1a9aa015394e56fb4b5120b0645a752f44134e Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-21IVGCVSW-3033 New unit tests to ensure the Optimizer canDavid Monahan
handle multiple Graph objects Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I7ccc10a4d81eaac724a374a0d8abc70c9c79a3f4
2019-05-20IVGCVSW-3125 Deprecate CreateMergerDescriptorForConcatenation functionJim Flynn
!android-nn-driver:1183 Change-Id: Ia69995b7f09cb86b64611e8efd315413e3064ca1 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-05-20IVGCVSW-3030 Add unit testing for the Optimization APIMatteo Martincigh
* Added OptimizeSubgraphViewTests file covering a number of use cases for the Optimization API * Fixed a bug in the sub-graph selector algorithm that skipped the first layer in a sub-graph if it wasn't an input layer * Changed the graph splitting logic to make use of maps instead of unordered_maps to keep the split sub-graphs in consistent order between executions * Added more common unit test utils * Minor fixes to comply to the include file conventions Change-Id: Iad464eaedd004109e5ef41aa487cea3ad86177d3 Signed-off-by: Matteo Martincigh <matteo.martincigh@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-05-20IVGCVSW-2967 Support QSymm16 for Constant workloadsNina Drozd
* Validate that output is any of supported types in WorkloadData * Validate that output is any of supported types in RefLayerSupport * Add test for constant with QuantisedSymm16 in LayerTests * Add test for creating constant workload in RefCreateWorkloadTests * Add test for constant with QuantisedSymm16 in RefLayerTests * Refactor RefConstantWorkload - BaseWorkload instead of TypedWorkload * Refactor RefConstantWorkload - remove m_RanOnce, use PostAllocationConfigure() Signed-off-by: Nina Drozd <nina.drozd@arm.com> Change-Id: Ic30e61319ef4ff9c367689901f7c6d498142a9c5
2019-05-20IVGCVSW-3117 Rename NeonMergerWorkload to NeonConcatWorkloadJim Flynn
Change-Id: I9a373a31bfabbe0f691d7f9e240ac08e072b2c7d Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-05-20IVGCVSW-3117 Rename ClMergerWorkload to ClConcatWorkloadJim Flynn
Change-Id: Ie0394336a772afa7b075eb562ac5191c8b3ec9f3 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-05-17IVGCVSW-3117 Rename RefMergerWorkload to RefConcatWorkloadJim Flynn
Change-Id: Ifeb33db919ef77bf777e114f2d84b88fd595ca2c Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-05-17IVGCVSW-3030 Add a mock backend for unit testingMatteo Martincigh
* Added a mock implementation of an ArmNN backend for unit testing * Implemented a mock version of OptimizeSubgraphView * Fixed a typo in the Optimization API Change-Id: Ic7acf7cc5c2a76a918e94cdc356baae7c7597a6d Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-16IVGCVSW-2972 Support QSymm16 for MergerJim Flynn
Change-Id: If2289b2d1fc20f4524fcf4620f01ea3a36d727d2 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-05-14Use the new deprecation APIMatteo Martincigh
* Used the new ARMNN_DEPRECATED_MSG macro instead of @deprecated * Refactored the code to no longer use the deprecated methods where applicable !android-nn-driver:1126 Change-Id: Ib0578d3d6fc5a763f5fb922f67ba91fafc7796f6 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-14IVGCVSW-3076 Add ConcatLayer methods to public APIJim Flynn
!android-nn-driver:1120 Change-Id: I5192fa3deb4ea9766d38ad0bf4dfbfa0b4924c41 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-05-14MLCE-101 Add default dilation depthwise convolution implementationMatteo Martincigh
to LayerSupportBase Change-Id: Ib075a53cfe639e2624910a767abac6cba0fee8ed Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-14MLCE-101 Add dilation support for DepthWiseConv workloadBruno Goncalves
Adds unit tests for dilated depthwise conv Change-Id: Iad0a1b33d07fb0ef8f9f6edf0fd0f83a5800a36d Signed-off-by: Bruno Goncalves <bruno.slackware@gmail.com> Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
2019-05-13MLCE-101 Add dilation support to reference backendMatthew Bentham
Change-Id: I6d1ea80c9fabd8c50ee030272c51cb66e85e431d Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
2019-05-13MLCE-101: Adding dilation support in conv and dconvPablo Tello
Added support for dilation in DepthwiseConvolution2d in the Neon and CL backends. Change-Id: Ie1522b498c07f80d6efcf9dc79e926c8cfa06ca5 Signed-off-by: Pablo Tello <pablo.tello@arm.com>
2019-05-13IVGCVSW-3013 Add unit tests for QSymm16 LSTMConor Kennedy
* Add unit tests for QSymm16 LSTM * Update supportedTypes in WorkloadData & RefLayerSupport with DataType::QuantisedSymm16 Change-Id: I1a2627b11b707d68d7d7002f63b985f9571ee177 Signed-off-by: Conor Kennedy <conor.kennedy@arm.com>
2019-05-10IVGCVSW-3030 Refactor code and fix OptimizeSubgraphViewMatteo Martincigh
* Refactored the Optimizer code for readibility, in view of upcoming changes * Rename one of the ISubgraphViewConverter interface methods to give it a more meaningful name * Improved the OptimizationViews class, added comments and useful funtion overloads * Fixed an error in the default implementationof the new OptimizeSubgraphView method in IBackendInternal Change-Id: I683a56d562aa093bac06f0e83fb13e144ed81485 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-09IVGCVSW-3030 Make the OptimizationViews class move-assignableMatteo Martincigh
* Added move-constructors and move-assigment operators to both the OptimizationViews and Graph classes Change-Id: I3f923dc58e849479ff6589dcd39dece2790172cb Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-09IVGCVSW-3031 Reparent layer to new graphDerek Lamberti
Change-Id: Ic4423b8d21d794f44ddae291853e0e3b89d11bc0 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-05-08IVGCVSW-3031 Finer grained backend optimization APIDerek Lamberti
Change-Id: I9b93bc81b97f3d89fa046ba001854f732040e63a Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-05-07IVGCVSW-2997 Refactor reference LSTM workloadNattapat Chaimanowong
Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com> Change-Id: I6883f878d9f701a55153292769d2fc0530d2529e
2019-05-03IVGCVSW-3030 Update the backend code to create also a list ofMatteo Martincigh
non-optimized SubgraphViews * Removed pointless CreateSubgraphViewConverter method in the IBackendInternal interface Change-Id: Ie2d3c0e74fb3d53e67f76924ac6d05050a5e6e2e Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-03IVGCVSW-3029 Remove any AddLayer capabilities from SubgraphViewMatteo Martincigh
* Removed the reference to the parent graph in SubgraphView * Removed the AddLayer method in SubgraphView * Updated the code where necessary to adapt to the new changes in SubgraphView * Fixed a check in the CreatePreCompiledWorkloadTest test function Change-Id: I4d3af87f11ec3cd8f18a21b250a2d295da56e1a0 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-03IVGCVSW-3003 Fix the bug in setting the same tuningLevel in the constructorRuomei Yan
Change-Id: I53bd3a8e8f846edbebb1598559f3541698e647e5 Signed-off-by: Ruomei Yan <ruomei.yan@arm.com>
2019-04-30IVGCVSW-2773 Integrate new CL tuner into ArmNNRuomei Yan
!android-nn-driver:1038 Change-Id: Ia94743a64109b5eddcd44b03cf6ba5b3a4de4e53 Signed-off-by: Ruomei Yan <ruomei.yan@arm.com>
2019-04-30IVGCVSW-2405 Rename SubGraph to SubgraphViewDerek Lamberti
Change-Id: Ie50aeccf053c20c3a01a75042bbc3acd824375af Signed-off-by: Derek Lamberti <derek.lamberti@arm.com> Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-04-29IVGCVSW-2983 activation layers support for QSymm16Teresa Charlin
!armnn:1023 Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ie4e5c4e7cb9edec690235393fff0721fca5da6cc
2019-04-29IVGCVSW-2982 Refactor reference Activation workloadNattapat Chaimanowong
Change-Id: Ia3b9a56787cc68822a3c1635de82e03ecc0aae27 Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-04-29IVGCVSW-2396 Go back to using offset memory managerSadik Armagan
Change-Id: If6cf69b1569eb69c9481369a99ca7066be0fdd9d Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
2019-04-18IVGCVSW-2980 Build ArmNN with the latest version of the driver stack libraryMatteo Martincigh
* Changed the pre-compiled object held by the pre-compiled layer into a unique pointer, so that now the layer has the ownership of it * Changed the pre-compiled object held by the descriptor and the workload into a naked pointer, to leave the ownership to the layer Change-Id: I4a582e45ca0aa3978e8e40b786c743a6eddce852 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-04-16IVGCVSW-2957 MergerLayer subtensor optimization now backend agnosticDerek Lamberti
+ Update clframework pin + Cl and Neon Merger workloads updated to use MemoryLayout agnostic API + Workloads only use sub-tensor optimization if ALL input tensors are sub-tensors + Refactor LayerSupportCommon code to be a bit more succinct Change-Id: Ib61ad4ccbd767e924dff07e61022e0cda4069828 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-04-16IVGCVSW-2425 Add unit test for Logistic (Sigmoid) in NEONNarumol Prangnawarat
Change-Id: I557b76ea8c066161f3eb866daabca63694d46f4e Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
2019-04-10IVGCVSW-2947 Remove boost dependency from include/TypesUtils.hppAron Virginas-Tar
!android-nn-driver:968 Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I03ccb4842b060a9893567542bfcadc180bbc7311
2019-04-10IVGCVSW-2946 RefElementwiseWorkload configures prior to first executeDerek Lamberti
+ Added PostAllocationConfigure() method to workload interface + Elementwise function now deduces types based on Functor - Replaced RefComparisonWorkload with RefElementwiseWorkload specialization + Fixed up unit tests and minor formatting Change-Id: I33d08797767bba01cf4efb2904920ce0f950a4fe Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-04-10IVGCVSW-2912 Make get_compute_library.sh sole source for clframework pinJim Flynn
* Also incorporated fix for break in master build 32-bit NEDepthwiseConvolution errors in clframework * Fixed a failure in the Float16 workloads for ElementwiseOperations !android-nn-driver:963 Change-Id: Ic2cdb0e6c9399fa42b56001c6f4b46b7f150f143 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-04-09IVGCVSW-2862 Extend the Elementwise Workload to support QSymm16 Data TypeSadik Armagan
IVGCVSW-2863 Unit test per Elementwise operator with QSymm16 Data Type * Added QSymm16 support for Elementwise Operators * Added QSymm16 unit tests for Elementwise Operators Change-Id: I4e4e2938f9ed2cbbb1f05fb0f7dc476768550277 Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
2019-04-08IVGCVSW-2861 Refactor the Reference Elementwise workloadSadik Armagan
* Refactor Reference Comparison workload * Removed templating based on the DataType * Implemented BaseIterator to do decode/encode Change-Id: I18f299f47ee23772f90152c1146b42f07465e105 Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Signed-off-by: Kevin May <kevin.may@arm.com>
2019-04-05IVGCVSW-2914 Add Switch Layer and no-op factory methodSadik Armagan
Change-Id: I6a6ece708a49e8a97c83a3e7fec11c88af1e1cfa Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
2019-04-05IVGCVSW-2915 Add Merge Layer and no-op factory methodNattapat Chaimanowong
Change-Id: I54549671e0d3b207904cf9796a843eb2b0a631f7 Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>