aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-25IVGCVSW-6801 Remove the call to sync after EnqueueWorkload if we didn't importv22.02branches/armnn_22_02David Monahan
Signed-off-by: David Monahan <David.Monahan@arm.com> Change-Id: I0c79518fb0d849809d972241ce02653259d4f8c4
2022-02-17Add back the wav file needed for testing Wav2Letter guideNikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: Iaf118e0c4313d810225eac773f1a7d84ea559a68
2022-02-17Update TfLite build guidesNikhil Raj
* Update path changes in building TF, CL * Add option to switch off XNN package while building TFLite * Remove obsolete links Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: Ib2c932ceb8ef2be4e01ac77ac8f880f814d452cb
2022-02-17Add SupportsTensorHandleReplacement implementation to the ClConvert workloadsDavid Monahan
Signed-off-by: David Monahan <David.Monahan@arm.com> Change-Id: Ie78d84949a4af3d9598ab0c1c035688bd39bb806
2022-02-16Refactor Forced ImportFinn Williams
* Find and replace all workloads associated with imported IO * Only attempt tensorhandle replacement if supported by all workloads * Add new RefBaseWorkload to enable forced input for ref backend * Store imported tensorhandles in preImportedTensorhandles instead of outputHandles * Create pre-imported tensorhandles at network load-time * Front load import workload validation to load network time * Only call ReplaceTensorHandle when needed Change-Id: I3816a71b7f57ae90388bb16462a75d4ef3544fa7 Signed-off-by: Finn Williams <finn.williams@arm.com>
2022-02-16Add implementation of reconfigure function to Cl Convert workloadsJim Flynn
Change-Id: Id993a300847bde012dd38ef7f44fcd3c14867349 Signed-off-by: Jim Flynn <jim.flynn@arm.com> Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
2022-02-15Update Doxygen Project VersionNikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I936fa3c7f7f2b7bc6e47b29f59ac66d6d94f2dae
2022-02-15Update build guides and FAQNikhil Raj
* Updated BuildGuideAndroidNDK.md * Updated BuildGuideCrossCompilation.md * Updated FAQ.md in docs/ Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I96fa9cedf0da3b3b96fa26a2c36fcce2ac9de151
2022-02-15Fix unit test where NeonMemoryManager was used instead of RefMemoryManagerMatthew Bentham
Although the Neon and Ref backends can use each other's TensorHandles, their TensorHandleFactories can't use each other's MemoryManagers. Incorrectly passing the NeonMemoryManager to the RefTensorHandleFactory in unit test utility code resulted in an incorrect static_pointer_cast and a warning from the Undefined Behaviour Sanitizer. This change fixes the test code, and replaces use of static_pointer_cast with armnn::PolymorphicPointerDowncast which will check that the cast is legal in debug builds. Also, remove MockWorkloadFactoryHelper.hpp as it is unused. Signed-off-by: Matthew Bentham <matthew.bentham@arm.com> Change-Id: I2b425e86fccacd7cc5ff186521fc6e53e7e50c77
2022-02-10Tweak to misaligned memory pointer tests to not read/write to misaligned buffersDavid Monahan
Signed-off-by: David Monahan <David.Monahan@arm.com> Change-Id: Ic1272f1f6bb218e44cb0a0c58186641e8c4a5212
2022-02-10IVGCVSW-6700 Add override functions to all typed Neon/CL workloadsDavid Monahan
* Neon and CL workloads which inherit from TypedWorkload instead of the BaseWorklod for their backend do not contain the correct ReplaceInputTensorHandle/ReplaceOutputTensorHandle and Reconfigure functions. So they have been added directly. * Removed the Profiling call from ClConvolution2dWorkload::Reconfigure() to avoid a segfault Signed-off-by: David Monahan <David.Monahan@arm.com> Change-Id: I7b9d1b48fdb17db1662dc03c22acc746340ce73f
2022-02-10Avoid writing to and reading from misaligned pointers in UnitTestsMatthew Bentham
Use of pointers which do not meet the alignment requirements of the underlying type have undefined behaviour in C++. This change replaces direct use of the pointers, with use of memcpy to copy between aligned buffers and misaligned buffers. Fixes errors found by -fsanitize=undefined Signed-off-by: Matthew Bentham <matthew.bentham@arm.com> Change-Id: Ia37a6b5aae2803d1d0e160d1646f711bfe647a60
2022-02-10Renaming MockBackend in OptimizerTests to avoid namespace clash.Colm Donelan
Change-Id: I3f5dfb0d84d841eec30bb2b6ad9593024f3a39f1 Signed-off-by: Colm Donelan <colm.donelan@arm.com>
2022-02-09IVGCVSW-6399 Remove deprecated code 22.02Francis Murtagh
* Remove LayerSupport.hpp which was replaced with ILayerSupport interface and the BackendHelper.hpp GetILayerSupportByBackendId() function * Fix bug in backend helper where value of Optional was passed even if Optional had no value. Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: I03f1f693abe927a14c1942ef7e21edccc8357b35
2022-02-09Fix some build failuresRob Hughes
* Add ARMNN_DLLEXPORT to static symbol that needs to be exported from armnn * Add missing <numeric> header for std::iota Change-Id: Ica0211ed0065e9723bcb8e9dff511acb4ea50288 Signed-off-by: Rob Hughes <robert.hughes@arm.com>
2022-02-08IVGCVSW-6700 Fix segfaultDavid Monahan
* Update how we are setting the m_InputWorkloadSlotPairs to properly identify inputs Signed-off-by: David Monahan <David.Monahan@arm.com> Change-Id: I6d36f6d2bfdd42ade22c34e215f0d18b02702207
2022-02-08Handle optional biases better in Neon/Cl FullyConnected workloadsMatthew Bentham
Use armnn::Optional for optional bias TensorInfos, similar to how it's already done in Convolution etc. Fixes some test failures found using -fsanitize=undefined Change-Id: I7b887e63e2ffab14aeab14415069be738d938ebb Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
2022-02-07IVGCVSW-6635 Move MemCopyTestImpl from acl to armnnTestUtils.Colm Donelan
* Move MemCopyTestImpl.hpp from src/backends/aclCommon/test/ to include/armnnTestutils. * Refactor MemCopyTests in aclCommon, cl and Neon. * Introduce RefMemCopyTests to exercise this utility in x86 builds. Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: I8824f013d3656658ed0a2904bb79384e3af68641
2022-02-07IVGCVSW-6698 EndToEnd tests on ref to ensure allocated data can be reusedDavid Monahan
Signed-off-by: David Monahan <David.Monahan@arm.com> Change-Id: I2cda579d18be765fbc2783d9fd80ff8e5372a8a8
2022-02-07IVGCVSW-6711 Async Execute Test fails on 32bit raspiRyan OShea
* Replace memory area with vals in tensor creation Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Change-Id: Id92173a515e643d14bd9e24eac1cb834ae55bd1e
2022-02-06IVGCVSW-6747 Call Cl sync after EnqueueWorkloadNarumol Prangnawarat
* Add AfterEnqueueWorkload to IBackendContext * Implement AfterEnqueueWorkload in ClBackendContext to call Cl sync * Set allocated data on outputhandler only once * Handle PreImportedHandles and CurImportedId the same way as Async Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I9f59d57e298d4a494569faec3078d66af799f77b
2022-02-05MLECO-2079 Adding the C++ KWS exampleGeorge Gekov
Signed-off-by: Eanna O Cathain <eanna.ocathain@arm.com> Change-Id: I81899bbfaada32f478c2e2fc6441eabb94d8d0fc
2022-02-04Update ACL pin to 22.02 Release BranchJames Conroy
Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: I8233122bf3538cd7dbc788c14c58e73009735389
2022-02-04IVGCVSW-6727 Updating error messages from the flatbuffers parser.Colm Donelan
Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: I45fb3f06533b031dd4e65b91561b699555e072b4
2022-02-04Update ACL pin to 451c309179b784d19d333da31aec5a871c3ff2b6Nikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I4a0827b072209bcb5abbb53d6e8f3e09e1470ba7
2022-02-04MLECO-2079 Adding the python KWS examplealexander
Signed-off-by: Eanna O Cathain <eanna.ocathain@arm.com> Change-Id: Ie1463aaeb5e3cade22df8f560ae99a8e1c4a9c17
2022-02-03IVGCVSW-6634 SubgraphView: Add method of returning a GetSubgraphWorkingCopyFrancis Murtagh
* Add pointer to SubgraphView allowing it to store a working copy implementation of its own representation of graph. * Make SubgraphView a friend of Graph to allow access to layers. * Add constructor to SubgraphView taking SubgraphViewWorkingCopyPtr * Rewrite Graph::SubstituteSubgraph for use on SubgraphView * Add GetWorkingCopy() method * Add tests for replacement of multiplication with DepthwiseConv2d * Check GetBackendHint() has value before passing to PrecompiledLayer * Add GetOwningIConnectableLayer to IInputSlot to allow traversing from IConnectableLayer->IOutputSlot->IInputSlot->IConnectableLayer Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: Iaaef14448d8b73867eaee9d69f4f98d5d1bf171c
2022-02-03IVGCVSW-6724 Accessing ConstTensors from IConnectableLayerNikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I01f42a520d15c6dabd2f77c7715c91b8f7026476
2022-02-03IVGCVSW-6680 Delegate Segfaults on Execute NetworkRyan OShea
* Change to check for success instead of specific failure * Fix which map index is used when assigning outputs Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Change-Id: I13d8e989e35789ad3e2465d595905c5a5603ae0f
2022-02-03IVGCVSW-6635 Expose a new MockWorkloadFactory and MockMemManager (Part 1)Colm Donelan
* Create a MockBackend in armnnTestUtils. * Create corresponding WorkloadFactory, TensorHandle, TensorHandleFactory MemoryManager and WorkloadFactoryHelper classes. Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: I884731b109bc623a7272e5ad333ff754f8c13ae1
2022-02-03IVGCVSW-6696 Add Forced Import EndToEnd tests to Ref, Neon, and CLDavid Monahan
* Created EndToEnd tests with Misaligned buffers but import is forced * Added the Aligned Tests from a previous patch to avoid merge conflicts * Previous Aligned EndToEnd test for ref has been added to backendsCommon and is now used for neon as well * Added to Ref, Neon, and Gpu Backends * Neon tests only check for copies as reconfigure has not been implemented for the Neon backend yet Signed-off-by: David Monahan <David.Monahan@arm.com> Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I12ddf5780201044834d6d1bbeebce60a4614efd1
2022-02-02IVGCVSW-6639 Add GetParameters to IConnectableLayerJim Flynn
Change-Id: Id55a460ecb510f5b30235b03f54390f2c8188fc2 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2022-01-31IVGCVSW-6552 Add support of aligned host memoryNarumol Prangnawarat
* Add AllocatedData functions to OutputHandler * Enable import aligned memory in ImportInputs * Enable import aligned memory in ImportOutputs * Allow to import input and output if the memory is aligned * Implement Reconfigure function on ClConvolution2dWorkload * End-to-end test on Ref and Cl to ensure that input and output memory are imported when aligned Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I9e5e4c26d1ac2f1d806803ade5f64c6479c51718
2022-01-28IVGCVSW-6679 Add input and output workload slot pairs to LoadedNetworkDavid Monahan
* Added vectors to store the indexes of workload queues which contain inputs or outputs and their corresponding input / output slots Signed-off-by: David Monahan <David.Monahan@arm.com> Change-Id: Ide626726718216c7a778cce583da75af3ca2dc9a
2022-01-28Update ACL pin to 0ef2c2176fd99319342a4174e15c0263ede236cdNikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: Ib6be947127bc47812395e876a783e256ca9157df
2022-01-27Update ACL pin to 21391c3f8b234c1a141e1c2d192072c91c254b33Nikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I4c73f697bb6b3f24f85765fa60461ce40c324ea6
2022-01-27IVGCVSW-6739 'Issues on Logging API'Sadik Armagan
* Enabled using same instance of SimpleLogger * Removed some trailing new lines on some log messages Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I4b917c0ca5011afc9b39dad50715290ba15a1246
2022-01-27IVGCVSW-6687 Implement ICLTensorProxyNarumol Prangnawarat
* Implement ICLTensorProxy and unit tests * Remove IClImportTensorHandle and use IClTensorHandle to access ICLTensor Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I791d0f2c6f8bad841a56e39e196baf0e533c7124
2022-01-26IVGCVSW-6685-6686 Modify workloads to extend Neon/Cl BaseWorkloadTeresa Charlin
* Neon workloads to extend NeonBaseWorkload instead of BaseWorkload * Cl workload to extend ClBaseWorkload instead of BaseWorkload Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I8f39a31a89a8865ac4acf18573ab290d548d2864
2022-01-26GitHub #603 Add PADV2 support to TFLite ParserMike Kelly
* Added PADV2 support to TFLite Parser * Added PADV2 unit tests * Updated Parser Docs Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I06ea9a6ceddc38cdb89204c019432257d3f58e4c
2022-01-26IVGCVSW-6727 Change asserts to CHECK in ParserFlatbuffersFixture.hpp.Colm Donelan
* ReadStringToBinary was using ARMNN_ASSERT_MSG which is hiding unit test errors in release builds. Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: Ib5d6846525a3a1191f85004c7985773917a1f609
2022-01-26IVGCVSW-6683-6684 Add ClBaseWorkload and NeonBaseWorkloadTeresa Charlin
* Neon/Cl Activation workloads inherit from Cl/Neon BaseWorkload * Unit Test for ReplaceTensorHandle functions Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I985e34b93a96405735402a6d3b947957afbe2857
2022-01-26IVGCVSW-6739 Fix logging bug where blank messages were being sentRob Hughes
The ScopedRecord class sends its message to its sinks in its destructor. The StartNewRecord() method was creating a local ScopedRecord variable, returning a (move-initialised) copy of this, and then destroying this local variable (as the variable goes out of scope at the end of the function). That destruction was causing an empty log message to be sent to the sinks, which was not intended. This patch fixes this by making the move constructor of ScopedRecord disable the moved-from object, so that it does not send its message upon destruction. Change-Id: I435d96074698575ed3445fed2597c115b83701fd Signed-off-by: Rob Hughes <robert.hughes@arm.com>
2022-01-26Update ACL pin to 7195f71b2e44e2119b1763fde02b2cf3f9371a6bNikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I1760c2a7bca8cf18d16a4e5fe14a8954dda48d80
2022-01-25IVGCVSW-6673 Implement CanBeImported function to ClTensorHandleNikhil Raj
* Added Unittests Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Signed-off-by: David Monahan <David.Monahan@arm.com> Change-Id: If7c0add39583a7e47b43fd79f93c620f86f80fc1
2022-01-25Update ACL pin to 639f0f665b4346d287014adc99e14a8497aadf18Nikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I88ccfe33e6149d12a06235fcddefb1cdf543d26a
2022-01-25IVGCVSW-6676 Register CopyAndImportFactoryPairs to RefBackend and unit testsNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I9d695418fe240b7115a1c624abcd459f1459301b
2022-01-25IVGCVSW-6678 Register CopyAndImportFactoryPairs to NeonBackend and unit testsNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: If5392020dfd0caa3f09ea2edbaf0f83ec36ab99b
2022-01-24IVGCVSW-6677 Register CopyAndImportFactoryPairs to ClBackend and unit testsNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ib0bf99c81ae1b30079be194a82b207761cb56028
2022-01-24Bugfix: Set removal date for Backend API stability items to 22.11Francis Murtagh
* This is to allow EthosN more time to adjust to new API. Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: I7da32a7317827dfa619c74fc8801447e7172e7c8