aboutsummaryrefslogtreecommitdiff
path: root/src/backends
AgeCommit message (Collapse)Author
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
2019-01-23IVGCVSW-2511 Add end to end Gather layer testnarpra01
* Add end to end test for Gather operator * Add Support for int32 to Constant layer for Ref * Add Int32Workload * Add RefConstantWorkload as template for float, uint8, int32 * Remove unused RefBaseConstantWorkload * Remove unused RefConstantFloat32Workload * Remove unused RefConstantUint8Workload * Add support check for int32 in LayerSupport functions Change-Id: Ic970588a49ebe2aafb12be8adef52371feacaa7b
2019-01-23IVGCVSW-1048 RESIZE_BILINEAR NEON operatorSadik Armagan
* Implemented NeonResizeBilinearWorkload * Enable ResizeBilinear Operator unit tests for Neon !android-nn-driver:405 Change-Id: Iec3100ccaf7d246e8eaf683d1f3ec9191df5241e
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-23IVGCVSW-2467 Update Boolean type supportNattapat Chaimanowong
Change-Id: I0ab3339e8803a3e4e700d8fec9883eccc524b31e
2019-01-22IVGCVSW-2510 Ref workload implementation for Gather operatornarpra01
* add implemenentation for GatherQueueDescriptor validate function * add FirstInputTypedWorkload to allow type check on the first input tensor only * add ref workload implemenentation for float and uint8 * add Gather layer support in Ref * unit tests Change-Id: I4578a3211f11d24aa29d15bcf7f45b0445bcd1ee
2019-01-22IVGCVSW-2467 Remove GetDataType<T> functionNattapat Chaimanowong
Change-Id: I7359617a307b9abb4c30b3d5f2364dc6d0f828f0
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-14MLCE-86 Reversing the pad list in the ClPadValidate function similarly to ↵Éanna Ó Catháin
whats done in the constructor. Change-Id: I9488cebd63767c0c51d9ee6333d5aaf0e4a85847
2019-01-11IVGCVSW-2454 Refactor ArmNN to support pluggable backends from a separateMatteo Martincigh
code base * Made the virtual functions in ILayerSupport.hpp pure * Created a LayerSupportBase class with the default implementation of the interface * Made the backend layer support classes inherit from the base class, instead of directly from the interface * Refactored the profiler and the profiling event classes to use the BackendId instead of the Compute * Implemented a proper MemCopy support method * Changed Compute to BackendId in the profiling API and objects * Removed static references to pluggable backends !android-nn-driver:492 Change-Id: Id6332b5f48c980819e0a09adc818d1effd057296
2019-01-10MLCE-82 Add IsLayerSupported tests for MEANMatthew Bentham
Change-Id: I43be451f490db0154021f47a2fd49d1269cf5b95
2019-01-09IVGCVSW-2438 Add Minimum operator support (CL)saoste01
* Added CL unit tests Change-Id: Ia4af49b133774141384a177f5b042e65764bf682
2019-01-09IVGCVSW-2441 Add Minimum operator support (NEON)Conor Kennedy
Change-Id: I0bc48f118aba419abb659657b83224401fac0715