aboutsummaryrefslogtreecommitdiff
path: root/src/backends
AgeCommit message (Collapse)Author
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>
2019-04-02IVGCVSW-2875 Enable QuantisedSymm16 support for ref Dequantize workloadNattapat Chaimanowong
Change-Id: I4b1c1f963214433ad67d5a311fbea5f21177f6a2 Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-04-02IVGCVSW-2872 Unit tests for Quantize layer and reference workloadNattapat Chaimanowong
Change-Id: I291c08cb6e359453978b398255cf8ff051ed2686 Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-04-01IVGCVSW-2871 Ref QuantizeLayer workloadDerek Lamberti
Change-Id: If048b2a053c542b31ae344fe0af04d9b4f40eb6d Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-03-29IVGCVSW-2875 Reference implementation and unit tests for DequantizeNattapat Chaimanowong
Change-Id: Ie4ade0519cb0bbe35dc36be6c9cd749b9171c74b Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-03-29IVGCVSW-2866 Implement RegisterDebugCallback for RefDebugWorkloadNattapat Chaimanowong
Change-Id: I9144fb6b7d05561b5b8fd9db5dbe31c9257f10ca Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-03-28IVGCVSW-2874 Add DequantizeLayer and no-op factory methodNattapat Chaimanowong
*Add Dequantize layer to the frontend *Add Serializer and Deserializer for Dequantize Change-Id: Ide2647b9e0348d599deb97e61ca4bf66e2f17fc0 Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-03-27IVGCVSW-2870 Support QuantizeLayer on frontendDerek Lamberti
Change-Id: I2014a8d801f1f222d27a80dddf4f188ddcb3a5c9 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-03-26IVGCVSW-2881 Remove DebugDescriptorNattapat Chaimanowong
* Also update Debug layer to use layer guid information Change-Id: I9ec1f639299c3f855b670ff031a0e88d685cfc6b Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-03-25IVGCVSW-2861 Refactor the Reference Elementwise workloadsSadik Armagan
* Refactored Elementwise Workload into the single workload. * Execute() function will react based on the DataType. Change-Id: I6d4d6a74cec150ed8cb252e70b629ed968e7093d Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
2019-03-22IVGCVSW-2865 Extend IRuntime to add a new method RegisterDebugCallback(...)Nattapat Chaimanowong
* Made changes to LoadedNetwork and IWorkload to pass on the registered callback function Change-Id: I6ea10f2a299d6de8bf681c8ff36d3fbed1d6d887 Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-03-20IVGCVSW-2814 AllTypesAreEqualImpl handles odd num params correctly.Derek Lamberti
Change-Id: I9b661cabab41f6997dac808cca15995834bb0313 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-03-20IVGCVSW-2814 Extensive ref IsSupported for Activation & AdditionDerek Lamberti
Change-Id: Ib1a795eb129de1ec3f02807a2dff7613d7c6c28d Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-03-15IVGCVSW-2354 Caffe SqueezeNet through armnn Cl and NeonNarumol Prangnawarat
* Compute Softmax Acl axis for Cl and Neon * Add unittests for Softmax in 3D and 4D * Correct input and output layer names in CaffeSqueezeNet inference test Change-Id: I2d369d9a2db19c40f2af3341039dd33f0c5637b1 Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
2019-03-12IVGCVSW-2709 Serialize / de-serialize the Splitter layerJim Flynn
* fixed typo in Ref Merger Workload comment * fixed typo in ViewsDescriptor comment * made the origins descriptor accessable in the ViewsDescriptor (needed for serialization) * based the unit test on the use of the splitter in the CaffeParser Change-Id: I3e716839adb4eee5a695633377b49e7e18ec2aa9 Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com> Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-03-11IVGCVSW-2792 Update Neon Mul/Sub workload for latest CL masterConor Kennedy
* Update Neon Subtraction/Multiplication to use BaseWorkload * Add Uint8 tests for Subtraction/Multiplication Change-Id: Ied2aa048924817a4db0025b9bd9e54151667bd74 Signed-off-by: Conor Kennedy <conor.kennedy@arm.com>
2019-02-28IVGCVSW-2763 Fix bug in BatchToSpaceNdLayer::InferOutputShapesNattapat Chaimanowong
*Also added test case for non-zero crop and moved BatchToSpaceNd test functions together Change-Id: I142ba356165618b2811a4ab650ca6ced35220d9c Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-02-27IVGCVSW-2632 Fix RefMerger from QAsymm8 types with different quantization ↵Ferran Balaguer
parameters Change-Id: Ie67ce4966c5e5fef618876b027292da429de1485 Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
2019-02-26IVGCVSW-2560 Verify Inference test for TensorFlow Lite MobileNet SSDNarumol Prangnawarat
* Assign output shape of MobileNet SSD to ArmNN network * Add m_OverridenOutputShapes to TfLiteParser to set shape in GetNetworkOutputBindingInfo * Use input quantization instead of output quantization params * Correct data and datatype in Inference test Change-Id: I01ac2e07ed08e8928ba0df33a4847399e1dd8394 Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
2019-02-26IVGCVSW-2756 Fix bug in ClSpaceToBatchNdWorkloadNattapat Chaimanowong
*Padding was not in format expected by Cl Change-Id: Id0de3fd2b306e31d555e2d67bc4406e5302dcd3b Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-02-22IVGCVSW-2588 Update README files for 19.02Nattapat Chaimanowong
*Also update related Support.md files Change-Id: If832980fdebb136ab02333d99512fd39b9093b2b Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-02-21IVGCVSW-2424 Add LOGISTIC Operator Support (CL)Finn Williams
* Added Logistic tests in ClLayerTests * Removed check for QuantisedAsymm8 in CLActivationWorkload Change-Id: I6950e18109504d8426b727cb6b7d19898c899024 Signed-off-by: Finn Williams <finn.williams@arm.com>
2019-02-08IVGCVSW-2557 Add layer tests for Ref Detection PostProcessNarumol Prangnawarat
Change-Id: Ia2e512c0ed035bc6ee46cd67df5e619da9770900 Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
2019-02-08IVGCVSW-2559 End to end tests for Detection PostProcessNarumol Prangnawarat
* end to end tests for Detection PostProcess float and uint8 * add anchors to AddDetectionPostProcessLayer * add anchors to VisitDetectionPostProcessLayer * refactor code Change-Id: I3c5a9a4a60b74c2246b4a27692bbf3c235163f90 Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
2019-02-04IVGCVSW-2557 Ref Workload Implementation for Detection PostProcessNarumol Prangnawarat
* implementation of DetectionPostProcessQueueDescriptor validate * add Uint8ToFloat32Workload * add implementation of Detection PostProcess functionalities * add ref workload implemenentation for float and uint8 * add layer support for Detection PostProcess in ref * unit tests Change-Id: I650461f49edbb3c533d68ef8700377af51bc3592
2019-02-01IVGCVSW-2280 Add unit tests for RESIZE_BILINEAR NEON operatorConor Kennedy
* Add uint8 tests Change-Id: I178e34a638411fa065bdc4c722136a02ba9e000b Signed-off-by: Conor Kennedy <conor.kennedy@arm.com>
2019-02-01IVGCVSW-2603 The macros ARMCOMPUTECL_ENABLED and ARMCOMPUTENEON_ENABLEDMatteo Martincigh
no longer work * Added two master variables ARMNN_COMPUTE_CL_ENABLED and ARMNN_COMPUTE_NEON_ENABLED to android-nn-driver/Android.mk to easily control backend support * Setting either of those two new variables then properly sets the corresponding build macro * If a specific backend gets disabled, the corresponding source files will be excluded from the build * Unified the usage of the pre-compile macros !android-nn-driver:613 Change-Id: I582ff73493b70ba9e22ca2e38d875a0f19566c8a Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-01-31MLCE-90 Fixing issues with NEON pad testsÉanna Ó Catháin
Change-Id: I3e971c66798610d2c96445fa3babb7cc90cf8031 Signed-off-by: Éanna Ó Catháin <eanna.ocathain@arm.com>
2019-01-30IVGCVSW-2458 Refactor the Optimize function (Network.cpp) so thatMatteo Martincigh
subgraphs are optimized by the backends * Added a new method OptimizeSubGraph to the backend interface * Refactored the Optimize function so that the backend-specific optimization is performed by the backend itself (through the new OptimizeSubGraph interface method) * Added a new ApplyBackendOptimizations function to apply the new changes * Added some new convenient constructors to the SubGraph class * Added AddLayer method and a pointer to the parent graph to the SubGraph class * Updated the sub-graph unit tests to match the changes * Added SelectSubGraphs and ReplaceSubGraphConnections overloads that work with sub-graphs * Removed unused code and minor refactoring where necessary Change-Id: I46181794c6a9e3b10558944f804e06a8f693a6d0
2019-01-29IVGCVSW-2443 Add Cl support for Greater operatorNattapat Chaimanowong
Change-Id: I7eb3b2e712dbaa5c13f6cf3a1da63df4d2bd4de5
2019-01-29IVGCVSW-2447 Add Greater Workload to Neonkevmay01
Change-Id: Ic165061cc61534e7e391a398ea7c2918240e2d3b
2019-01-25MLCE-84 Add Neon Pad support and unit testsÉanna Ó Catháin
Change-Id: I0d949a9f23a61af5013efdd18572b29fae585f2a
2019-01-24IVGCVSW-2503 Fix end to end test support for Boolean output typeNattapat Chaimanowong
Change-Id: Ie94743c769fc17d976849ba4b22af3a13561ff55
2019-01-24IVGCVSW-2554 Update NEON scheduler to output workload names rather than unknownsaoste01
Change-Id: I0d14baf9002c894790da171a6d60c0e4ac929078
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-24IVGCVSW-2503 Refactor RefElementwiseWorkload around Equal and Greaterkevmay01
* Remove Equal and Greater from RefElementwiseWorkload * Create RefComparisonWorkload and add Equal and Greater * Update ElementwiseFunction for different input/output types * Update TfParser to create Equal/Greater with Boolean output * Update relevant tests to check for Boolean comparison Change-Id: I299b7f2121769c960ac0c6139764a5f3c89c9c32