aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2021-06-29Fix segfault in IsLayerSupportedTestsMatthew Bentham
DummyLayer<> was not implemented for QLstmLayer, so the default implementation was getting called. This caused null weights to be dereferenced in WorkloadFactory during IsLayerSupportedTests. While this would often not cause a crash, it could be reliably detected by running the UnitTests with Undefined Behavior Sanitizer. Change-Id: I7a49b18b8292632436b0aae52d6607e28fdd1839 Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
2021-06-29IVGCVSW-6027 Add IsConstant flag to TensorInfoJan Eilers
Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I7cb0a6a8856d8cd9949bec83c1ddce0a454fdf63
2021-06-24Disable Sin support in NeonNikhil Raj
* Disabling until ACL fixes COMPMID-4586 Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: Icabfa20062561201b6d7f850443a7eb2fad64e7b
2021-06-23IVGCVSW-6062 Rework the async threadpoolFinn Williams
!android-nn-driver:5802 * Extract the threadpool from LoadedNetwork/Runtime * Refactor the threadpool to be handle multiple networks * Trim IAsyncExecutionCallback and add an InferenceId to AsyncExecutionCallback * Add AsyncCallbackManager class Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I36aa2ad29c16bc10ee0706adfeb6b27f60012afb
2021-06-21Remove remaining boost testsMatthew Sloyan
* Updated unit tests to use doctest. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I5231225cd0830f16cc0ef20e9ef27e7b92feab19
2021-06-21IVGCVSW-6099 Fix BackendsCompatibility tests with only Neon or CL enabledFinn Williams
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I70492e34351f72ac700b24e40e1f7572f66a76f2
2021-06-18IVGCVSW-5810 Create a skeleton armnnTestUtils libraryMatthew Sloyan
* Moved useful test utilities to new static library. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: Ib800e0737bc5f78399cffa501483b4d26356215c
2021-06-18MLCE-510 Add CpuRef Shape Operator to ArmNNKeith Davis
* Add TfLiteParser and delegate support Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: Id3219ba7cc7128b5e73de2c7d8d076a40dcce9c5
2021-06-17Print Log and Sin Elementwise on dot graphTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I9a502ad1103b999038ae97b13eac2f918e80c618
2021-06-16Fix compilation failure in CL Master nightlyNikhil Raj
* This failure is caused by a patch from ACL side https://review.mlplatform.org/c/ml/ComputeLibrary/+/5769 * Update acl pin to 08302c17cd57356b35d46e17dc8d8f76672da5cf Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: Ic282efe87dc417c83034a5c9b94bc77717abc003
2021-06-16Refactor Network.hpp to be in alphabetical orderKeith Davis
Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: Ib31d239ce0b85639e1984ed91edccdbdeb12a57e
2021-06-16MLCE-510 Add CpuRef Shape Operator to ArmNNKeith Davis
* Add front end * Add reference workload * Serialization/Deserialization * Add unit tests * Update ArmNN Versioning Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I6fcb1fa341d6f08dea4003b13544e6e9f53fefd3
2021-06-16IVGCVSW-6088 Add Sin and Log to ElementWiseUnaryTeresa Charlin
* Ref workload * Cl workload * Neon workload * Serializer * Deserializer * Remove boost include from TensorTest.cpp Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I498548169cc77609c55cf3105f1de5a7429772cf
2021-06-16Fix broken link to Ndk guide in armnn Readme.mdNikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I1e96c0b15721e522346e2b66f4e3d388225cebde
2021-06-16IVGCVSW-5826 Change weights layout for depthwise to [1,H,W,I*M]Jan Eilers
* This change is necessary because tflite uses a [1,H,W,I*M] format and uses the I*M dimension for per axis quantization. Our previous layout [M,I,H,W] can't handle the correlating quantization scales. * Updates Onnx-, TfLiteParser and TfliteDelegate * Updates the CpuRef, CpuAcc and GpuAcc backends * Adjusts unit tests * Adds test to ensure models with old layout can still be read and executed * Adds conversion function to previous layout [1,H,W,I*M] --> [M,I,H,W] which can be used by backend developers !android-nn-driver:5553 Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ifef23368b8c3702cf315a5838d214f7dc13c0152
2021-06-16IVGCVSW-5835 Move the src/profiling/LabelsAndEventClasses class to ↵Nikhil Raj
profiling/common Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I83de0fe9c83ec7e698817095ce5cfe3319c36ea6
2021-06-11IVGCVSW-6083 Add an advisory FAQ entry about TF lite benchmarking tool.Colm Donelan
* Minor errors in parameter usage result in segmentation faults. Add an FAQ entry highlighting this and giving a tested example. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I6dd1812329a500276931f2c1fd37fbc14c507f36
2021-06-11IVGCVSW-5963 'Move unit tests to new framework'Sadik Armagan
* Used doctest in ArmNN unit tests Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Ia9cf5fc72775878885c5f864abf2c56b3a935f1a
2021-06-10Update ACL pin to a5c428a5428d1c7a9d1d03fd198d6a8578b6c12cNikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I7e3ea38fcadf0b8887e41c6ca25c83bff14ba774
2021-06-09IVGCVSW-5855 Refactor the reporting of capabilities from backendsFinn Williams
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I05fc331a8e91bdcb6b8a2f32cfb555060fc5d797