aboutsummaryrefslogtreecommitdiff
path: root/src/backends
AgeCommit message (Collapse)Author
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
2019-01-08Refactor: Don't include all ComputeLibrary function definitions everywhere.Matthew Bentham
Just include the function definition that is specifically needed for each workload. Also, tighten up the scope where Compute Library functions are available. Knocks about 30seconds off a 4m30s single-threaded compile of the Neon workloads. Change-Id: Idac438f3bc77ff978295fbc9505cb42447def145
2019-01-07IVGCVSW-2371 Add Rsqrt Ref implementationMohamed Nour Abouelseoud
*Added Unit Tests Change-Id: I6cceb8e6dcda35ce08415f8e5ca86019a64d26e3
2019-01-07IVGCVSW-2421 Remove the template-based version of armnnUtils::PermuteMatteo Martincigh
in favor of a type-indepent implementation that takes void-pointers * The new implementation requires the size of the type to be passed to the function * Updated all the usages accordingly * Removed the old implementation no longer used !android-nn-driver:469 Change-Id: I37f4e6d62a38fbb8ec8c39bb559a2c54c83365d4
2019-01-04MLCE-77 Depthwise Convolution with depth multiplier > 1 doesn't workMatteo Martincigh
* Unified ArmNN's weight format to [ M, I, H, W ] for the depthwise convolution * Added conversion utilities to permute/reshape the weights as appropriate when using CL and Neon backends * Updated the reference implementation of the convolution * Updated the relevant unit tests accordingly !android-nn-driver:459 Change-Id: I07d0818efa9d1ca1e5dad82983aac1fe78eadb18
2019-01-04IVGCVSW-2383: code cleanup, remove unnecessary isSupported implementations,Nina Drozd
default cases are handled by DefaultLayerSupport Change-Id: I31942a5e8515d6fdce9a0adf20906eaabc2b9aa6
2019-01-03IVGCVSW-2370 Code clean up after Equal operator implementation where necessaryruoyan01
StringMapping was located in the backendsCommon Change-Id: I1c4a0bfca986722c721fcb2b460c03d6e1cd4568
2019-01-02IVGCVSW-2205 Reversed workaround for COMPMID-1813Mohamed Nour Abouelseoud
Change-Id: Icf7ef88a2eaef80ec32cc718b0ca9d26e830ed07
2019-01-02IVGCVSW-2308 Add Conv2d tests where stride > 1Mike Kelly
Change-Id: Iae6a3bfad06cb669ef0abea465d03163bb8316f5
2019-01-02MLCE-82 Add Neon Mean support and unit testsMatthew Bentham
Factor out new BuildArmComputeReductionCoordinates function from CL backend into ArmComputeTensorUtils. Update NEON LayerSupport and WorkloadFactory objects Change-Id: Icc975ec699199bffafbdb207323df509d35e1e04
2018-12-31MLCE-80 Remove strong typing from NeonBatchNormalizationMatthew Bentham
Technical debt work towards adding some new Neon workloads Change-Id: I08ab6dd14d0e89d4ebc8a878fb69caa5681012bf
2018-12-31IVGCVSW-2389 WorkloadUtils: Add profiling to tensor mapping.Sadik Armagan
Change-Id: Ibe1b27b268011878c7dce3c96efea01402453027
2018-12-20IVGCVSW-2164 Added ACL implementation of SpaceToBatchNd operation to ArmNNSadik Armagan
!android-nn-driver:428 Change-Id: I42e59ad96d2c80f46b085182855d34b710a74dfe
2018-12-20IVGCVSW-2401 & IVGCVSW-2402 Add end-to-end test for Greater/Equal OperatorFrancisMurtagh
* Add Arithmetic end-to-end test implementation * Enable tests for float, Uint8 and Broadcast Change-Id: I81c7096e9b6ad29eaa935b74ad5f30f823be2331
2018-12-20IVGCVSW-2212 Add Neon support for Maximum operatorNattapat Chaimanowong
Change-Id: Iddae3486641d2d195827ae4e0a9dfa3f7ccd65e3
2018-12-20IVGCVSW-2211 Maximum operator support (CL)keidav01
* Added CLMaximumWorkload implementation * Added CL unit tests Change-Id: I922c83fe25d17be21a5d0f4e861038463cb09789
2018-12-19IVGCVSW-2379 Add Greater Ref workload implementationFrancisMurtagh
* Added the Greater operation as an element-wise workload * Added the unit tests Change-Id: Ie00ee30e47a5f5e17a728032eeb11a085d06c8f2
2018-12-18IVGCVSW-2365 Add Reference Equal Workload ImplementationFrancisMurtagh
* Add reference equal workload * Add Reference Workload Unit Test Change-Id: If2848e7dde4248566b99d91726d08143c40ff80d
2018-12-18IVGCVSW-2131 Implementation of StridedSlice operationkeidav01
* Added ACl Implementation to ArmNN * Added helper function for setting CL Strided Slice arguments Change-Id: Ie10d387fdb054027ea9b8782743d270bb72949c1
2018-12-17IVGCVSW-2398 Add no-op factory implementations for all backends for theFrancisMurtagh
Equal operation * Add QueueDescriptor in WorkloadData.hpp * Add CreateEqual function in WorkloadFactory.hpp * Added stub implementation of the CreateEqual function in RefWorkloadFactory, NeonWorkloadFactory and ClWorkloadFactory Change-Id: Iec6dc2f989c67fa6f0c32cfb93508995c8580783
2018-12-17IVGCVSW-2399 Margin of error too severe for ValidateBiasTensorQuantisationkevmay01
Change-Id: I56f56398e7c2c2ac57a96952237e7f1bc0ced208
2018-12-17IVGCVSW-2386 Work around Compute Library Arm v7 issueMatthew Bentham
per COMPMID-1818 change to using Blob-based memory manager. Will change back when COMPMID-1848 is fixed. Change-Id: I6e22c2edf422202410faa717b330a2c96c3ebbe5
2018-12-14IVGCVSW-2377 Add no-op factory implementations for all backends for theMatteo Martincigh
Greater operation * Added QueueDescriptor in WorkloadData.hpp * Added CreateGreater function in WorkloadFactory.hpp * Added stub implementation of the CreateGreater function in RefWorkloadFactory, NeonWorkloadFactory and ClWorkloadFactory * Added GreaterLayer stub implementation * Renamed ArithmeticBaseLayer to ElementwiseBaseLayer Change-Id: I7e38c2936de905da921a92ba3f918478169ec7f5
2018-12-11IVGCVSW-1434 Add debug mode to Optimizerkeidav01
* Modified optimizer to support debug mode via DebugLayer Change-Id: Ic8f313778e55540c182cf99876c44a0823be04c6
2018-12-10IVGCVSW-2346 Fix test wrt NEFillBorderKernel indexMatthew Bentham
Kernel position within the layer is part of the kernel name Change-Id: I3b9ee870fbd0db025f1515c81245f917189ae884
2018-12-10IVGCVSW-2354 Remove dimension validation from softmaxMohamed Nour Abouelseoud
Change-Id: I0d69a72df9e348cbeca690926485c050499d1051
2018-12-10MLCE-79 NEON QASYMM8 Addition SupportMatthew Bentham
Unit tests not yet added as need Compute Library a84faffd. Change-Id: Ica16df493e8d6a76da9d1f74bf43b8403f9dff62
2018-12-10IVGCVSW-2346 Fix test wrt NEFillBorderKernelMatthew Bentham
NEFillBorderKernel may not be issued for some activation workloads depending on the version of the Compute Library. Change-Id: I01b8960f9eb7a0192cd351eddbb416ac05248b34
2018-12-07IVGCVSW-836 Remove 2D validation in SoftmaxMohamed Nour Abouelseoud
Change-Id: I87c53c78dd033871dbc543550a61d2d535e752ac
2018-12-07IVGCVSW-2316 Add reference implementation and unit tests for DebugNattapat Chaimanowong
Change-Id: Ib2e5de2a057da57ef77a9f5c4367d699d4773294
2018-12-06IVGCVSW-2315 Add descriptor for DebugNattapat Chaimanowong
Change-Id: I6b26c681989ef815752186f027a245ef8da7aea2
2018-12-05IVGCVSW-2264 Remove input swizzling from ParseConv2D in the TF parserMatteo Martincigh
* Removed the input swizzling when the data layout is NHWC * Permuting weights depending on the data layout used * Added getter methods to ParsedConstTfOperation to get the tensor info and the storage memory area, needed for swizzling the weights * Added unit tests for both NHWC and NCHW data layouts Change-Id: I6543900c594417df630b2663d8551158b93b7836
2018-12-05IVGCVSW-2296 Add ParsePad method to TfParserjimfly01
* Also added unit test armnnTfParser/test/Pad.cpp * Added missing 'Pad' entry to GetLayerTypeAsCString(LayerType) * Fixed the RefLayerSupport.IsPadSupported, now it returns true * Small fix in Optimize. Only resolve stringstream to string once Change-Id: Ieaa1886858a48cd761ac5f30454f73e44bdd4b8f
2018-12-05IVGCVSW-2264 Move DataLayoutIndexed to armnnUtilsMatteo Martincigh
* Since DataLayoutIndexed is now required in the TF parser, this changes move it to the armnnUtils library so that it'll be accessible by the armnnTfParser * Modified CMake files and Android.mk files accordingly Change-Id: Ie2620359ef288aeff64cb9e9bec068a466eee0e9
2018-12-04IVGCVSW-2247 Adding a min Elementwise Workload and testsÉanna Ó Catháin
Change-Id: I017ca6c23b62a8978982de0ca4ad204cb8cf7c67
2018-12-03IVGCVSW-2315 Add DebugLayer and no-op factory methodNattapat Chaimanowong
Change-Id: I5455b720565248ff94278e76887d63f8434a7b58