Age | Commit message (Collapse) | Author |
|
Change-Id: I30a46f3368bbbf33019eac4fa1245f6ff69deacd
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
|
|
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
|
|
Signed-off-by: David Monahan <David.Monahan@arm.com>
Change-Id: Ic1272f1f6bb218e44cb0a0c58186641e8c4a5212
|
|
* 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
|
|
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
|
|
Change-Id: I3f5dfb0d84d841eec30bb2b6ad9593024f3a39f1
Signed-off-by: Colm Donelan <colm.donelan@arm.com>
|
|
* 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
|
|
* 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>
|
|
* Update how we are setting the m_InputWorkloadSlotPairs to properly identify inputs
Signed-off-by: David Monahan <David.Monahan@arm.com>
Change-Id: I6d36f6d2bfdd42ade22c34e215f0d18b02702207
|
|
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>
|
|
* 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
|
|
Signed-off-by: David Monahan <David.Monahan@arm.com>
Change-Id: I2cda579d18be765fbc2783d9fd80ff8e5372a8a8
|
|
* Replace memory area with vals in tensor creation
Signed-off-by: Ryan OShea <ryan.oshea3@arm.com>
Change-Id: Id92173a515e643d14bd9e24eac1cb834ae55bd1e
|
|
* 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
|
|
Signed-off-by: Colm Donelan <colm.donelan@arm.com>
Change-Id: I45fb3f06533b031dd4e65b91561b699555e072b4
|
|
* 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
|
|
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: I01f42a520d15c6dabd2f77c7715c91b8f7026476
|
|
* 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
|
|
* 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
|
|
Change-Id: Id55a460ecb510f5b30235b03f54390f2c8188fc2
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* Added Unittests
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Signed-off-by: David Monahan <David.Monahan@arm.com>
Change-Id: If7c0add39583a7e47b43fd79f93c620f86f80fc1
|
|
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I9d695418fe240b7115a1c624abcd459f1459301b
|
|
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: If5392020dfd0caa3f09ea2edbaf0f83ec36ab99b
|
|
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ib0bf99c81ae1b30079be194a82b207761cb56028
|
|
* This is to allow EthosN more time to adjust to new API.
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I7da32a7317827dfa619c74fc8801447e7172e7c8
|
|
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: I8f3274c39ba34b031f78c5542da6bf1a495892a9
|
|
It seems the compiler was interpreting 'DataType' as the template argument
rather than the type name. By fully qualifying the type name, it avoids
this ambiguity.
Change-Id: Iab00b0a22390417a5a6b22c829a171152f2da495
Signed-off-by: Rob Hughes <robert.hughes@arm.com>
|
|
* This saves new backend implementing old and new pure virtual functions
only to have to remove their implementations of our old api when we
remove in 22.08.
* Make deprecation warnings more descriptive.
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I36c34c3c85f1c359e0b6974866e70edf0bbb4227
|
|
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: I05afc37f8bb9971cbf5cefc630322315d724de29
|
|
* Make subgraphview a public interface for backends.
Change-Id: I615a29ffec41e947215c3d29c2d7d214e327fb90
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
|
|
* New Virtual Function Added.
* Implemented in Ref Neon CL with switch statement for all layers.
* Deprecate original IsXXXLayerSupported functions.
* Ensure Npu not broken with change.
Change-Id: Icf61b16beec83d6af1cb287e24ab1e98a6138c8c
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I4d3ff2e673ea2b9ef1ec89eb82ff342d6bbd537d
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I9f80b9f45206db920568e28e363fcb60f5c0819a
|
|
* Added constant input supports for Pack/Stack, Concatenation operators
* Added Int32 support to Pack/Stack operator on CpuRef
* Removed unsupported operator from TfLite Delegate
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I64203e174300d23eedeb22bddefe07e931c4eff3
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ia941be9bf2c15fe56e49a9b9a2bbe943a8152438
|
|
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: Icaa3aa7ef3e5cc3984941d095edfe8f0b2137879
|
|
m_Layers
* Added IInputSlot, IOutputSlot and IConnectableLayer to SubgraphView
* Deprecated old member functions
* Removed deprecated calls in ArmNN
* Added GetOwningIConnectableLayer function to IOutputSlot
* Updates ArmNN Core Major version for IOutputSlot ABI break
* Updated Minor version of TfliteParser, OnnxParser and Delegate
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I2a8611bfabf5ae09d3602fe6a4bef166e18117b9
|
|
* Added CanBeImported function
* Updated existing checks to use the CanBeImported function
* Added Unittest
Signed-off-by: David Monahan <David.Monahan@arm.com>
Change-Id: I1fe4b9cf2a803d00f35bb16d0e312fd93503dbd8
|
|
Enforce serialized access to TimelineDecoder::m_Model by removing public
access funtion and replacing with an 'Apply' method taking a lambda and
uses a std::lock.
Use the new lambda when invoking callbacks.
Change-Id: I6ea2fbca990736f3be63e80897f175421f19f0c1
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
|
|
rather than reference.
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: I4057d2d6055220bb0d415a934ac09688b699b77c
|
|
* Added check for existing event.
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Ife5e4f34aae1607be8f44908102e6fda4a7779af
|
|
to TensorHandleFactoryRegistry
* Add RegisterCopyAndImportFactoryPair
* Add GetMatchingImportFactoryId
* Unit tests
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I91e71bdeadec8fedbce7088016c06a47a03bdbaa
|