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
Matthew Jackson [Thu, 1 Aug 2019 09:01:34 +0000 (10:01 +0100)]
IVGCVSW-3539 Add Neon support and tests for Stack
* Added Neon backend support for Stack
* Added unit tests for Stack on the Neon backend
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I21379966a6303285f8b65418d0d4ac7982cc9f04
James Conroy [Thu, 1 Aug 2019 15:01:48 +0000 (16:01 +0100)]
IVGCVSW-3470 Add Quantized_LSTM tests
* Added Layer and Create Workload tests
for the new Quantized LSTM layer.
* Tests to be enabled on NEON and CL in
their respective patches.
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I7e9e9768dd63010ab58367c45fffcff452377cfb
Aron Virginas-Tar [Fri, 2 Aug 2019 09:29:28 +0000 (10:29 +0100)]
IVGCVSW-3577 Update ACL pin to include NEON convolution output multiplier fix
!android-nn-driver:1668
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I33de31d35fa9c7d76f1738e343c5d28270e9a2c1
Mike Kelly [Thu, 1 Aug 2019 07:43:57 +0000 (08:43 +0100)]
IVGCVSW-3571 Fix VTS Test Skips
* Fixed FP16 failures on Max, Min, BatchToSpace on Gpu
* Fixed Signed32 skips on Maximum and Minimum
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I4bea19af1a0ae4c8950af8c6d5d68622cdd9b674
Matthew Jackson [Wed, 31 Jul 2019 13:06:28 +0000 (14:06 +0100)]
IVGCVSW-3539 Add CL support and tests for Stack
* Added CL backend support for Stack
* Added unit tests for Stack on the CL backend
* Refactored unit tests to support generic data types
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I38ee3e9d8947ea98a3104c982698001e704d7d89
Sadik Armagan [Wed, 31 Jul 2019 15:36:27 +0000 (16:36 +0100)]
IVGCVSW-3571 Add Gpu backend to CI tests for Android Q
* Fixed Quantized FP16 failures on GpuAcc
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Ia6372da1305c3e826f56ba537e11acf7875c2d74
Matteo Martincigh [Wed, 31 Jul 2019 10:05:16 +0000 (11:05 +0100)]
IVGCVSW-3561 Use absolute path of unit tests
* Using the absolute path of the unit tests executable so that
the unit tests can be run from anywhere and the relative path
to the test shared objects would still work
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I57401daa162570e9ab1717d28a54a19f421afb0e
Matthew Bentham [Tue, 30 Jul 2019 08:24:12 +0000 (08:24 +0000)]
IVGCVSW-3581 Fix AddCopyLayers and associated tests
Take a copy of the MemoryStrategies for a layer before inserting
new connections. Use the copy when looking up the original MemoryStrategies
during the graph transformation.
Fix the unit tests for AddCopyLayers to have cases where copies are needed.
Fix the validation for clarity and correctness - was previously comparing
Layers by pointer when it should have been by name (as it was comparing
with a cloned graph).
Change-Id: Ie282dc11913e977b8151ce1ad8bfba5e11617d40
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Matteo Martincigh [Wed, 24 Jul 2019 13:56:13 +0000 (14:56 +0100)]
IVGCVSW-3561 Test the DynamicBackend class
* Added unit test for valid dynamic backends
* Added unit tests for various cases of invalid dynamic backends
(invalid handle, malformed backends, incompatible version, etc.)
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I4c3b33702bb0faac2bbebe224f69908639b4fc54
Matteo Martincigh [Fri, 26 Jul 2019 14:12:47 +0000 (15:12 +0100)]
IVGCVSW-3555 Add unit tests for the dynamic backend utility functions
* Added a test library to exercise the utility functions that
handle the shared objects
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Ic8095febca2a46050831eb42f55a714f3ae3bfe3
Sadik Armagan [Mon, 29 Jul 2019 16:16:40 +0000 (17:16 +0100)]
IVGCVSW-3592 Add Support for Quantize to HAL 1.2 Driver
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Ib93c94a15fe15495664d509630cce373a69e1612
Jan Eilers [Tue, 23 Jul 2019 08:47:43 +0000 (09:47 +0100)]
IVGCVSW-3471 Add Serialization support for Quantized_LSTM
* Adds serialization/deserialization support
* Adds related Unit test
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Iaf271aa7d848bc3a69dbbf182389f2241c0ced5f
Matteo Martincigh [Fri, 26 Jul 2019 08:54:26 +0000 (09:54 +0100)]
IVGCVSW-3574 Update the docs with the backend versioning info
* Added new Dynamic Backends section
* Added new sub-section for the dynamic backends base interface
* Added new sub-section for the backend versioning rules
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Icf8ce9573b13004eac5a238a259e79936f2d26fb
Matteo Martincigh [Wed, 24 Jul 2019 08:54:26 +0000 (09:54 +0100)]
IVGCVSW-3556 Create the DynamicBackend class
* Created the new DynamicBackend class with all the necessary
getters/utility functions
* Created function types to mirror the backend interface functions
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I80a29e6e8a8d0b0655caba63d12cf62e0d8fc832
Pablo Tello [Fri, 26 Jul 2019 12:45:48 +0000 (13:45 +0100)]
MLCE-130: Enabled optimized path for DepthwiseConv 5x5
Change-Id: I5cd90121e5fe1b49b394ee6f5a87e86520a30119
Signed-off-by: Pablo Tello <pablo.tello@arm.com>
Francis Murtagh [Fri, 26 Jul 2019 14:44:17 +0000 (15:44 +0100)]
IVGCVSW-3554 Update workloads to pass Softmax Axis Parameter to Backends
* Add check in CL and Neon to ensure axis is 1 otherwise
return unsupported.
* Edit CreateWorkload test and JsonPrinter test to ensure axis of 1.
Change-Id: I499b405532e26fefc2dd1c18b6dc6005813b5604
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Matthew Jackson [Thu, 25 Jul 2019 15:14:30 +0000 (16:14 +0100)]
IVGCVSW-3537 Add support for L2 Normalization with < 4 dimensional tensors
* Fix reference L2 Normalization workload to support < 4 dimensional tensors
* Add unit test for L2 Normalization with 2d tensor to Reference, Neon and CL test suites
* Fix typo in StackLayer
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I48a6a1289bcb02955b24f261bc70b467bd1abc23
Matthew Jackson [Thu, 25 Jul 2019 11:58:56 +0000 (12:58 +0100)]
IVGCVSW-3368 Add Neon and CL unit tests for depth multiplier = 64
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: Icd89230d0698f32a5ebe36ec5012a0fcc19e1565
Ferran Balaguer [Wed, 24 Jul 2019 16:03:45 +0000 (17:03 +0100)]
IVGCVSW-3566 Fix LSTM with normalization and Cifg WorkloadFactory
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: I586415357d0f0d315c7174ad385167effa66b195
SiCong Li [Thu, 25 Jul 2019 13:54:39 +0000 (14:54 +0100)]
Fix ModelAccuracyTool and ImageTensorGenerator's command line option typo
Signed-off-by: SiCong Li <sicong.li@arm.com>
Change-Id: Id753fa1ea7a0aabc95b319cb78492f4220b701a4
Matteo Martincigh [Thu, 25 Jul 2019 14:25:44 +0000 (15:25 +0100)]
IVGCVSW-3543 Implement the backend versioning algorithm
* Added version structure for backends, with comparisons operators
* Added version to IBackendInternal
* Added version utility function to DynamicBackendUtils class
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I3697469675c27f79f7cfb296cfa69ec7e06375e5
Matteo Martincigh [Thu, 25 Jul 2019 13:04:40 +0000 (14:04 +0100)]
IVGCVSW-3555 Fix string formatting in DynamicBackendUtils
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I97d5fe93e1448778fc020fd6fbd5a47a3f5e7235
Mike Kelly [Thu, 25 Jul 2019 07:39:31 +0000 (08:39 +0100)]
IVGCVSW-3521 CpuAcc V1.2 pad Failures
* Pad value for QASYMM8 is no longer stored in quantized form.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I048e1d233353c0560ae03a7cc1ed5199295352bc
Matteo Martincigh [Wed, 24 Jul 2019 08:15:00 +0000 (09:15 +0100)]
IVGCVSW-3563 + IVGCVSW-3555 Create new utility functions for dynamic backends
* Created new DynamicBackendUtils class
* Added OpenHandle, CloseHandle, GetEntryPoint and GetDlError methods to it
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I88c683b2c5d37968a9ebdf335be932ae2d9061e5
James Conroy [Wed, 17 Jul 2019 10:27:46 +0000 (11:27 +0100)]
IVGCVSW-3469 Add front end for Quantized LSTM layer
* Added new layer QuantizedLstm (Android Q)
* Made necessary changes to APIs
* Added unit tests
Change-Id: I3b9f16b0e7e49f51932cf204c87cb7118798123a
Signed-off-by: James Conroy <james.conroy@arm.com>
Teresa Charlin [Thu, 18 Jul 2019 15:23:58 +0000 (16:23 +0100)]
IVGCVSW-3476 Add InferOutputShapes unit tests for convolution workloads
* Convolution2d, DepthwiseConvolution2d & TransposeConvolution2d
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I2490c684765d8c7349183572f46e86c201b8eefd
Rob Hughes [Tue, 23 Jul 2019 14:37:19 +0000 (15:37 +0100)]
Fix various uses of non-standard C++:
* Replace u_int32_t with uint32_t
* Replace size_t with uint32_t for initializer list of TensorInfo
* Replace variable size arrays with std::vector
* Replace reference to local variable during its initialisation
Change-Id: I298b3995f1525f90a1ab2416d7e270315698fae3
Rob Hughes [Tue, 23 Jul 2019 14:34:01 +0000 (15:34 +0100)]
Add DLL copy commands for armnnTfLiteParser.dll
Change-Id: Ibf4448bc898d2265ddba1be038d8ebc757bcdc2e
Rob Hughes [Tue, 23 Jul 2019 14:33:39 +0000 (15:33 +0100)]
NNXSW-1697 Remove use of SubgraphView that may become invalid.
The mainSubgraph variable held references to layers in the optimised
graph that become invalid when a graph substitution is made.
The fix is to always use the optimised graph itself rather than a
view of it. The view served no purpose anyway.
Change-Id: Iad75f5829597ec43a774cfd7f2e5e7dede09dfa4
SiCong Li [Thu, 18 Jul 2019 15:33:42 +0000 (16:33 +0100)]
Fix and clean up ImageTensorGenerator
* Fix the issue that uint8_t image tensors are written out as
characters.
* Add doxygen comments.
Signed-off-by: SiCong Li <sicong.li@arm.com>
Change-Id: Ic5b3af489f405abcc1ed1e7dd76f56c5ae7ffbf4
Jan Eilers [Wed, 17 Jul 2019 10:07:49 +0000 (11:07 +0100)]
IVGCVSW-3526 Add layer norm support for lstm serialization
* Adds layer norm support for serialization/deserialization
* Adds related unit tests
Change-Id: If80b668accc8b0754a93d18ab3a243284cb383d1
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Francis Murtagh [Tue, 23 Jul 2019 08:50:50 +0000 (09:50 +0100)]
IVGCVSW-3536 Add Axis parameter to reference Softmax implementation
* Add Axis parameter to Softmax Descriptor
* Add new reference implementation for Softmax using Axis parameter
* Add unit tests to cover each Axis
Change-Id: Iafac2275d2212337456f2b1b56b0f76f77fb9543
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Aron Virginas-Tar [Mon, 22 Jul 2019 14:30:22 +0000 (15:30 +0100)]
IVGCVSW-3548 Use BuildArmComputePadStrideInfo() in CL and NEON convolution workloads
* Refactoring: use existing utility function for creating arm_compute::PadStrideInfo
objects in CL and NEON convolution workloads instead of duplicating code
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Id5e5a0f264e20af99dabce8dd8c6b782dedb94e6
Mike Kelly [Mon, 22 Jul 2019 13:55:51 +0000 (14:55 +0100)]
Github #229 Remove unused include
* experimental/filesystem is unavailable in some versions of LLVM
Change-Id: I0136bc911f2607561e8000fe9fa7c07f480554b6
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Matthew Jackson [Mon, 22 Jul 2019 12:53:24 +0000 (13:53 +0100)]
IVGCVSW-3368 Add reference support for depthwise multiplier > 3
* Remove multiplier check in TfLite parser
* Add reference unit test for depthwise multipler of 64, as in DeepSpeaker
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I787339ab4c4d269333985353d191202d070906ba
Matthew Jackson [Thu, 18 Jul 2019 09:47:03 +0000 (10:47 +0100)]
IVGCVSW-3383 - Add TfLite Parser support for L2 Normalization layer
* Added ParseL2Normalization in TfLiteParser
* Added new unit tests L2Normalization.cpp
* Added documentation for supported L2 Normalization to TensorflorLiteSupport.md
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I83ea75d1791ac8a00390aed3e5d0a7b337fcd46d
Aron Virginas-Tar [Fri, 19 Jul 2019 10:37:10 +0000 (11:37 +0100)]
IVGCVSW-3311 Refactor Validate() methods in WorkloadData.cpp
* Use ValidateTensorDataTypesMatch() instead of ValidateDataTypes() to
check whether two tensors have the same DataType
* Use const TensorInfo& aliases for tensor infos checked in multiple
places
* Use a const std::string& alias for the descriptorName instead of
using string literals throughout the code
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ie59db29b74d8b75bf07c5a6944f65f5e186cf8db
Nikhil Raj [Mon, 22 Jul 2019 10:27:29 +0000 (11:27 +0100)]
IVGCVSW-3481 Add End to End test for Prelu in the Neon backend
Change-Id: I3061fa980fccdfb358ebfaf2870b57b110ed182e
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Nikhil Raj [Mon, 22 Jul 2019 09:13:22 +0000 (10:13 +0100)]
IVGCVSW-3480 Add End to End test for Prelu in the CL backend
Change-Id: Iefa78dc4c3f9d3075a8b91794eb4cf469268d946
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Nikhil Raj [Fri, 19 Jul 2019 14:15:23 +0000 (15:15 +0100)]
IVGCVSW-3479 Add End to End test for Prelu
Change-Id: I041bdf9e721a4384ea3c2be0184787dd1f4ea08e
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
FinnWilliamsArm [Thu, 18 Jul 2019 10:15:42 +0000 (11:15 +0100)]
IVGCVSW-3453 Fix VTS quant_output_multiplier_gt_1 test failures
* Remove ValidateTensorQuantizationMultiplier
* Update CL pin to COMPMID-2336
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: Iaece5b564134f7ec91f82cb246bcb10ad455999d
Ellen Norris-Thompson [Mon, 15 Jul 2019 13:23:30 +0000 (14:23 +0100)]
IVGCVSW-3297 Add Neon backend support for ResizeNearestNeighbour
* Renamed NeonResizeBilinearWorkload.* to NeonResizeWorkload.* and added support for ResizeNearestNeighbour
* Added CreateWorkload and LayerTests for Neon backend
Signed-off-by: Ellen Norris-Thompson <ellen.norris-thompson@arm.com>
Change-Id: I72f5340608a0928f8b32a41d1915ee2c35849f18
Matthew Jackson [Tue, 16 Jul 2019 10:39:21 +0000 (11:39 +0100)]
IVGCVSW-3423 Add TfLite parser support for Stack (Pack) layer
* Added ParsePack method
* New unit test Pack.cpp
* Updated TensorFlowLiteSupport.md with new supported operator
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I2310b33ee26959b036bb4452a25c90cc1d4cbf20
Matthew Jackson [Thu, 11 Jul 2019 11:07:09 +0000 (12:07 +0100)]
IVGCVSW-3419 Add reference workload support for the new Stack layer
* Added reference workload for the Stack layer
* Added factory methods
* Added validation support
* Added unit tests
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: Ib14b72c15f53a2a2ca152afc357ce2aa405ccc88
Aron Virginas-Tar [Tue, 16 Jul 2019 15:34:10 +0000 (16:34 +0100)]
Remove unnecessary include from ClResizeWorkload.cpp
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I5c8f6d08653646d99f839ceca11931e3be0467d8
SiCong Li [Thu, 11 Jul 2019 11:02:45 +0000 (12:02 +0100)]
MLCE-103 Clean up ModelAccuracyTool and ImageTensorGenerator
* Fix ImageTensorGenerator command line options
* Update ModelAccuracyTool README
* Update ImageTensorGenerator README
Signed-off-by: SiCong Li <sicong.li@arm.com>
Change-Id: I19e573f2b4aa0d7ecab63dc3886a66aa9d8724bc
Ferran Balaguer [Wed, 10 Jul 2019 11:43:58 +0000 (12:43 +0100)]
IVGCVSW-3478 Refactor armnn to make new Lstm parameters available in android-nn-driver through ILayerSupport.h
!android-nn-driver:1506
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: Ia9904bd355c72a84f07d0a26faf143a4d6aead9c
Matthew Jackson [Thu, 11 Jul 2019 14:54:20 +0000 (15:54 +0100)]
IVGCVSW-3420 Add Serialization support for the new Stack layer
* Adds serialization/deserialization support
* Adds related unit test
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I69deb5397b8a06c679715e24971e9bb1c282140d
Nikhil Raj [Mon, 15 Jul 2019 12:38:37 +0000 (13:38 +0100)]
IVGCVSW-3513 Update CL pin that fixes impl_base.hpp not found issue
!android-nn-driver:1546
Change-Id: I2b6ca7843aa66cafcbdbf7acd9b2ab9b306c75eb
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Nikhil Raj [Mon, 15 Jul 2019 14:08:22 +0000 (15:08 +0100)]
IVGCVSW-3519 Refactor TransposeConvolution2dWorkload for CL backed
Change-Id: I2c458499b05b16f71decd09e6b642ce3725623fc
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Matthew Bentham [Fri, 12 Jul 2019 16:26:57 +0000 (17:26 +0100)]
Github #226 Use correct paths returned by FindBoost.cmake
According to the documentation in FindBoost.cmake these
are the correct output variables.
Change-Id: If56874aaafe1577888f73719f0a493088d1ac531
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Jan Eilers [Fri, 12 Jul 2019 09:46:33 +0000 (10:46 +0100)]
IVGCVSW-3495 Refactor names of convolution2d unit tests
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Idb1325cba730dbf62b4742e4078220ef97d4b526
SiCong Li [Mon, 24 Jun 2019 15:03:33 +0000 (16:03 +0100)]
MLCE-103 Add necessary enhancements to ModelAccuracyTool
* Evaluate model accuracy using category names instead of numerical
labels.
* Add blacklist support
* Add range selection support
Signed-off-by: SiCong Li <sicong.li@arm.com>
Change-Id: I7b1d2d298cfcaa56a27a028147169404b73580bb
Matthew Jackson [Fri, 12 Jul 2019 08:37:18 +0000 (09:37 +0100)]
IVGCVSW-3421 Add Quantizer support for the new Stack layer
* Implemented VisitStackLayer
* Added unit test for Stack layer quantization
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I6f708543711c3600fa6c78d6d1f41ef14bbb90bb
Matthew Bentham [Fri, 12 Jul 2019 15:44:29 +0000 (16:44 +0100)]
Github #227 Remove unnecessary includes
Change-Id: I08640891a206b40da478fdaa7634e7a2f76784af
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Aron Virginas-Tar [Tue, 2 Jul 2019 16:25:47 +0000 (17:25 +0100)]
IVGCVSW-3296 Add CL backend support for ResizeNearestNeighbour
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I7f4c722141837939fd8904c52e75704a15c8a5e3
Jan Eilers [Thu, 11 Jul 2019 09:22:36 +0000 (10:22 +0100)]
IVGCVSW-3300 Add Neon backend support for dilated Convolution2d
* Update NeonConvolution2dWorkload
* Enable unit tests
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I1709e71e4944c5cbdcc99a003479c1fce45a612a
Aron Virginas-Tar [Thu, 11 Jul 2019 13:57:01 +0000 (14:57 +0100)]
Update ACL pin to
d473386e4d5e0edcf55e13a2bf3c422a23fac0de
* Includes fixes for ResizeNearestNeighbor on CL and NEON
!android-nn-driver:1523
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I959e43cab21dce10a9072320fada11fcb57d41f2