Francis Murtagh [Mon, 9 Sep 2019 10:26:44 +0000 (11:26 +0100)]
IVGCVSW-3432 Create CaptureData Holder
* Improve tests with greater number of threads
Change-Id: I6855cdee463809045b10fff85ed9193dd3d3207a
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Matteo Martincigh [Mon, 9 Sep 2019 08:23:53 +0000 (09:23 +0100)]
IVGCVSW-3400 Add missing virtual destructors
* Added missing virtual destructors to recently added profiling
interface classes
Change-Id: Id2c4b3bb22ef233b26723d3e578477c59018fbda
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Ferran Balaguer [Wed, 4 Sep 2019 15:47:34 +0000 (16:47 +0100)]
IVGCVSW-3690 Implement SendCounterPacket.SendStreamMetaDataPacket() function
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: I9e034b0caaff5371fadfdba20fdbe3171d4cd2e6
FinnWilliamsArm [Fri, 6 Sep 2019 09:04:08 +0000 (10:04 +0100)]
IVGCVSW-3742 Add Quantizer support for ABS
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: I3f8e716ae432737bb314e26792d18aa518aa1952
Colm Donelan [Thu, 5 Sep 2019 09:03:56 +0000 (10:03 +0100)]
IVGCVSW-3719 Create test program executable.
Introduce a new test utility that simulates the Gatord service.
This will be used to test the external profiling features.
Change-Id: Ib7c75c1302650e140945cd66d272c23af3aac760
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Matthew Jackson [Thu, 5 Sep 2019 14:55:55 +0000 (15:55 +0100)]
IVGCVSW-3816 Make compute option required in ExecuteNetwork
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: If13b731d95c79e3e296d7dfc6c1ac94bf3a93ff3
Sadik Armagan [Thu, 5 Sep 2019 16:35:31 +0000 (17:35 +0100)]
IVGCVSW-3740 Add Reference Workload support for ABS
* Implemented RefAbsWorkload and unit tests
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Ibfcdb2b37fd8d240c181f96856e2c997a4b88914
Nikhil Raj [Thu, 5 Sep 2019 16:50:44 +0000 (17:50 +0100)]
IVGCVSW-3722 Add front end support for ArgMinMax
Change-Id: I31c5616bea3097f30cde68442d3222e0b0fe2235
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Keith Davis [Mon, 26 Aug 2019 17:28:17 +0000 (18:28 +0100)]
IVGCVSW-3674 Create basic ProfileService class
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I5bed5196c256883fb704fe14b60bb8f7a77cc9df
Francis Murtagh [Thu, 5 Sep 2019 15:29:01 +0000 (16:29 +0100)]
IVGCVSW-3432 Create CaptureData Holder
* Fix race condition where result was read before execution of write
Change-Id: I8961c4ce5a9000cb4d465106fe56e615beecf4dc
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Kevin May [Wed, 4 Sep 2019 16:29:31 +0000 (17:29 +0100)]
IVGCVSW-3739 Add Arm NN front end support for Abs Layer
* Add Abs Layer
* Add no-op factory implementations for CpuRef, CpuAcc, GpuAcc
* Add Queue Descriptor in WorkloadData
* Add IsAbsLayerSupported to LayerSupport
* Add LayerVisitor tests
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: Ib0992571d1c80de851cea466291be904e9bdb430
Francis Murtagh [Wed, 4 Sep 2019 14:25:02 +0000 (15:25 +0100)]
IVGCVSW-3692 Implement SendPeriodicCounterCapturePacket() function
Change-Id: Ic976fc36955bec5e7721d1e34e89e7be79e23053
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Francis Murtagh [Wed, 4 Sep 2019 15:42:29 +0000 (16:42 +0100)]
IVGCVSW-3432 Create CaptureData Holder
* Create CaptureData and Holder classes
* Add unit test
Signed-off-by: Ellen Norris-Thompson <ellen.norris-thompson@arm.com>
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I9f2766a8a6081ae4f9988904af2ca24cd434ebca
Andre Ghattas [Wed, 7 Aug 2019 11:18:38 +0000 (12:18 +0100)]
IVGCVBENCH-1337 Added additional layer parameters to dot file and -v option
* Generic layer parameters now show up in dot file
* Convolution layer parameters have also been added to dot file
* ExecucteNetwork has an additional -v flag which generated dot file if there
Change-Id: I210bb19b45384eb3639b7e488c7a89049fa6f18d
Signed-off-by: Andre Ghattas <andre.ghattas@arm.com>
Signed-off-by: Szilard Papp <szilard.papp@arm.com>
Matthew Jackson [Tue, 3 Sep 2019 15:37:26 +0000 (16:37 +0100)]
IVGCVSW-3686 Update ACL pin
* Updates ACL pin to include patch for asymmetric padding in TransposeConvolution2D, used by FSRCNN
!android-nn-driver:1857
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: Ie9c8c75b6cff3caa87623ec4021e03d409fdb18a
Nikhil Raj [Tue, 3 Sep 2019 14:55:33 +0000 (15:55 +0100)]
IVGCVSW-3431 Create Profiling Service State Machine
Change-Id: I30ae52d38181a91ce642e24919ad788902e42eb4
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Ferran Balaguer [Mon, 2 Sep 2019 15:39:42 +0000 (16:39 +0100)]
IVGCVSW-3693 Implement SendCounterPacket.SendPeriodicCounterSelectionPacket() function
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: Ib034a4f5ca589759d925e3dd0ca50e5a3dfa74c5
Ferran Balaguer [Fri, 30 Aug 2019 14:49:15 +0000 (15:49 +0100)]
IVGCVSW-3434 Create the SendCounterPacket interface
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: I0d9b0ab12f17cb86544163ce3f0dc4945151e9e1
Sadik Armagan [Mon, 2 Sep 2019 10:46:28 +0000 (11:46 +0100)]
IVGCVSW-2945 ExecuteNetwork should have an option to save the output to a file
* Added "output-tensor-files,w" option to save output tensors to a file
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Ida457177c5cbd7dca228772405fd505d03b61bf9
Surabhi Mehta [Thu, 29 Aug 2019 15:07:05 +0000 (16:07 +0100)]
Updated SerializerSupport.md to list the layer support alphabetically
Change-Id: Id49e43680b306e762672f2681eaf45788dcfcdd0
Signed-off-by: Surabhi Mehta <surabhi.mehta@arm.com>
Aron Virginas-Tar [Wed, 28 Aug 2019 17:08:46 +0000 (18:08 +0100)]
IVGCVSW-3381 Break up LayerTests.hpp into more manageable files
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Icf39434f09fd340ad664cb3b97b8bee6d9da4838
Matteo Martincigh [Thu, 29 Aug 2019 15:26:10 +0000 (16:26 +0100)]
Add a check for the number of output types to ExecuteNetwork
* If the number of the declared output types does not match
the number of outputs, throw an error (just like we do for
the inputs)
Change-Id: I1cb873bf443a31ecdbc11195462e9614ae3a6637
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Matteo Martincigh [Thu, 29 Aug 2019 17:27:18 +0000 (18:27 +0100)]
IVGCVSW-3656 Fix wrong rename of the reference backend control macro
* Renamed ARMNN_COMPUTE_REF_ENABLED to ARMNN_REF_ENABLED in the
Android makefiles
Change-Id: I12af2ca00c719568274585482d428b035674737c
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Matteo Martincigh [Wed, 28 Aug 2019 15:38:53 +0000 (16:38 +0100)]
IVGCVSW-3656 Build the reference backend by default
* Changed the default value of the new ARMNNREF option to ON in
the global makefile, so to always build the reference backend
by default, thus keeping the same behaviour as of the previous
releases
Change-Id: Id4941522ac7987c797ac8331ea421edb2a54287f
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Matthew Jackson [Tue, 27 Aug 2019 14:35:59 +0000 (15:35 +0100)]
IVGCVSW-3675 Add ExecuteNetwork option to print intermediate layers
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: Id7ab186ec607ff6e5ee6869c4ad562af4c40b97a
Aron Virginas-Tar [Tue, 27 Aug 2019 17:14:26 +0000 (18:14 +0100)]
IVGCVSW-2325 Reduce duplication in LayerTests by reusing the ElementwiseTestHelper
* Refactored tests for element-wise operations to use ElementwiseTestHelper
* Moved the etasts for each operation in a separate file under backendsCommon/test/layerTests
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Icefb6b35df78b9619f69378229789505bf92670e
Matteo Martincigh [Tue, 27 Aug 2019 15:41:11 +0000 (16:41 +0100)]
IVGCVSW-3656 Rename ARMCOMPUTEREF to ARMNNREF
* Renamed ARMCOMPUTEREF to ARMNNREF (and relative symbols) as the
previous name was misleading
!android-nn-driver:1819
Change-Id: I912e9f521750b91539e48f8a2fb4de73fb6f7425
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Matteo Martincigh [Tue, 27 Aug 2019 12:43:32 +0000 (13:43 +0100)]
IVGCVSW-3277 Fix RequiresCopy in case a tensor handle factory is not available
* Added null checks prior of using either the source or the destination
handle factory when checking if the tensor requires to be copied
Change-Id: Icc6737562849be5e7d1a62243327366e06312eb9
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Mike Kelly [Tue, 27 Aug 2019 10:46:02 +0000 (11:46 +0100)]
IVGCVSW-3507 Removed partially supported networks
* FCRN and FSRCNN aren't supported on all backends yet.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Ibaddfba731224aac24de05c225fb94efd3fe7f94
Matteo Martincigh [Tue, 27 Aug 2019 08:30:58 +0000 (09:30 +0100)]
IVGCVSW-3656 Make the reference backend build optional
* Added ARMCOMPUTEREF option to the build guides, as the
reference backend is not built by default
Change-Id: I2cd8dab12ed72a795ff79fe1087ab8bf7606694e
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Jan Eilers [Fri, 16 Aug 2019 09:45:30 +0000 (10:45 +0100)]
IVGCVSW-3605 Add direct compatibility between Cl and Neon backends
* Adds compatibility between Cl and Neon
* Adds related unit test
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Iaa454ea2a6392c89c0a83836c3156d4ddb354879
Kevin May [Wed, 21 Aug 2019 15:53:50 +0000 (16:53 +0100)]
IVGCVSW-3575 Fix DepthwiseConvolution VTS Test Failures
Failing VTS tests were "NeuralnetworksHidlTest.depthwise_conv2d_*"
In depthwise convolution there was a difference in weight tensor channel
order between the reference and ACL implementations. This specifically related
to NCHW. This commit:
* Adds ReorderWeightChannelsForAcl to WorkloadUtils which will correct the weight tensor channel order.
* Add unit tests to detect this problem.
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: Icaeac08e14b3d5da9e222ad2f118db55ebb15d09
Ferran Balaguer [Wed, 21 Aug 2019 12:28:38 +0000 (13:28 +0100)]
IVGCVSW-3175 Add Regression Tests for Zero Copy
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: I6f16ea0dca359283a3b187e2f046f82a7dc2ff7c
Aron Virginas-Tar [Fri, 23 Aug 2019 14:18:44 +0000 (15:18 +0100)]
IVGCVSW-3441 Create IProfilingConnection and ProfilingConnectionFactory
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I912312f31d4fd82b23bafe8e3ec461b179f3e97a
Aron Virginas-Tar [Thu, 22 Aug 2019 17:10:52 +0000 (18:10 +0100)]
IVGCVSW-3410 Create Counter Directory metadata classes
* Created classes Device, Counter, Category, CounterDirectory
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Iaec4b0e154d962983c60460714bafcc1fb16f47e
Matteo Martincigh [Wed, 14 Aug 2019 10:42:30 +0000 (11:42 +0100)]
IVGCVSW-3547 Use ExecuteNetwork to run a dynamic backend end to end test
* Added path override for dynamic backend loading
* Do not default to CpuRef, as there could be dynamic backends loaded at
runtime
* Do not check right away whether the backends are correct, as more of
them can be loaded at runtime as dynamic backends
Change-Id: If23f79aa1480b8dfce57e49b1746c23b6b9e6f82
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Aron Virginas-Tar [Thu, 22 Aug 2019 11:56:34 +0000 (12:56 +0100)]
IVGCVSW-3427 Create PacketVersionResolver class
* Create first version of PacketVersionResolver class
* Add basic unit test
* Move existing classes inside the armnn::profiling namespace
* Add utility methods for Version
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: If0ea0e1b9dea7fbfcd8b808e97b1e2aa91964dfa
Rob Hughes [Fri, 23 Aug 2019 09:11:58 +0000 (10:11 +0100)]
Fix Windows build:
* CMake "install" commands require a RUNTIME argument for platforms with
DLLs (e.g. Windows).
* Replace use of non-standard variable length array with vector
* Remove unnecessary #include of unistd.h
* Add #ifdefs to dynamic backend code to disable for non-Unix platforms
where you can't use dlopen etc. We could implement this properly for Windows
later using LoadLibrary etc., but for now erroring is fine.
* Add missing #include of <algorithm>
Change-Id: Ic8ef5fd599b37bf8772510157b6e479819f6a1eb
Ferran Balaguer [Thu, 22 Aug 2019 13:09:44 +0000 (14:09 +0100)]
IVGCVSW-3670 Fix Vts Tests after adding Ref Import functionality
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: I87d003ae14575d7d7be67b2a7d00d69ef6201849
Matteo Martincigh [Wed, 14 Aug 2019 13:05:46 +0000 (14:05 +0100)]
IVGCVSW-3656 Make the reference backend optional
* Made the build of the reference backend depend on a new ARMCOMPUTEREF
macro
* Made the relevant targets dependent on the ref backend
* Moved Cl and Neon static registry initializers to separate files
* Wrapped some of the unit tests into proper ifdefs where necessary
Change-Id: I7f2c42699682630233a4c4b6aed2f005083de189
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Ferran Balaguer [Wed, 21 Aug 2019 12:59:13 +0000 (13:59 +0100)]
IVGCVSW-3668 Fix Android issue running Ref Import tests
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: I64f82c0e3c5cddcaebe0d5001020880a759ec444
Matteo Martincigh [Wed, 21 Aug 2019 13:35:55 +0000 (14:35 +0100)]
IVGCVSW-3634 Segmentation fault running UnitTests on Android
* Updated the NDK build guide to include instructions on what
extra files to deploy for running the dynamic backend unit test
Change-Id: I0a77b0bf911cfdd90be62f136dd06c118810d0c8
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
James Conroy [Thu, 22 Aug 2019 10:41:07 +0000 (11:41 +0100)]
IVGCVSW-3671 Fix validation error msg WorkloadData.cpp
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: Ibfd5a81b2dbf9eeef49f6209885798804adee5a4
FinnWilliamsArm [Mon, 19 Aug 2019 16:17:19 +0000 (17:17 +0100)]
IVGCVSW-3564 Add optional InputLayerBindingID argument to ImageCSVFileGenerator
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: Ibf2b5ce5e50d72d661a7c720c1f3bb1c0d811700
Aron Virginas-Tar [Wed, 21 Aug 2019 14:49:27 +0000 (15:49 +0100)]
IVGCVSW-3507 Fix error in list of tested networks for Tf and TfLite parsers
* Move DeepSpeaker, FCRN and FSRCNN from TensorFlowSupport.md
to TensorFlowLiteSupport.md
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I82d508d3599073eb8f6638994a91f46b4b95c247
Aron Virginas-Tar [Wed, 21 Aug 2019 11:33:12 +0000 (12:33 +0100)]
IVGCVSW-3507 Revise and update readmes for 19.08
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I3da43122240fda7864e0932d47b3efeea8bbed40
Matthew Jackson [Tue, 20 Aug 2019 16:18:33 +0000 (17:18 +0100)]
IVGCVSW-3650 Fix Transpose Convolution inputs in TfLite parser
* Reordered and edited inputs in ParseTransposeConv method
* Updated test cases to reflect changes
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: Icd090cf6ab340eed4f098ef8641daf7c6e0d0949
Aron Virginas-Tar [Tue, 20 Aug 2019 14:30:04 +0000 (15:30 +0100)]
IVGCVSW-3661 Add multi-channel TransposeConvolution2d unit tests to NEON backend
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I9d19ae4559a98b9e740c1d4d05add0c5788093d6
Mike Kelly [Wed, 21 Aug 2019 08:36:58 +0000 (09:36 +0100)]
IVGCVSW-3642 Fixed VTS Test Failures
* Fixed Quant8 VTS test failures where an output value should have been greater than 255 before a negative bias was applied.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Ie0084c1c8c4a4b5f069112d523765ed338277e58
Sadik Armagan [Mon, 12 Aug 2019 13:11:37 +0000 (14:11 +0100)]
IVGCVSW-3163 Support Neon TransposeConv2d
* NEON support for TransposeConolution2d
* Indentation fix on SpaceToDepth LayerSupport method
Signed-off-by: Keith Davis <keith.davis@arm.com>
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Signed-off-by: Aron Virginas-Tar <aron.virginas-tar@arm.com>
Change-Id: Ie3a01a22e05f62f475f768dfe05ce561d2f3b0ad
Ferran Balaguer [Wed, 7 Aug 2019 14:14:56 +0000 (15:14 +0100)]
IVGCVSW-3606 Support memory import for Reference backend
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: I94bd191f88e0911ad4e4727610e81cd7afa95512
Aron Virginas-Tar [Wed, 14 Aug 2019 13:37:42 +0000 (14:37 +0100)]
IVGCVSW-3640 Add multi-channel TransposeConvolution2d unit tests to CL backend
* Fixed bug in multi-channel test and reference workload implementation
* Enabled multi-channel tests on CL backend
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I08bb523bc68d9c93a1012b4f487a5bce36a085b1
Matthew Jackson [Fri, 16 Aug 2019 15:51:42 +0000 (16:51 +0100)]
IVGCVSW-3650 Add TfLite Parser support for Transpose Convolution layer
* Added ParseTransposeConv to TfLite Parser
* New TransposeConv test file
* Updated documentation for supported Transpose Convolution
Change-Id: Id7356d8525556805c164af693ae2b16f6a8492fa
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Aron Virginas-Tar [Tue, 20 Aug 2019 10:38:00 +0000 (11:38 +0100)]
IVGCVSW-3506 Update version number for 19.08
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I43a46a9ec4adef35736af8de67916bfda967da0a
Jan Eilers [Fri, 16 Aug 2019 09:28:37 +0000 (10:28 +0100)]
IVGCVSW-3617 Add CL TensorHandleFactory
* Adds ClTensorHandleFactory
* Includes some refactoring of NeonTensorHandleFactory
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I9f0874b1945050267c5ece970e6d9b200ed8a865
Matteo Martincigh [Thu, 15 Aug 2019 11:08:06 +0000 (12:08 +0100)]
IVGCVSW-3545 Update the device specs with the dynamic backend ids
* Now the utility function RegisterDynamicBackends returns a list of
the backend ids that have been registered
* The list of registered ids is added to the list of supported backends
in the Runtime
* Added unit tests
Change-Id: I97bbe1f680920358f5baba5a4666e4983b849cac
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Aron Virginas-Tar [Fri, 16 Aug 2019 16:49:42 +0000 (17:49 +0100)]
IVGCVSW-3653 Fix memory initialization bug in TransposeConvolution2dTestImpl
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Idebe0c3f956ccac39ef8bf139d693b76e839af7a
Nikhil Raj [Mon, 19 Aug 2019 09:04:23 +0000 (10:04 +0100)]
IVGCVSW-3429 Add a utility Version class
Change-Id: Id429f7d9176c775953c1261c5a3e9f1d565927c1
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Francis Murtagh [Fri, 16 Aug 2019 16:45:07 +0000 (17:45 +0100)]
IVGCVSW-3550 Create Command Handler Registry
Change-Id: I51e34068d79ba660ae2f16b22ad2bb8191d473fa
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Sadik Armagan [Fri, 16 Aug 2019 14:06:13 +0000 (15:06 +0100)]
IVGCVSW-3625 Updated ACL pin to the 19.08 release branch
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I442913dc5e8ac8b53c00feef430a77991e700556
Colm Donelan [Thu, 15 Aug 2019 15:03:17 +0000 (16:03 +0100)]
IVGCVSW-3620 Fix Hal 1.2 Softmax test failures on GpuAcc and CpuAcc
The following NeuralNetworkTests tests were failing on GpuAcc and CpuAcc:
GeneratedTests.softmax_v1_2_relaxed
GeneratedTests.softmax_v1_2_quant8
GeneratedTests.softmax_v1_2_2
GeneratedTests.softmax_v1_2_relaxed_2
GeneratedTests.softmax_v1_2_quant8_2
The default value for Softmax axis parameter in Android is -1 but is 1 in ACL.
Detect and handle this in ArmComputeUtils.ComputeSoftmaxAclAxis.
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: Ibb0660e4cb0dc6bd4c804c4397fbd61f38acdd9c
Matthew Jackson [Thu, 15 Aug 2019 14:14:18 +0000 (15:14 +0100)]
IVGCVSW-3639 Add 5d tensor support
* Increased MaxNumOfTensorDimensions and fixed issues related to its use
* Fixed issues caused by assuming 5d tensors are invalid
* Updated ArmComputeTensorUtils for 5d tensors
* Added 5d tensor unit tests for add, mul, stack and reshape (needed by IVGCVSW-3527)
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I5bcd64942d0d04efcc6c5acb240ad4b88e010743
Francis Murtagh [Fri, 16 Aug 2019 10:28:52 +0000 (11:28 +0100)]
IVGCVSW-3425 Create the Command Handler Functor base class
Change-Id: I59ac9b32ac594161bdc5e1de2cdee02d79fc1992
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Nikhil Raj [Thu, 15 Aug 2019 14:49:45 +0000 (15:49 +0100)]
IVGCVSW-3415 Create the Packet Class
Change-Id: Ie59e82e7f87f5ba6496aa8579bc9d40360d90999
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Narumol Prangnawarat [Wed, 14 Aug 2019 11:25:50 +0000 (12:25 +0100)]
IVGCVSW-3622 Add Neon TensorHandleFactory
Signed-off-by: James Conroy <james.conroy@arm.com>
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I9f24f7d97c1e7d37ee7d58ff85c6c3f8496e52ec
Mike Kelly [Wed, 14 Aug 2019 10:33:11 +0000 (11:33 +0100)]
IVGCVSW-3633 Fixed possible driver crash
* Fixed possible driver crash due to supportedTypes arrays with the wrong size.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I52702b84089d02d3c63ff7aa5923a9f5628bec91
Ferran Balaguer [Wed, 14 Aug 2019 11:11:27 +0000 (12:11 +0100)]
IVGCVSW-3636 Fix Graph and WorkloaData to support backend Import functionality
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: I634aa3b1d609ca33b196fd68ce7fb7881be73e6e
James Conroy [Tue, 13 Aug 2019 15:13:15 +0000 (16:13 +0100)]
MLCE-126 Delete unused Protobuf header import
* Removed wire_format_lite_inl.h header import
as it is not used by ArmNN.
* In Protobuf==3.8.0, the contents of this header
are in wire_format_lite.h.
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: Ie3d80f49e79aedf4932a0a090635b541a11ba0f9
Aron Virginas-Tar [Wed, 14 Aug 2019 10:39:50 +0000 (11:39 +0100)]
IVGCVSW-3610 Remove unused leftover variable from TransposeConvolution2dImpl
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I496f95ab464f3a38e0601799a6ff6ba5ffe3a776
Francis Murtagh [Wed, 14 Aug 2019 08:51:36 +0000 (09:51 +0100)]
IVGCVSW-3474 Refactor Lstm and QuantizedLstm Param Getters
* Change Getter Signatures to follow coding guidelines
Change-Id: Ic02621e834dbf79b9df63f8b4c6339f71651e944
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Matteo Martincigh [Thu, 8 Aug 2019 11:53:17 +0000 (12:53 +0100)]
IVGCVSW-3546 Extend the backend docs
* Mentioned the TestDynamicBackend source files
* Added the RefDynamicBackend example
Change-Id: I395c9f6c3107a5a5b16f658327d6048ff2ae68d8
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Francis Murtagh [Wed, 14 Aug 2019 08:49:34 +0000 (09:49 +0100)]
IVGCVSW-3416 Create Command Handler Key class
* Add CommandHandlerKey class with all comparison operators
* Add UnitTests to check key sorting in collection
Change-Id: Icbd493d1e51e681cbe22a9e70ab9428a8a2ad107
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Aron Virginas-Tar [Tue, 13 Aug 2019 16:41:01 +0000 (17:41 +0100)]
IVGCVSW-3635 Remove temporary check from RefLayerSupport::IsTransposeConvolution2dSupported()
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I85a9563e2d12a5eb9dbcac1b70563a303905b67b
Aron Virginas-Tar [Mon, 12 Aug 2019 13:29:59 +0000 (14:29 +0100)]
IVGCVSW-3616 Add multi-channel unit test for TransposeConvolution2d
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ib9271920b39fb9d730006c79a322e32008096b56
Mike Kelly [Tue, 13 Aug 2019 09:06:25 +0000 (10:06 +0100)]
IVGCVSW-3615 Update Transpose Convolution algorithm
* Now supports channel multiplier != 1 in Ref TransposeConvolution2d
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Ice95444025311b8b952c8f7f5fa0f1ecf483df41
Sadik Armagan [Fri, 9 Aug 2019 15:44:10 +0000 (16:44 +0100)]
IVGCVSW-3620 Fix VTS CpuRef failures
* Fixed Max and Min VTS test failures.
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I133f5ff43774f74ad6e1c698a3570066ad45527c
Narumol Prangnawarat [Tue, 13 Aug 2019 09:26:53 +0000 (10:26 +0100)]
IVGCVSW-3607 Add CreateWorkloadFactory with TensorHandleFactoryRegistry
in IBackendInternal
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Id40b825649d0447058273b8bc4f7133a3ac3c96c
Matteo Martincigh [Mon, 12 Aug 2019 13:07:59 +0000 (14:07 +0100)]
IVGCVSW-3541 Treat an empty list of backend paths as a special case
* Silently considering the dynamic backend loading feature as
disabled if an empty list of paths is passed to ArmNN
* This was causing problems during testing as ArmNN's output
was containing extra unnecessary warning messages
Change-Id: I4ebda412004179817cd54494ccddc964b04b8232
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Matteo Martincigh [Thu, 8 Aug 2019 12:46:32 +0000 (13:46 +0100)]
IVGCVSW-3546 Create a reference dynamic backend to use for testing and as
an example in the docs
* Wrapped the reference backend into a dynamic backend
* Moved the static registration code to a separate file, so that
it is possible to create the reference dynamic backend that does not
register statically into armnn
* Added unit test
Change-Id: I1074d21b020820f9ac8c7178388be773b447555a
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
FinnWilliamsArm [Fri, 2 Aug 2019 16:26:31 +0000 (17:26 +0100)]
IVGCVSW-3598 Add Neon backend support for Strided_Slice
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: Ia9bf55ca93e36ad7fa052b70e477cd46078e0a30
Francis Murtagh [Fri, 9 Aug 2019 12:20:50 +0000 (13:20 +0100)]
IVGCVSW-3474 Add end to end tests for Quantized_LSTM
Change-Id: Iaec6956b5c459308d77d29f699ae4558bee66cd5
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Derek Lamberti [Wed, 7 Aug 2019 16:01:57 +0000 (17:01 +0100)]
IVGCVSW-3603 *Json printer prints full profiling hierarchy
Change-Id: Ide5acbf993c2bcff5265b72fc979caa6f183bb22
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Matteo Martincigh [Thu, 8 Aug 2019 09:49:03 +0000 (10:49 +0100)]
IVGCVSW-3597 Add complete test suite for the dynamic backends
* Added Runtime tests with dynamic backends
* All other unit tests have already implemented in previous stories
Change-Id: I0167b3b45dd00c1956514e2df051e4445727f014
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Matteo Martincigh [Mon, 5 Aug 2019 13:12:11 +0000 (14:12 +0100)]
IVGCVSW-3596 Register the dynamic backends in the BackendRegistry
* Added getter for the factory function in the DynamicBackend class
* Added new RegisterDynamicBackends method in utils class
* Added dynamic backend registration process in the Runtime class
* Added new dummy dynamic backend objects for testing
* Added unit tests for dynamic backend registration
* Added convenience methods to BackendId
Change-Id: I01e147d1d6f01bf56747ad946f73f867af5770c4
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Matteo Martincigh [Mon, 5 Aug 2019 13:12:11 +0000 (14:12 +0100)]
IVGCVSW-3595 Implement the LoadDynamicBackends function in the Runtime class
* Changed the way the handle is acquired, loaded symbols are now kept local
* Updated the makefiles to add more test files for the dynamic backends
* Fixed the GetSharedObjects method so that the files are parsed in
alphabetical order
* Updated the unit tests to make them more strict wrt the order of the
files
* Created a new CreateDynamicBackends method in the utils class
* Added new unit tests for the new function
* Added LoadDynamicBackends in the Runtime class
!android-nn-driver:1707
Change-Id: I1ef9ff3d5455ca6a7fd51cb7cfb3819686234f70
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Matthew Jackson [Fri, 2 Aug 2019 13:53:10 +0000 (14:53 +0100)]
IVGCVSW-3608 Fix Neon depthwise convolution 5x5 failure
* Fix issued caused by layers with 5x5 filters and depth multipliers > 1
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I58435a1f0e3c7e69861dc130fad525a01e2a849d
Narumol Prangnawarat [Tue, 6 Aug 2019 16:34:22 +0000 (17:34 +0100)]
IVGCVSW-3614 Remove limitation of axis=1 support for Softmax in Cl and Neon
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Id990ae7445080f6b4d5a0e6f942f871879a52f75
Aron Virginas-Tar [Tue, 6 Aug 2019 10:01:53 +0000 (11:01 +0100)]
GitHub #240 Fix bias shape in CreatePreCompiledWorkloadTest()
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I10b8d5e2e95eb8f48a6be29005136459c3da2957
Matteo Martincigh [Thu, 1 Aug 2019 10:47:01 +0000 (11:47 +0100)]
IVGCVSW-3600 Update the docs with the naming convention for dynamic
backend files
* Added a section to the backends' README file to detail the
dynamic backend file naming scheme
* Added table with examples of valid/not valid filenames
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I59b88b96292a189056b9fceb155aedd07ee27225
Matteo Martincigh [Mon, 5 Aug 2019 11:19:22 +0000 (12:19 +0100)]
IVGCVSW-3612 Update the docs to include description of dynamic
backend loading paths
* Described the DYNAMIC_BACKEND_PATHS macro usage
* Described the override in the CreationOptions class
Change-Id: I1ec17fa586acb5c1e3d2f0dfb6c954532d594830
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Jan Eilers [Thu, 25 Jul 2019 16:08:37 +0000 (17:08 +0100)]
IVGCVSW-3599 Create the GetSharedObjects method in DynamicBackendUtils
* Added GetSharedObjects to DynamicBackendUtils
* Goes through the given paths and returns a list of files that
match the naming scheme for dynamic backends
* Added unit test
* Update the cmake file to generate the test files/symlinks
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Ibfc0bad740b72696714d343eb32a593c2ec1f8c6
Matteo Martincigh [Mon, 5 Aug 2019 11:16:47 +0000 (12:16 +0100)]
IVGCVSW-3541 Get the paths where to load the dynamic backends from
* Adds GetBackendPaths and IsPathValid to DynamicBackendUtils
* Adds related unit tests
Change-Id: I94e377d92a88a4b5d48026f6ad5b4d5387d20c21
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Francis Murtagh [Fri, 2 Aug 2019 12:20:54 +0000 (13:20 +0100)]
IVGCVSW-3341 Add Neon backend support for Quantized_LSTM (16bit cell state)
* Add Neon Workload
* Update NeonWorkloads.hpp
* Update NeonWorkloadFactory
* Update NeonLayerSupport
* Update backends.mk and CMakeLists.txt
* Add NeonCreateWorkload test
* Enable LayerTest
!android-nn-driver:1685
Change-Id: Idd799bbf039acf0d59084d02c3b57766ce3691b5
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Matteo Martincigh [Mon, 5 Aug 2019 14:27:55 +0000 (15:27 +0100)]
IVGCVSW-3541 Change the makefiles to generate the necessary test files
for dynamic backends
* Added dummy files and directories to use for the dynamic backend
unit tests
* Created a combination of valid/invalid files, valid/invalid directories
and valid/invalid symlinks to cover all the use cases
* Provides a base on top of which to rebase further changes for the
developemnt of the dynamic backend feature
Change-Id: I6e157d8ba035d7931c9ea20f70ffd5b76d03334e
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Derek Lamberti [Thu, 1 Aug 2019 14:56:25 +0000 (15:56 +0100)]
IVGCVSW-3277 Mem export/import suppor for Tensors
* Rename MemoryStrategy to EdgeStrategy
* Add MemImportLayer
* Import memory rather than copy when possible
Change-Id: I1d3a9414f2cbe517dc2aae9bbd4fdd92712b38ef
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Ferran Balaguer [Thu, 1 Aug 2019 08:58:08 +0000 (09:58 +0100)]
IVGCVSW-3342 Add CL backend support for Quantized_LSTM (16bit cell state)
!android-nn-driver:1685
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Change-Id: I17278562f72d4b77e22c3af25bf7199b9150a765
Aron Virginas-Tar [Mon, 5 Aug 2019 10:52:05 +0000 (11:52 +0100)]
IVGCVSW-3611 Report TransposeConvolution2d as unsupported on CpuRef when channel multiplier != 1
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I784bbff3f7b6650881d3f70ba7cd1891171195b1
Aron Virginas-Tar [Fri, 2 Aug 2019 17:54:28 +0000 (18:54 +0100)]
IVGCVSW-3609 Fix decoding and encoding of INT32 tensors
* Added Int32Decoder and Int32Encoder to decode INT32 tensors
* Changed MakeDecoder to return ScaledInt32Decoder only
if the scale is different from 0, i.e. for quantized bias
tensors
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I278061d445d1c549c7ace11f51aa172ce7c691ae
Matteo Martincigh [Thu, 1 Aug 2019 16:09:03 +0000 (17:09 +0100)]
IVGCVSW-3561 Fix the linker issues of the test shared objects in
the Android builds
* Changed the test libs from SHARED to MODULE
* Added IBackendInternal.cpp to separate the default
implementation of OptimizeSubgraphView from the header file
* Linked the modules against armnn to get the missing symbols
* Renamed the test modules to avoid name clashing in the CI system
* Moved the test shared objects to separate folders to keep the
filesystem tidy
Change-Id: I987c56d2d66bdb86f7b391a83c602d0dadf4c674
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Narumol Prangnawarat [Fri, 2 Aug 2019 14:08:59 +0000 (15:08 +0100)]
IVGCVSW-3604 Fix channel shape calculation in TransposeConvolution2dLayer::InferOutputShapes
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I2e3d5922bb89c8f3b84ff5458fda981ff177c3ce