aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-08-10MLCE-530 Add support for UnidirectionalSequenceLstm to RefWorkloadexperimental/daves_custom_allocator_dmabufNarumol Prangnawarat
* Add implementation of IsUnidirectionalSequenceLstmSupported to RefLayerSupport * Add RefUnidirectionalSequenceLstmWorkload * Refactor Lstm to be able to use for Lstm and SequenceLstm * Unit tests Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ibc066d213213a11b955dfefbe518de643298ba0c
2021-08-10Adds CustomAllocator interface and Sample AppJan Eilers
* Updates the runtime options with a CustomAllocatorMap which allows to define a CustomAllocator for specific backends * Change IBackendInternal interface to use a shared pointer to a custom allocator * Update ClBackend.hpp/cpp to use the CustomAllocator * Adds an example application and unit test which uses a CustomAllocator for GpuAcc * Refactor of the interface to use MemorySource instead of the user Mapping cl_mem directly * Modify the BackendRegistry to also hold a registry of CustomAllocators * BackendRegistry Deregister will also deregister any allocators associated with that backend id * set_global_allocator within the BaseMemoryManager so that it always matches the currently used allocator Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I156d819686021865f4375e6cb7a5c5dec8fee9e8 Signed-off-by: David Monahan <david.monahan@arm.com>
2021-08-10IVGCVSW-6292 Allow profiling details to be switched off during profilingKeith Davis
* Add switch for network details during profiling Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I8bd49fd58f0e0255598106e9ab36806ee78391d6
2021-08-10IVGCVSW-6249 Add ProfilingDetails Macros to all workloads in CLKeith Davis
Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I92dd410da7ad633a46d025fdc2b26093041c439b
2021-08-10IVGCVSW-6249 Add ProfilingDetails Macros to all workloads in NeonKeith Davis
Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I7be77712a9f790928219ce91222d46cc766ab9dd
2021-08-10IVGCVSW-6289 Separate tensor shape inference and validation callsFinn Williams
* Pass m_shapeInferenceMethod to OptimizerOptions in ExecuteNetwork Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I90280fb7629092d3b66e8a3968ca9e35a0df854a
2021-08-09IVGCVSW-6119 ConstTensorsAsInput: FullyConnected Bug FixMatthew Sloyan
* Updated FullyConnected layer member variables when cloning as some backends still require them. * Added SetConstant call when using deprecated AddFullyConnectedLayer method to ensure backwards compatibility. * Added SetConstant to SimpleSample to ensure it runs on all backends. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: Ie7b4e4b868f23f8fcf9c41ffd12e2ea9ea53afca
2021-08-06Fix SimpleSample to use new FullyConnected APIFrancis Murtagh
* Remove deprecated code from public examples Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: Ia6c4f8d7f8c477b776d96e66085996487e8fdc75
2021-08-06IVGCVSW-5922 Update minor version for all parsers.Matthew Sloyan
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I3a3e5b017c307e374457b18712585dce210f8922
2021-08-06Update ACL pin to 21.08 release branchNikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: Ifbd13e9e7a8e238c2bb1d2cb9c48fa159eac3bba
2021-08-06Replace use of non-standard variable length arraysRob Hughes
Replace these with a std::vector for portability Change-Id: Ia6b0dc9360446ef8bba0baa88c61b4c400fcd799 Signed-off-by: Rob Hughes <robert.hughes@arm.com>
2021-08-06Bugfix: Add ARMNN_NO_DEPRECATE_WARN to simpleSampleFrancis Murtagh
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: Ia44436fc0e74ad57eb3d73cdb31956dffdc45493
2021-08-06Infer tensor shapes before graph optimizationFinn Williams
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I2a7a9b7b21848e2b3258788f06b01159f95a0d6c
2021-08-06IVGCVSW-6119 ConstTensorsAsInput: FullyConnectedMatthew Sloyan
* Constant weights and biases are now stored as Constant layers. * Updated Serializer, Deserializer and unit tests to reflect this. * Updated TfLiteDelegate, TfLiteParser and OnnxParser. * Updated Schema with IsConstant and ConstantTensorsAsInputs. * Updated Ref backend to handle constant weights and bias as inputs rather than reading from member variables. * Added dynamic or constant input EndToEnd tests. !android-nn-driver:5959 Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: Ibf3cf437df1100e4b322b0d303c575c6339f9696
2021-08-05IVGCVSW-6258 'Unittest failures'Sadik Armagan
* Fixed unit test failures happening on threads. Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I2a6048f75ece4a9f4c2116306838ff55385aabe7
2021-08-05Update ACL pin to 3f74389bf771274162dc5e6fd87bbfa2d38ea667Nikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I00a3490fd34f51f9edb3e46b90065bfc37c7946a
2021-08-05Fix for gcc 9.3.0 compiler warningJim Flynn
Change-Id: I6368925a19ee11d67b1b153cf1e7dc64eca11077 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2021-08-05IVGCVSW-6051 'Arm NN Operator Coverage Page'Sadik Armagan
* Created Arm NN Operator list page. Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I50dbdb78ea9714b0551e023f6ea7f017ad4b47bb
2021-08-05IVGCVSW-5980 Add Descriptor, TensorInfo and Convolution algorithm to JSONKeith Davis
* Add GUID as field to layer details and profiling events * Add Optional GUID param to existing tests * Improve Details macro to be inline function * Fix some formatting Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I66f192a90a7642b3ee8e7dda0d3f428cce002581
2021-08-04Fixed bugs in PreCompiledLayerMike Kelly
* Fixed PreCompiledObject type (was const void** instead of void*) * Fixed bug where a new shared_ptr was being created instead of allowing std::move to convert the unique_ptr into a shared_ptr. * Improved tests to ensure that the original pointer is maintained. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I3f50d51775ee0180c894c2843ed7bc990a771dea
2021-08-04IVGCVSW-5980 JSON profiling outputKeith Davis
* Add new ProfilingDetails class to construct operator details string * Add new macro which helps append layer details to ostream * Add ProfilingEnabled to NetworkProperties so that profiling can be realised when loading the network * Add further optional info to WorkloadInfo specific to convolutions * Generalise some JsonPrinter functions into JsonUtils for reusability * Remove explicit enabling of profiling within InferenceModel as it is done when loading network * Add ProfilingDetails macros to ConvolutionWorkloads for validation Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: Ie84bc7dc667e72e6bcb635544f9ead7af1765690
2021-07-29Fix use of non-standard datatypesRob Hughes
Change-Id: I03ef0571b24ad2bddfabf3bc5b11b614e7d7c8b4 Signed-off-by: Rob Hughes <robert.hughes@arm.com>
2021-07-29Update ACL pin to 8e2f64f214fa3ce5834db966222fa3b804e236a2Nikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I2aae71349c14e2cdf43b241da4a4acf7ddef0755
2021-07-28Different input data for every iteration of ExecuteNetworkJan Eilers
* Allows to supply different input data for every execution of a model when using the 'iterations' option in ExecuteNetwork * Removes the option 'simultaneous-iterations' because it's functionallity is now covered by 'iterations' * Adds a deprecation warning message to notify users * Little refactor of warning messages Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ib3ab0d6533f6952bfee20d098a890b653c34cc12
2021-07-28MLCE-530 Add Serializer and Deserializer for UnidirectionalSequenceLstmNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ic1c56a57941ebede19ab8b9032e7f9df1221be7a
2021-07-28Update ACL pin to 980558373f14c135a331fa23b61558c7d177edf2Nikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I6072afd1bb58ae931560c604fddf1efadce634f5
2021-07-27IVGCVSW-6011 Update Mali to r30p0 on debian hikeysFrancis Murtagh
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: I977a75b403a879603f0291a58be21a227201a273
2021-07-27Update ACL pin to 22f5ed51f1b01f7cf6993a556a0b763e437926fcKevin May
* Avoid allocation of auxiliary memory in CpuGemmConvolution Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I8c7e0a7639949140677fac24256367a90ab63fdb
2021-07-26IVGCVSW-5966 'Update all the documentation'Sadik Armagan
* Update all documentation for removing BOOST library dependency Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Ie21ff096a11b7a623b1b9bb6f71eb63ea6e7b615
2021-07-26GitHub #557 wrong result in int8 modelexperimental/CustomAllocator3Mike Kelly
* Added support for qasymms8 (int8) to ImageTensorGenerator * Added qasymmu8 as alias for qasymm8 in ImageTensorGenerator * Added support for qasymms8 (int8) to ExecuteNetwork * Added qasymmu8 as alias for qasymm8 in ExecuteNetwork * Set tflite to be the default model format in ImageTensorGenerator as it's the only supported model format. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: Ieda7b78e668ea390e3565cd65a41fe0a9c8a5b83
2021-07-23Update ACL pin to f67034e7f52596eece094b37fb386c946e1b87eeNikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I9c0fcc079553fcf5e97cc06b9e4274f2189c0852
2021-07-22MLCE-530 Add front end support for UnidirectionalSequenceLstm on ArmNNNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I57bcbdec3eb0155f41af0fe7d6abf9bac2ec86eb
2021-07-22IVGCVSW-6073 Add protected mode to ArmNN CreationOptionsJan Eilers
* Adds logic to the Runtime to activate protected mode * Adds ProtectedContentAllocation backend capability to ClBackend It's not fully activated yet because the CustomAllocator is missing. Will print an error message and won't register the backend but won't fail. * Extends IBackendInternal with an UseCustomAllocator function. * Adds related unit tests Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I64f465c5800eb104aa90db1bbf772a4148b5072f
2021-07-22IVGCVSW-6077 Add the Custom Memory Allocator interface definitionDavid Monahan
* Added ICustomAllocator.hpp to include/armnn/backends/ * Added the ability to specify an ICustomAllocator to the CreationOptions Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I820e468b691aa032c9bd2c1e1257dc9d02f981d9
2021-07-21IVGCVSW-6176 Add support for shape_signature in the tflite parserFinn Williams
* tflite shape_signatures will now be the preferred way to detect dynamic tensors * add test utility to the parser that converts a model's tensors to dynamic * by default tests will run a dynamic version of the model in addition to the original * fix dynamic shape inference of unpack operator * reactivate and fix quantize test * add shape inference to expand dims Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: If11ba19d813cd3590707583dff1e4eb0e6412a1d
2021-07-21NNXSW-3081 Move Filesystem.hpp and Threads.hpp to public includeRob Hughes
!android-nn-driver:5966 Change-Id: Ice0b4d2872bb0e09bfc0763034a206c3a8f24af4 Signed-off-by: Rob Hughes <robert.hughes@arm.com>
2021-07-21Fixed RunTest's TfliteParser with boolean outputBruno Goncalves
Tests for TfLiteParser are not working when the expected outputs have boolean type Signed-off-by: Bruno Goncalves <bruno.slackware@gmail.com> Change-Id: I16890f82e8e581f53e6e8464668c5adf3374bf2f
2021-07-21Added comparison operators to TfLiteParserBruno Goncalves
E.g. Equal, NotEqual, Greater, GreaterOrEqual, Less and LessOrEqual Signed-off-by: Bruno Goncalves <bruno.slackware@gmail.com> Change-Id: Id56ef3cc19cc5c5daa19354010c9f25766e5fd00
2021-07-16Avoid empty test suitesMatthew Bentham
Refactor code around conditionally-compiled tests to avoid declaring empty test suites, as this can cause unused function warnings to be issued under certain combinations of compiler, warning level, and doctest version. Signed-off-by: Matthew Bentham <matthew.bentham@arm.com> Change-Id: Ib501aef80475538a725b857d9c31d1d2f96b124d
2021-07-16Fix binding of reference to null pointer in RefFullyConnectedWorkloadMatthew Bentham
As the bias decoder is optional, pass it as a pointer to the FullyConnected function instead of by reference. Signed-off-by: Matthew Bentham <matthew.bentham@arm.com> Change-Id: I0bd2e601015e7fa1ae21b50f6c3dd7eac4176554
2021-07-16Avoid undefined behaviour in NumericCast unit testMatthew Bentham
Because the maximum value of an int32_t isn't exactly representable by a 32-bit float, casting it to a float produces a greater value, and then casting that back to an int32_t is undefined. (In tested implementations the cast saturates, so accidentally the correct result is returned). Using double for the intermediate value instead gives a high enough precision that this test case can be safely expressed. Silences warning from Undefioned Behaviour Sanitiser. Signed-off-by: Matthew Bentham <matthew.bentham@arm.com> Change-Id: I6fe3e89cb6ac695049c92f3b75aca0c14d0e14aa
2021-07-15Fix some compile warnings & errorsRob Hughes
* Fix type of literals * Add explicit casts * #include missing headers * Replace use of non-standard u_int8_t * Remove name of unused variables * Fix DLL export macro - this was broken when some of the exporting headers were moved to a different library. Change-Id: Ie569c8df41a077b46c608798f39526352e2aeb3a Signed-off-by: Rob Hughes <robert.hughes@arm.com>
2021-07-15IVGCVSW-5965: Remove the boost library from Arm NN build files.Sadik Armagan
* Remove all references to boost from the ArmNN build files: * Caught one remaining include in TensorTest.cpp. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Ib8c8014cf471aa0024c977ccb23ebf96b0236aca
2021-07-12Fix Unittest failures in CL MasterNikhil Raj
* This change is caused by ACL patch: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5855 Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I222ff6dea155be38899145a5d096093db1b5e716
2021-07-05Remove excess trace messages from unit testsMatthew Bentham
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com> Change-Id: I5889a5f44c0c22da6421d9bd06494c75d74e0440
2021-07-05Improve ThrowBackendUnavailableException testMatthew Bentham
Fail test if exception is not thrown. Remove unnecessary references to CpuAcc backend. Remove excess trace message. Signed-off-by: Matthew Bentham <matthew.bentham@arm.com> Change-Id: I22d30b47a092ac2e66f5987c656804cd31b04b21
2021-07-01Fix undefined behaviour in PolymorphicDowncastMatthew Bentham
In the assertion part of PolymorphicDowncast (and PolymorphicPointerDowncast) there was an unnecessary static_cast of the source pointer to the destination type. This is unnecessary because the implicit conversion of the result pointer back to the base type is sufficient to check for correctness of the downcast, and potentially harmful because if the downcast is actually incorrect the behaviour of static_cast is undefined (not actually known to be a problem in any tested implementation). Fixes warnings detected by ubsan. Signed-off-by: Matthew Bentham <matthew.bentham@arm.com> Change-Id: I9126288cbb06564009f94e57f6ca4688fc3b53c4
2021-07-01IVGCVSW-6075 Add ParseExpandDims to TfliteParserTeresa Charlin
* Add ExpandDims tests in tfliteparser * Add support for negative axis to squeeze Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I604c9b4ac6514895e9e3d4d85c2937e797d288e0
2021-06-30IVGCVSW-6161 ConstTensorsAsInput: Optimizer - Redirect ConstTensor layer membersMatthew Sloyan
* Optimization that searches for layers with ConstantLayers as inputs. * The layer member variables are then redirected to these ConstantLayers. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I24a2bf0e8575b808343e0bbe3897b344e94796ad
2021-06-30IVGCVSW-6114 Create multiple LoadedNetworks from one OptimizedNetworkMike Kelly
* Added IOptimizedNetwork constructor that takes another IOptimizedNetwork and a ModelOptions. * Changed PreCompiledLayer to use shared_ptr rather than unique_ptr to store the PreCompiledObject (no interface changes). * Added unit tests to ensure that PreCompiledLayer::Clone() clones the pointer to the PreCompiledObject correctly. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I3ef56055e0d189ffce9e651882d34da16c70a240