aboutsummaryrefslogtreecommitdiff
path: root/src/armnn
AgeCommit message (Collapse)Author
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-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-07IVGCVSW-2371 Add Rsqrt Ref implementationMohamed Nour Abouelseoud
*Added Unit Tests Change-Id: I6cceb8e6dcda35ce08415f8e5ca86019a64d26e3
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-02IVGCVSW-2353 Ignore control inputs in TensorFlow parsernarpra01
* Allow control inputs from TensorFlow graph but ignore them in ArmNN graph. * Add utility function to test ArmNN graph structure. * Add ArmNN graph structure tests in TensorFlow paresr to ensure that control inputs are ignored in ArmNN graph as well as their inputs that are not used anywhere else. Change-Id: Ib0ea0d2df85e3fc79b748fa4c9d20e0649352bc1
2018-12-24IVGCVSW-59 Add documentation to the public APIConor Kennedy
* Add documentation to the Descriptors * Add documentation to the layers Change-Id: I5e0849753903565227fd47d329a600fd90b2feb9
2018-12-20IVGCVSW-2367 Add Equal Operator to TfParserjimfly01
* Unit tests in Equal.cpp * Fixed error in Network::AddEqualLayer * Refactored TfParser::Minimum/Equal to get rid of duplicate code Change-Id: I0ed6f888eb391c995b88be20dc0c1b916dd14c3c
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-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-13IVGCVSW-2348 Support boolean data typeruoyan01
Change-Id: Ifd28e049192e6f5fe5c0f5d358afb2b530eef882
2018-12-11IVGCVSW-1434 Add debug mode to Optimizerkeidav01
* Modified optimizer to support debug mode via DebugLayer Change-Id: Ic8f313778e55540c182cf99876c44a0823be04c6
2018-12-07IVGCVSW-2268 Remove the input swizzling from ParseConcatMatteo Martincigh
* Removed the input swizzling when the concatenation dimension is 3 in ParseConcat in the TF parser * No longer using the helper ProcessConcatInputTensorInfo, where the input was being swizzled if the concatenation dimension was 3 * Added a new convenience constuctor to TensorShape that initializes a shape to all zeros given only the number of dimensions Change-Id: I82a207e41bddc5fea21a0b5a38eafa24ad75d1c2
2018-12-06IVGCVSW-2315 Add descriptor for DebugNattapat Chaimanowong
Change-Id: I6b26c681989ef815752186f027a245ef8da7aea2
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
2018-11-29IVGCVSW-2245 Add Minimum Layer and no-op Factory implementationkevmay01
Change-Id: I03fa374fd9692d98257de709f8c3ad0a49c88b95
2018-11-28IVGCVSW-2202 Refactoring Arithmetic* names to Elementwise* names for ↵Éanna Ó Catháin
workloads and workload functions Change-Id: I6f3fce12a55f7d38ceafcdfcd6b5181bf56e2c09
2018-11-28IVGCVSW-2253 Add maximum layer and corresponding no-op factory implementationNattapat Chaimanowong
Change-Id: I8964f5e8978c2d2a07734a381e3f7c656c22456a
2018-11-26IVGCVSW-2087 Reference implementation and unit tests for StridedSliceNattapat Chaimanowong
Change-Id: Ifeacc0adb4547c72537b9ea7a61bf3c4ec3673fa
2018-11-26Fix compile errors on WindowsRob Hughes
Change-Id: I40acb42360bfcda09485efb2a54144d8e35bdafb
2018-11-22Refactor inlined utility functions in NetworkUtilsAron Virginas-Tar
Change-Id: I26fb13717f64c942b2648702c52be18be856042d
2018-11-21IVGCVSW-2086 Update StridedSliceLayer and StridedSliceDescriptorNattapat Chaimanowong
Change-Id: Ifa88a879dd239f60ab27330d6b73859393828ef0
2018-11-20IVGCVSW-2144: Adding TensorUtils classNina Drozd
* helper methods for creating TensorShape and TensorInfo objects Change-Id: I371fc7aea08ca6bbb9c205a143ce36e8353a1c48
2018-11-20IVGCVSW-2043 Merger using ACL for innermost concat axisMatteo Martincigh
* Fixed unsigned to signed conversion error that was breaking master Change-Id: I08d79d9bf131eb46ea0495371160698ab59c1721
2018-11-19IVGCVSW-2169 Remove DataLayoutIndexed from public APIMatthew Bentham
Change-Id: If8d8087d9d365e467d3ca9bf9c40d7219cb75cfd
2018-11-19IVGCVSW-2105 - Unit tests for mergernarpra01
* Add LayerTests * Add WorkloadTests !android-nn-driver:166 Change-Id: I903461002879f60fc9f8ae929f18784e2d9b1fc1
2018-11-19IVGCVSW-2168: Remove DataLayout from LayerAron Virginas-Tar
Change-Id: Iab6ad04e5c786e4e639578f7b1d1537dd1196e2f
2018-11-19IVGCVSW-2043 - Merger using ACL for innermost concat axisNikhil Raj
* Add ClMergerWorkload and NeonMergerWorkload to call ACL for innermost concat axis * Modify layer support to call ClMergerWorkloadValidate and NeonMergerWorkloadValidate when concat axis is inner most * Add m_ConcatAxis to MergerDescriptor * Modify MergerQueueDescriptor::Validate to check sub tensor only when using subtensor !android-nn-driver:166 Change-Id: I56676b43964c8d6d726387b41b3cc34a512c0f0a
2018-11-16IVGCVSW-2092 Port LSTMCell::Eval to ArmNNMatteo Martincigh
* Ported Google's LSTM implementation to RefLstmFloat32Workload * Fixed the code throughout because of an error in the docs around the scratch buffer size * Updated IsLstmSupported * Added the unit tests !android-nn-driver:127 Change-Id: I5577b7e39ca52df1a7f102a9b437df6aa99520b6
2018-11-15Adedd load/unload warm-up before the memory lek test to put the runtime into aMatteo Martincigh
stable test (memory-wise) This prevents false-positives when running the tests on Master Change-Id: I4348378f3689cb3ec98686a93315d2b88bb7bcc7
2018-11-15IVGCVSW-2086: Add StridedSlice layer & corresponding no-op factory ↵Conor Kennedy
implementations Change-Id: I906dcb8b4c9b491bf3a661f208c09d0ea1c0fa35
2018-11-15IVGCVSW-2136: Remove memory management methods from workload factoriesAron Virginas-Tar
Change-Id: Idc0f94590566ac362f7e1d1999361d025cc2f67a
2018-11-14IVGCVSW-2054: Fixing issue with InferOutputShape implementation in ↵Éanna Ó Catháin
BatchToSpaceNdLayer. * added Unit test Change-Id: I80f55e8c7afb39d96006c8dd027fc9683ea8182e
2018-11-13IVGCVSW-2066: Add IMemoryManager and integrate into the backends frameworkAron Virginas-Tar
Change-Id: I93223c8678165cbc3d39f461c36bb8610dc81c05
2018-11-12Tidying up multiple issuesÉanna Ó Catháin
* Fixed error in InferOutputShape implementation * Added better error checking to the BatchToSpace implementation. * Added defaults to the batchToSpace descriptors. * Changed crops to be a vector of pairs to align with the SpaceToBatch implementation Change-Id: Ib1c16d871f0898a1caeb6629c1fee6380a773e14
2018-11-12IVGCVSW-2125 : Consolidate backend registries into oneDavid Beck
Change-Id: I56da4780f8f5fcef7ff01d232d5d61bf299364bf
2018-11-12IVGCVSW-2054: BATCH_TO_SPACE_ND Reference implementation and Unit tests.Éanna Ó Catháin
Change-Id: I13c6728dbb60643d0e086d171225c5d802987f92
2018-11-09IVGCVSW-2125 : backends now can return optimizationsDavid Beck
Change-Id: Ieec34224b433e1d2f3bbe66632cd6016cac5498c
2018-11-08IVGCVSW-2056+IVGCVSW-2064 : move ClContextControl to the ClBackendexperimental/nhwc-previewDavid Beck
* add IBackendContext interface * add ClBackendContext implementation Change-Id: I13e4d12b73d4c7775069587675276f7cee7d630b
2018-11-08IVGCVSW-1709: Clean up memory manager bodgeAron Virginas-Tar
* Added quick workaround for the memory management errors in the CL/Neon unit tests Change-Id: I56250db462cdbdc1acc0a5824807d288fb0c1d11
2018-11-05Revert "IVGCVSW-2056 + IVGCVSW-2064 : move ClContextControl to the ClBackend"David Beck
This reverts commit d4dfa684941a21314b70593d01b0fc2167eebad4. Change-Id: Id61ce69215505c3cf5d30ec2a7ec9127fb2554fc
2018-11-02IVGCVSW-1946: Remove armnn/src from the include pathsAron Virginas-Tar
Change-Id: I663a0a0fccb43ee960ec070121a59df9db0bb04e
2018-11-02IVGCVSW-2093 Add SpaceToBatchNd layer and corresponding no-op factory ↵Nattapat Chaimanowong
implementations Change-Id: Ibd457f3a2d4342c4d6335bd3c471282a14ab6b14
2018-10-31IVGCVSW-2102: Fix Pooling2D CpuRef indexing bugJames Conroy
* Fixes bug when calcuating indexes for NHWC in Pooling2D CpuRef implementation, it now uses TensorBufferArrayView. * Adds 2-Channel unit tests for Pooling2d on CpuRef, Cl and Neon. The single channel tests were not properly exercising Pooling2d using NHWC data layout. * Refactors Pooling2D NHWC tests so that the input and output data are permuted to NHWC when necessary, instead of hard coding the data in NHWC format. Change-Id: I5b9d41ed425ff283ea8c8ef6b1266ae0bc80f43b
2018-10-27IVGCVSW-2083 - Add DataLayout parameter to calculate the expected output ↵narpra01
shape in ValidateTensorShapesFromInputs * Convolution2dLayer * DepthwiseConvolution2dLayer * Pooling2dLayer * ResizeBilinearLayer * Unittests for ValidateTensorShapesFromInputs Change-Id: I057caf8a90d822175a7dd7271f960b65c6154bb4
2018-10-26IVGCVSW-1896 : SubGraph selectorDavid Beck
Change-Id: Iae9a76b10d84d7ba80136b54355f8d37d2df475d
2018-10-26IVGCVSW-2056 + IVGCVSW-2064 : move ClContextControl to the ClBackendDavid Beck
Change-Id: Ice19d3f763298bc14585267df389e99df846320d