aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-12-02Work in progress of python bindings for Arm NNexperimental/pyarmnnMatthew Bentham
Not built or tested in any way Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com> Change-Id: Ie7f92b529aa5087130f0c5cc8c17db1581373236
2019-11-29MLCE-143 Fixed driver crash during CTS testsMike Kelly
* Only apply the Optimization when the base ReshapeLayer is connected to the child ReshapeLayer and no other Layer. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: Iccd676d657f9e7c829813f1bec9c82db8745d069
2019-11-29IVGCVSW-4070 Implement "send post-optimized network structure"Narumol Prangnawarat
* Send post-optimisation network structure if profiling service is enabled * Refactor TimelineUtilityMethods * Fix RecordEvent to link eventGuid with eventClassGuid * Add common types and guid to LabelsAndEventClasses * Add CreateRelationship to TimelineUtilityMethods * Add CreateTypedEntity to TimelineUtilityMethods * Add MarkEntityWithType to TimelineUtilityMethods * Move VerifyTimeline functions to ProfilingTestUtils * Post-optimisation network structure unit tests to Ref, Cl, Neon Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I0194f2037c236450c912f4c3cb11e46b80c0f512
2019-11-29IVGCVSW-3860 Per-channel QSymm8 support of DepthwiseConvolution2d in ClTeresa Charlin
*Add the call to ReorderWeightChannelsForAcl for QuantizedSymm8PerAxis weights Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I0d2e4c8328753ad15858130945b4fbb193943dfa
2019-11-29IVGCVSW-4118 Fix long unit test executionColm Donelan
* Reduced sleep_for timings * Removed duplicate SendStreamMetaDataPacket. * Modified SendCounterPacket::WaitForPacketSent to use wait_for * Modified SendCounterPacket::Send WaitingForAck to use wait_for * Added destructor to StreamRedirector. * Added method SendCounterPacketTests::HasWrittenData * Restructured many tests in ProfilingTests. Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I55c59cac6674ac40a1056a5302a997d5da9e9d91 Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
2019-11-29IVGCVSW-4209 Create a public API for the ArmNN UtilsMatteo Martincigh
* Moved the relevant armnnUtils headers to the new location: include/armnnUtils * Update the header usage throughout the source code !android-nn-driver:2387 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I2ba15cebcacafad2b5a1a7b9c3312ffc585e09d6
2019-11-29Github #306 Treat data_format attribute as optional in ↵Aron Virginas-Tar
TfParser::ParseFusedBatchNorm() Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I1c6583e4abb43b864dc636f8cdcd9011c763a6fe
2019-11-29IVGCVSW-3864 Add support for per-channel QSymm8 DepthwiseConvolution2d to ↵Aron Virginas-Tar
Neon backend Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I6dadb36abc2e71f4d4309dcce6072c4a66384cf9
2019-11-28Make the profiling GUID test independent from random eventsMatteo Martincigh
* Removed the random generation of strings * Actually generating a million unique strings for the test * Code cleanup Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I4486c06df7e546d717f72d609bd9218d6bb6cc0a
2019-11-28Remove const type qualifiers with no effectMatteo Martincigh
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I3ddd98864eef41c0548ab907a48b025b9154a5a8
2019-11-28MLCE-115 Remove redundant error checking in CL backendMatthew Bentham
This stuff is handled in CLPerumuteLayer::validate now Change-Id: I552e7c0bbd1557d6b5e217c1e96aaeb2377accbd Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
2019-11-28Github #274 Use non-deprecated path to boost headerMatthew Bentham
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com> Change-Id: I78c389148fbb733115e97f40d5271f47d3750c75
2019-11-27IVGCVSW-4170 Also convert constants to FP16 when model convertedDerek Lamberti
Change-Id: Ideeec890a91379bfd52774633b1b35fa1b14f434 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-11-27IVGCVSW-4148 Extend reporting of quant multiplier > 1 as unsupported on ACL ↵Aron Virginas-Tar
to per-axis case Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I66a8360b6d86e95325dee58927dcbe62ccf6ad58
2019-11-27IVGCVSW-3859 Per-channel QSymm8 support of Convolution2d in ClKeith Davis
Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: Ie43f20e6fb2f9b4a1e9e9eb561fcf7b5d6a01806
2019-11-27Add IsQuantizeType(DataType) for use in validation functionsAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Ib790b24cfde87c92e29615da942c25bf7c98f95e
2019-11-27IVGCVSW-3728 Add CL workload for SliceAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I2ed38744e1e8c839b369be8d44c0cffccfeb370e
2019-11-26IVGCVSW-3866 Add support for per-channel QSymm8 Convolution2d to Neon backendAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: If7d366b2894050c53a651016165f34be1a2ce7a6
2019-11-25IVGCVSW-4174 Update adb version in the BuildGuideAndroidNDK.mdNikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: Ie31b2caafe0e83dad6a88dca6f6c7197a2fc2d5a
2019-11-23IVGCVSW-4158 FP16 Mobilenet V1 and V2 30% regression on ArmNN on Mate20Sadik Armagan
* Enable FP16 mixed precision for Android Q Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I5ddb94b13385e1fec39e4407dffc8e4bc6b8d64a
2019-11-22Github #251 Surround local structs with anonymous namespaceMatthew Bentham
This fixes a one-definition-rule violation Change-Id: I0941ed21a04876009546b9b73f5fdfbf73c4110d Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
2019-11-21IVGCVSW-4148 Report quant multiplier > 1 as unsupported for ACLJames Conroy
* This is a temporary measure that needs to be removed when quantization multiplier > 1.0f support has been added for NEON and CL. * Layers affected: convolution, depthwise convolution, dilated depthwise convolution and transpose convolution. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: Ief1aec2ff0eedf8250f6a8675288e1c343dcfce4
2019-11-21IVGCVSW-4124 Replacing the "sleep_for" loop from FileOnlyProfilingConnectionColm Donelan
* Replacing the "sleep_for" loop in FileOnlyProfilingConnection with a producer consumer conditional mutex. * Reducing the times sleep loop times in FileOnlyProfilingDecoratorTests. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: Ied2302b508b6e4e6b50809c77e3f19115449d0b6
2019-11-20IVGCVSW-4151 HAL 1_2 Dequantize FP32 Per Channel Tests on CpuAcc FailingSadik Armagan
* Added support for data types QuantisedSymm8 and QuantizedSymm8PerAxis as they are supported on CpuAcc Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I55f81b35c8869bc37b7634bdbe91b8e3339eb648
2019-11-19IVGCVSW-4070 Add CreatedNamedTypeEntity and CreateNamedTypedChildEntityNarumol Prangnawarat
functions with Guid Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ide3c3b0a05830af055b3a2c733af4c1c57c0dbaa
2019-11-19Revert "Only enable mixed precision FP16 pooling for Android Q"Kevin May
This reverts commit 60538ada2b90704abcf6473144639103d80287a5. Change-Id: I099e397fe1232e0f470d89a11d220752543e4e4c
2019-11-19IVGCVSW-1530 Add TfLite slice parser and fix transpose perm vector creationjosh minor
* TfLite slice parser and relevant tests added * TfLite transpose parser logic added to translate Tf/np permutation vector definitions to Armnn definitions * TfLite transpose parser no permute data test modified to include data for default permutation vector when none specified Signed-off-by: josh minor <josh.minor@arm.com> Change-Id: Iebd30971bd180593dc6b8f0d5be1d1bc61a3a5bf
2019-11-19IVGCVSW-3697 Add check for ArgMinMax QAsymm8 to ClLayerSupportFrancis Murtagh
* Enable Neon EndToEnd tests for ArgMinMax QAsymm8 * Enable Neon Layer tests for ArgMinMax QAsymm8 Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: Ifa7463ded4397cacb82fb3667006f08ecbe3cd32
2019-11-19IVGCVSW-4077 Fix issue when NEON import disabledJames Conroy
* Removes workaround which handled null dstFactory when NEON import was disabled, and now handles this in the correct way. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: Ief42b3c52d018f0fa71be4d4d37516f2caad1e0d
2019-11-19IVGCVSW-4068 Add Guid to WorkloadNarumol Prangnawarat
* Add Guid to Workload * Remove circular dependency Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Signed-off-by: janeil01 <jan.eilers@arm.com> Change-Id: I15342fa7481c6bdc050e057dce2d74bba07fe2dd
2019-11-19IVGCVSW-3729 Added neon slice workload and supporting neon layer testsjosh minor
* Support added for ACL neon slice workload * Utility function created to translate ArmNN slice layer params to ACL neon slice layer equivalent * Neon slice layer tests added as per SliceTestImpl.hpp Signed-off-by: josh minor <josh.minor@arm.com> Change-Id: Id583465311879af139e8e977f16ed2280c937ac7
2019-11-19MLCE-144 Cts NNAPI test cases failedMike Kelly
* Fixed numerous CTS/VTS failures related to Quantization Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: If5c20256366e80b6b9bbc46b2a1c410a9b8c48e1
2019-11-18IVGCVSW-4116 Update ACL pin to the 19.11 release branchKevin May
Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I89a920b53b6f32ff37b7a4537e7ad38eed1ff608
2019-11-18IVGCVSW-4062 Update Readme for 19.11Nikhil Raj
* Update BuildGuideCrossCompilation.md Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: Ie16dfe477271e411eef0b5e68f636b81a61d5c33
2019-11-18IVGCVSW-3980 Implementation of Guid generatorNarumol Prangnawarat
* Improve implementation of Guid Generator to separate the range of Static Guid and Dynamic Guid * Unit tests to ensure non-collision Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I4ad1a75ea0b1f37155da0decafb51fc5a61e4187
2019-11-18Fix quantizer crash by zero tensorTee Jung
Signed-off-by: Jung Tae-young <tee.ty.jung@openedges.com> Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I1f0dfa4ca76e1c85a2b8fb5de12039a260224951
2019-11-18IVGCVSW-4117 Update version number to 19.11Aron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: If56648c1d51014b872e81ff4239060ccbf55e8dc
2019-11-15Fix possible crash in case of zero dimension tensor in the ONNXTee Jung
parser Signed-off-by: Jung Tae-young <tee.ty.jung@openedges.com> Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I396792d4d59172cccb50d77de7e6b74977b289ed
2019-11-15IVGCVSW-3486 Add clipping parameter validation in LstmQueueDescriptorjaneil01
* Add clipping parameter validation in LstmQueueDescriptor * Related UnitTest Signed-off-by: janeil01 <jan.eilers@arm.com> Change-Id: I86ff81cacc0e1fff5b78a8d6c2dcbf9ff57e2272
2019-11-15IVGCVSW-4129 Fix thread starvation due to low capture periodsColm Donelan
* Set default capture period to 10mSec. * Validate capture period in PeriodicCounterSelectionCommandHandler pull it up to 10mSec if it is lower. * Fix segmentation fault in GatordMock when receive thread closes. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I9f7ddc70bd99c102c5baef872d28329976a4dc07
2019-11-15IVGCVSW-4074 Send Timeline message in RequestCounterDirectoryCommandHandlerMatteo Martincigh
* Added call to SendTimelineMessageDirectoryPackage in the handler * Updated the unit tests accordingly * Refactored SendTimelinePacket to remove macro Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I7bb6f8575945b99a0e77ef30ecfe4dee3058669e
2019-11-15IVGCVSW-4119 Fix FP16 to FP32 fallback mechanism in optimizer to work with ↵Aron Virginas-Tar
Dequantize * Check for output data type as well as input data type when determining whether we should attempt to fall back to FP32 if FP16 is not supported * Override output type for Dequantize in IsLayerSupported() instead of input type * Updated original input type from FP16 to FP32 in InsertConvertFp32ToFp16LayersAfter() Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Ic6477fd17cea5a91bd8bf9ae0cf836520897d5b7
2019-11-15IVGCVSW-4140 Report per-axis quantization as unsupported for ↵Aron Virginas-Tar
DepthwiseConvolution on ACL backends * This is a temporary measure that needs to be removed as soon as the NEON and CL DepthwiseConvolution workloads will have added support for per-axis quantization Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I24eb285230293392a6ed50aece1101e5aed7f90e
2019-11-15IVGCVSW-4073 Send stream info in the ConnectionAcknowledgedCommandHandlerMatteo Martincigh
* Added call to ISendTimelinePacket::SendStreamMetaDataPacket * Added call to ISendTimelinePacket::SendTimelineMessageDirectoryPackage * Added new StreamMetadataCommandHandler class to the mock Gatord service * Updated code and unit tests * Added include paths to the gatord mock target Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: Ic6d200b513175884607b7c0563cbfa4942ff2fc6
2019-11-15IVGCVSW-4072 Add stream header to Timeline Message Directory packetMatteo Martincigh
* Refactored the WriteTimelineMessageDirectoryPacket function * Added the stream header to the packet * Updated decoders/parsers * Updated unit tests accordingly * Minor refactoring Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I58f15fde54adc6414ca9fd5fb8d6157cad867339
2019-11-15NNXSW-1853 Change SubgraphViewSelector algorithmRob Hughes
The current algorithm in SubgraphViewSelector has a bug that can lead to it producing subgraphs which have a dependency cycle (see the newly added test case 'ValidMerge' for a repro). It also fails to merge subgraphs in some cases where it could, which leads to smaller subgraphs. In the case of FSRCNN, the NPU cannot support these smaller subgraphs and so this is blocking us from supporting that network. This commit changes the algorithm to fix the dependency bug and also make it so that subgraphs are merged in the cases that were missed before. It also adds some unit tests to cover cases that were problematic before, and to extend coverage for the new algorithm. The new algorithm has two downsides compared to the previous one: 1. Disjoint subgraphs are not merged. This can never lead to a failed compilation by the NPU and so I believe this is less of an issue than the previous algorithm's "missed merges". This could however lead to a runtime performance loss in some cases as the NPU will be unable to parallelise as many operations. There are some unit tests that cover this which I have disabled. 2. The performance is worse. I have spent some time analysing this and for a graph with ~1000 layers the new algorithm takes 20ms vs. the old algorithm's 4ms (on my desktop PC). I believe the performance is still within acceptable limits. I also compared inception V3 (which was the network which caused performance issues with the original version of the splitting algorithm) and this new algorithm has not regressed there (200-300us in both cases). Change-Id: I1dd64a779f272723621e04d203b5a2752a6af2ef Signed-off-by: Robert Hughes <robert.hughes@arm.com>
2019-11-15Print CMake messages on stdout rather than stderrRob Hughes
The default version of message("...") print to stderr, which is inappropriate for informational messages such as the ones we are printing in these cases. Using message(STATUS "...") makes these messages appear on stdout instead which is more appropriate. Change-Id: I02f41e6b4948e6938566f06d7164444bd5b8199e Signed-off-by: Robert Hughes <robert.hughes@arm.com>
2019-11-15Add FP16 support to DebugWorkloadAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Ia879f2d84a1b977474ee0dafa976f2aab32bd3ae
2019-11-15Only enable mixed precision FP16 pooling for Android QDerek Lamberti
Change-Id: Ic2c0ce7a7a99bbc430b7d6da272825540772e01d Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-11-14Fix redundancy in call to configure() in ACL DepthwiseConvolution workloadsAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I8f698c6ec9826ce1188bc43bd59fbf7b83455c1a